ANNOUNCE: GHC 6.8.3 Release Candidate

Serge D. Mechveliani mechvel at
Thu May 29 07:48:36 EDT 2008

On Thu, May 29, 2008 at 10:44:40AM +0100, Ian Lynagh wrote:
> Hi Serge,
> On Wed, May 28, 2008 at 10:28:58PM +0400, Serge D. Mechveliani wrote:
> > No,  ghc-  (`made' on Debian Linux, i686)
> > does not work.
> > See  DoCon-2.11.
> > It compiles  DoCon-2.11  with taking too much memory (> 300 Mb) and 
> > 3-4 times more of time than ghc-6.8.2.
> > And then, the test fails.
> Thanks for the feedback! Can you please send us complete instructions
> for reproducing the problem, along with the output that you are seeing?

Take the public  docon-2.11  (for example, from  www.haskell/ghc/docon/)
and follow its instruction  install.txt.

Let us call  ghc-  may27.

1) In  ghc-6.8.2,  it suffices  -M300m  to build, 
   and   may27  needs more -- change it to  -M700m -K99m  
   in  source/docon.cabal.
2) 6.8.2 builds DoCon 3 times faster.
3) The size of  libHSdocon-2.11.a  in 6.8.2 is about    14.2 Mb,
                                   in may27 it is about 16.7 Mb.
4) The module  RsePol_.hs  (close to the end of `make') takes 
   particularly long to compile.
5) Build and run  source/demotest/Main  as it is described in 
   ( cd source/demotest
     ghc $doconCpOpt --make Main
     ./Main  +RTS -M60m -RTS   
   ghc-6.8.2  runs it all right, and  may27  reports

Permutation group S = S(n)  

List all permutations p from S and test each p as follows
cG     = cyclicGroup(p)  in S(n)                         
cycles = [cl(1)] = decomposition of p to cycles   
  0 < card cG <= card S,                        
  cG is free of repetitions and contains unity, 
  composition of cycles   == p,                 
  lcM (map length cycles) == card cG.           
And for  n,  test  osetCard S == n!             
Do this all for  n <- [1..nN].   Here  nN = 7.  
--- RESULT: 

Integer factorization and List of primes test - sieve and other
--- RESULT: 

Properties and division in a residue ring  Z/(b)  
- modelled as ResidueE Z:                             
--- RESULT: 

Arithmetic in  P = Z[z,y,x]  and in  Z[x][y][z]. 
The isomorphism test for these domains:  verify      
(^n) == fromP .(^n) .toP                             
--- RESULT: 
Main: fromInteger   to (Pol ..):   use  fromi 

It breaks in the first half of the test.
The reason may be, for example, in different treatment of overlapping
As to the DoCon message    fromInteger   to (Pol ..):   use  fromi 
it means a run-time error: 
the code tries to make a polynomial :: (Pol _)  from an Integer value 
by applying  fromInteger,  while DoCon allows for this only the 
operation `fromi'.
Here  (^n)  in  fromP .(^n) .toP  
(in one of the test modules in  demotest/) is powering a polynomial to 
the degree  n :: Integer.  I am not sure, but the impression is that 
the code tries to convert  n  to the type (Pol _), which it must not 
6.8.2 is correct here, and  may27  maybe, confuses types or instances,
I do not know.


Serge Mechveliani
mechvel at


More information about the Glasgow-haskell-users mailing list