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-6.8.2.20080527-src.tar.bz2 (`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-6.8.2.20080527 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 install.txt ( 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)..cl(k)] = decomposition of p to cycles Verify 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: [[True,True],[True,True],[True,True],[True,True],[True,True], [True,True],[True,True]] Integer factorization and List of primes test - sieve and other --- RESULT: [True,True] Properties and division in a residue ring Z/(b) - modelled as ResidueE Z: --- RESULT: [True,True] 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 instances. 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 do. 6.8.2 is correct here, and may27 maybe, confuses types or instances, I do not know. Regards, ----------------- Serge Mechveliani [EMAIL PROTECTED] _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users