GHC *is* resource hungry
Simon Peyton-Jones
simonpj at microsoft.com
Wed May 28 12:13:02 EDT 2003
| > GHC doesn't try to hash-cons types, because it usually doesn't
matter,
| > but I bet it does here.
|
| Would this be a major rewrite? [As an aside, a similiar problem showed
up
| when generating conversion functions for generic representation
types.]
I really don't know. Hash-consing is simple enough in principle, but
Shao suggests using de-bruijn notation to avoid gratuitous differences
between types. It's definitely not a routine matter.
S
|
| Cheers, Ralf
|
| > | -----Original Message-----
| > | From: glasgow-haskell-bugs-admin at haskell.org
| >
| > [mailto:glasgow-haskell-bugs-admin at haskell.org] On
| >
| > | Behalf Of Ralf Hinze
| > | Sent: 28 May 2003 15:32
| > | To: glasgow-haskell-bugs at haskell.org
| > | Subject: GHC *is* resource hungry
| > |
| > | Here is a harmless little program (no recursion, no data types)
| > | which GHC doesn't manage to compile (well, the kernel kills GHC
| > | after a while on a machine with generous 512MB of main memory
| > | and 1GB of swap space).
| > |
| > | > begin next = next id
| > | > leaf k i next = next (k i)
| > | > fork k next = next (\ t u -> k (t + u))
| > | > end x = x
| > | > main = print (begin fork fork fork fork fork fork fork fork fork
| >
| > fork leaf 0 leaf 0 leaf 0 leaf 0 leaf 0
| >
| > | leaf 0 leaf 0 leaf 0 leaf 0 leaf 0 leaf 0 end)
| > |
| > | Both Hugs and nhc98 accept it almost immediately.
| > |
| > | Cheers, Ralf
| > |
| > | _______________________________________________
| > | Glasgow-haskell-bugs mailing list
| > | Glasgow-haskell-bugs at haskell.org
| > | http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
|
More information about the Glasgow-haskell-bugs
mailing list