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