[jhc] bug report: "Alias still

David Roundy roundyd at physics.oregonstate.edu
Thu Sep 3 12:43:27 EDT 2009


Hi all, I'm getting the following compile error:

Converting to Grin...
Found 2 CAFs to convert to constants, 0 of which are recursive.
Recursive

Constant
theMain$10 v-1282411543 &(CControl.CoolConcurrent.Thread &(CInt# 0)
&(P3_theMain$8))
theMain$11 v-1297615895 &(CControl.CoolConcurrent.TS 0 0
&(CControl.CoolConcurrent.Thread &(CInt# 0) &(P3_theMain$8)) &(CQ.Q
&[] &[]))
CAFS

Alias still exists: ELit (Control.CoolConcurrent.TID (EVar (x51::ELit
(Jhc.Prim.Int::ESort *)))::ELit (Jhc.Prim.Int::ESort *))

You can (hopefully?) reproduce this error by darcs getting my
repository and compiling the demo:

darcs get http://abridgegame.org/concurrency
jhc demo.hs

I believe this is vanilla Haskell code that ought to compile just
fine.  It does hide parts of the Prelude, but I don't see how that
could be involved.  For the curious, I started experimenting with a
pure-Haskell implementation of concurrency.  It looks feasible,
although I haven't yet implemented any blocking IO using non-blocking
primitives (which is often the whole point of concurrency).  Of
course, once the FFI is involved, we may want to involve the compiler,
since any FFI call may block--and thus might be advisable to run in a
separate thread.  But that's not an issue for any of my applications.
-- 
David Roundy


More information about the jhc mailing list