If I simply try the following:
{-# 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"
|]
and
{-# OPTIONS -fglasgow-exts #-}
module SpliceCG where
import GenCG
$(gdecls "integer" "Int")
$(gdecls "unsignedinteger" "Uint")
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:
{-# OPTIONS -fglasgow-exts #-}
module SpliceCG where
import GenCG
$(gdecls "integer" [| "Int" |])
compiles just fine.