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.
participants (1)
-
kyra