| > 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: [EMAIL PROTECTED]
| >
| > [mailto:[EMAIL PROTECTED] On
| >
| > | Behalf Of Ralf Hinze
| > | Sent: 28 May 2003 15:32
| > | To: [EMAIL PROTECTED]
| > | 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
| > | [EMAIL PROTECTED]
| > | http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
| 


_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to