Benjamin Pierce wrote: > * What are the relative advantages of Hugs and GHC, beyond the obvious (Hugs > is smaller and easier for people not named Simon to modify, while GHC is a > real compiler and has the most up-to-date hacks to the type checker)? Do > people generally use one or the other for everything, or are they similar > enough to use Hugs at some moments and GHC at others? <snip> > * I wrote a little program for generating Sierpinkski Carpets, and was > astonished to find that it runs out of heap under Hugs (with standard > settings -- raising the heap size with -h leads to a happier result).
As one data point, I don't think "SOEGraphics" works with GHC or recent versions of Hugs (http://www.haskell.org/soe/graphics.htm). I also tried a modified version of your Sierpinkski carpet program (changed to spit out a PostScript file, since I don't have SOEGraphics). Hugs chokes without increasing the stack, while my copy of GHC 6.2.1 runs the program below quite fine, even without enabling optimizations. Greg Buchholz --Floating point PostScript version of Sierpinkski Carpet fillSquare x y s = putStr $ x1 ++ y2 ++ x1 ++ y1 ++ x2 ++ y1 ++ x2 ++ y2 ++ " box\n" where x1 = (show x) ++ " " x2 = (show (x+s)) ++ " " y1 = (show y) ++ " " y2 = (show (y+s)) ++ " " carpet x y s = if s < 1 then fillSquare x y s else let s' = s / 3 in do carpet x y s' carpet (x+s') y s' carpet (x+s'*2) y s' carpet x (y+s') s' carpet (x+s'*2) (y+s') s' carpet x (y+s'*2) s' carpet (x+s') (y+s'*2) s' carpet (x+s'*2) (y+s'*2) s' psPreamble = putStr $ "%!PS-Adobe-2.0\n" ++ "/box\n" ++ "{ newpath moveto lineto lineto lineto closepath fill}" ++ "def\n 0.05 setlinewidth\n" main = do psPreamble carpet 50 250 500 putStr "showpage\n" _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe