[jhc] How newStablePtr return un-packable IO ()?

Kiwamu Okabe kiwamu at debian.or.jp
Wed Jun 5 06:59:03 CEST 2013

Hi, jhc hackers.

Now, I am trying create forkOS with  pthread.
But StablePtr error stops it.
Jhc's newStablePtr cannot pack IO () for running with unpack.

$ cat Main.hs
import Foreign.StablePtr

main :: IO ()
main = do
  p <- newStablePtr $ print "hoge"
  d <- deRefStablePtr p
casper$ ajhc Main.hs
ajhc Main.hs
ajhc (b6d58e95e63be9848f267e9242dedff5e5f7b25b)
Finding Dependencies...
Using Ho Cache: '/home/kiwamu/.ajhc/cache'
Main                    [Main.hs] <~/.ajhc/cache/c41ljd5d48u6h86r9ap27k0vq2.ho>
Fresh: <~/.ajhc/cache/c41ljd5d48u6h86r9ap27k0vq2.ho>
Collected Compilation...
-- TypeAnalyzeMethods
-- BoxifyProgram
-- Boxy WorkWrap
-- LambdaLift
Converting to Grin...
Updatable CAFS: 0
Constant CAFS:  0
Recursive CAFS: 0
ajhc: Grin.FromE.compile'.ce in function: theMain
can't grok expression: <fromBang_ x128471745∷IO ()> x62470114

How newStablePtr return un-packable IO ()?
Best regards,
Kiwamu Okabe

More information about the jhc mailing list