[Template-haskell] TH bug again (GHC 6.4)
kyra
kyrab at mail.ru
Fri Apr 22 21:51:48 EDT 2005
If I simply try the following:
<genCG.hs>
{-# OPTIONS -fglasgow-exts #-}
module GenCG where
gdecls pbname pbniname = [d|
valGetter pbname = "Get" ++ pbniname
valSetter pbname = "Set" ++ pbniname
fldGetter pbname = "Get" ++ pbniname ++ "Field"
fldSetter pbname = "Set" ++ pbniname ++ "Field"
arrGetter pbname = "Get" ++ pbniname ++ "ArrayItem"
arrSetter pbname = "Set" ++ pbniname ++ "ArrayItem"
gvarGetter pbname = "Get" ++ pbniname ++ "GlobalVar"
gvarSetter pbname = "Set" ++ pbniname ++ "GlobalVar"
svarGetter pbname = "Get" ++ pbniname ++ "SharedVar"
svarSetter pbname = "Set" ++ pbniname ++ "SharedVar"
|]
</genCG.hs>
and
<spliceCG.hs>
{-# OPTIONS -fglasgow-exts #-}
module SpliceCG where
import GenCG
$(gdecls "integer" "Int")
$(gdecls "unsignedinteger" "Uint")
</spliceCG.hs>
GHC 6.4 simply crashes with the memory access error - GHC (windows) reports:
"The instruction at "0x00b9ad27" referenced memory at "0xff047687". The
memory could not be "read".
And again:
<spliceCG.hs>
{-# OPTIONS -fglasgow-exts #-}
module SpliceCG where
import GenCG
$(gdecls "integer" [| "Int" |])
</spliceCG.hs>
compiles just fine.
More information about the template-haskell
mailing list