Strange behavior when using stable names inside ghci?
Facundo Domínguez
facundominguez at gmail.com
Wed Jun 27 23:41:11 CEST 2012
Hi,
The program below when loaded in ghci prints always False, and when
compiled with ghc it prints True. I'm using ghc-7.4.1 and I cannot
quite explain such behavior. Any hints?
Thanks in advance,
Facundo
{-# LANGUAGE GADTs #-}
import System.Mem.StableName
import Unsafe.Coerce
import GHC.Conc
data D where
D :: a -> b -> D
main = do
putStr "type enter"
s <- getLine
let i = fromEnum$ head$ s++"0"
d = D i i
case d of
D a b -> do
let a' = a
sn0 <- pseq a'$ makeStableName a'
sn1 <- pseq b$ makeStableName b
print (sn0==unsafeCoerce sn1)
More information about the Glasgow-haskell-users
mailing list