logo       

[Template-haskell] TH bug again (GHC 6.4): msg#00113

lang.haskell.glasgow.bugs

Subject: [Template-haskell] TH bug again (GHC 6.4)

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.


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise