
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 mechvel@botik.ru