osdir.com
mailing list archive

Subject: RE: GHC *is* resource hungry - msg#00064

List: lang.haskell.glasgow.bugs

Date: Prev Next Index Thread: Prev Next Index
I'm not sure it's the type inference so much as the type abstractions
and applications. But yes, your point is a good one

S

| -----Original Message-----
| From: glasgow-haskell-bugs-admin@xxxxxxxxxxx
[mailto:glasgow-haskell-bugs-admin@xxxxxxxxxxx] On
| Behalf Of Simon Marlow
| Sent: 28 May 2003 18:03
| To: Simon Peyton-Jones; Ralf Hinze
| Cc: GHC bugs
| Subject: RE: GHC *is* resource hungry
|
| As far as I know, Hugs doesn't hash-cons types, yet it manages to
| typecheck these pathalogical examples in reasonable time/space. I
| vaguely recall there being a specific modification to Hugs's
typechecker
| to handle this, but I can't remember what it was.
|
| Cheers,
| Simon
|
| > -----Original Message-----
| > From: glasgow-haskell-bugs-admin@xxxxxxxxxxx
| > [mailto:glasgow-haskell-bugs-admin@xxxxxxxxxxx] On Behalf Of
| > Simon Peyton-Jones
| > Sent: 28 May 2003 15:57
| > To: Ralf Hinze
| > Cc: GHC bugs
| > Subject: RE: GHC *is* resource hungry
| >
| > I bet it's massive types. Translate the program into system
| > F and see.
| > (I remember this came up when looking at Okasaki's sequences of code
| > combinators.)
| >
| > GHC doesn't try to hash-cons types, because it usually doesn't
matter,
| > but I bet it does here.
| >
| > S
| >
| > | -----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
| >
| >
| > _______________________________________________
| > Glasgow-haskell-bugs mailing list
| > Glasgow-haskell-bugs@xxxxxxxxxxx
| > http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
| >
| >
| _______________________________________________
| Glasgow-haskell-bugs mailing list
| Glasgow-haskell-bugs@xxxxxxxxxxx
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Was this page helpful?
Yes No
Thread at a glance:

Previous Message by Date: click to view message preview

GHC 6.1 TH panic!

$ ghci -package haskell-src -fglasgow-exts ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.1, for Haskell 98. / /_\\/ __ / /___| | http://www.haskell.org/ghc/ \____/\/ /_/\____/|_| Type :? for help. Loading package base ... linking ... done. Loading package haskell98 ... linking ... done. Loading package haskell-src ... linking ... done. Prelude> runQ [| 20# |] >>= print <interactive>:1: Variable not in scope: `runQ' Prelude> :m Language.Haskell.THSyntax Prelude Language.Haskell.THSyntax> runQ [| 20# |] >>= print LitExp (IntPrimLit 20) Prelude Language.Haskell.THSyntax> let decl = reifyDecl head c:\lang\ghc\bin\ghc.exe: panic! (the `impossible' happened, GHC version 6.1): dsReify reifyDecl GHCziList.head {- v r1xG -} Please report it as a compiler bug to glasgow-haskell-bugs@xxxxxxxxxxx, or http://sourceforge.net/projects/ghc/.

Next Message by Date: click to view message preview

RE: Removing greencard from project list

> I'd like to remove greencard from the list of projects that > can get built if > you 'make' in fptools. > > I see a list AllProjects which include 'green-card' in > fptools/mk/config.mk.in > Is this the bit I need to edit? > It looks plausible but I'm not certain. Yes, that should work. Why would you want to do that, though? Is it just the difficulty of maintaining two parallel Makefile setups? I found it useful to be able to build greencard in my source tree when I was testing your X11 library the other day. I did have to fiddle around quite a bit to make it work though. Cheers, Simon

Previous Message by Thread: click to view message preview

Re: GHC *is* resource hungry

> As far as I know, Hugs doesn't hash-cons types, yet it manages to > typecheck these pathalogical examples in reasonable time/space. I > vaguely recall there being a specific modification to Hugs's typechecker > to handle this, but I can't remember what it was. Ahem, what do you mean by `pathalogical examples'? This is my brandnew DSL for constructing trees ... Seriously, I think Hugs does not run into this problem simply because it does not use System Fomega for intermediate representation. It's the type arguments that kill GHC. On the other hand, the program is not that big to justify >1.5GB space. Cheers, Ralf

Next Message by Thread: click to view message preview

Removing greencard from project list

I'd like to remove greencard from the list of projects that can get built if you 'make' in fptools. I see a list AllProjects which include 'green-card' in fptools/mk/config.mk.in Is this the bit I need to edit? It looks plausible but I'm not certain. -- Alastair
Sign up for updates to this mailing list. email:
Loading Comments...
Home | News | Patents | Sitemap | FAQ | advertise

Advertising by