Benjamin Pierce wrote:
OK, I'm taking the plunge and using Haskell in a course I'm teaching this
semester. To get ready, I've been doing quite a bit of Haskell programming
myself, and this has raised a few questions...
* 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?
I taught our FP class this fall using Hugs, but in the end wish that I
had used GHC. There are lots of little reasons for this, but a big one
was a problem with unpredictable space utilization. I don't have the
examples at my fingertips, but there were simple variations of the same
program that, by all common-sense reasoning, should have behaved in the
opposite way with respect to space than what they exhibited. Indeed,
the problem that you report in your "Sierpinkski Carpet" may likely be a
problem with Hugs, and not the graphics lib, and Jacob Nelson's message
seems to bear this out.
SOEGraphics, by the way, is built on top of HGL, a general graphics lib
written by Alastair Reid. At the time, it was the best option that we
had, but Alastair no longer has time to maintain it, although I believe
that Ross Paterson may be maintaining it now. In any case, SOEGraphics
has grown a big buggy with respect to portability across platforms and
compilers. I am about to update the SOE webpage with our current best
shot at a portable and bug-free version of this, but ultimately I'd like
to port everything over to something like wxHaskell.
-Paul