| > 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
