logo       

RE: GHC *is* resource hungry: msg#00057

lang.haskell.glasgow.bugs

Subject: RE: GHC *is* resource hungry

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


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise