compiler errors/bugs with transformers
Hello, I have built the latest version of transformers package (so no multi-parameter type-classes) with the latest darcs version of jhc. When I "run" my monad transformer stack in main (and escape back into IO) I get an error message, I've attached a simplified example which reproduces the bug, I get the message: jhc: getType: EPi (x34075924::ELit (Jhc.Prim.Int::EPi (_::ESort *) (ESort *))) (ELit ((#2#) (ELit (Jhc.Prim.World__::ESort #)) (ELit (Jhc@.Absurd.*::ESort *))::ESort #)) If I use a records with foreign pointers for StateT/ReaderT and use get/ask I get 100s of error messages starting with: Typechecking... Compiling... Collected Compilation... -- typeAnalyzeMethods
Exception thrown
Before typeAnalyze-Main-AfterMethod theMain :: Jhc.Prim.World__ → Jhc.Prim.World__ theMain = λv1∷Jhc.Prim.World__. Jhc.IO.runMain () Main.main v1
Instance@.iJhc.Num.toInteger.Data.Word.Word32 :: Data.Word.Word32 → Integer Instance@.iJhc.Num.toInteger.Data.Word.Word32 = λv1∷Data.Word.Word32. case v1 of Word32# (v3∷bits32) → case W@.fInstance@.iJhc.Num.toInteger.Data.Word.Word32 v3 of v4∷bits<max> → Integer# v4;; Instance@.iForeign.Storable.poke.Graphics.UI.SDL.Color.Color :: Jhc.Addr.Ptr Graphics.UI.SDL.Color.Color → Graphics.UI.SDL.Color.Color → Jhc.Prim.IO () Instance@.iForeign.Storable.poke.Graphics.UI.SDL.Color.Color = λv1∷Jhc.Addr.Ptr Graphics.UI.SDL.Color.Color. λv2∷Graphics.UI.SDL.Color.Color. λv3∷Jhc.Prim.World__. case v2 of Graphics.UI.SDL.Color.Color (v5∷Data.Word.Word8) (v6∷Data.Word.Word8) (v7∷Data.Word.Word8) → W@.fInstance@.iForeign.Storable.poke.Graphics.UI.SDL.Color.Color v1 v5 v6 v7 v3; Jhc.Monad.=<< :: ∀f0∷* → *.∀a.∀b. (a → f0 b) → f0 a → f0 b Jhc.Monad.=<< = Λf0∷* → *.Λa.Λb.λJhc.Monad.97_f∷a → f0 b.λJhc.Monad.98_x∷f0 a. Jhc.Monad.>>= f0 a b Jhc.Monad.98_x Jhc.Monad.97_f Foreign.C.String.peekCAString :: Jhc.Addr.Ptr Foreign.C.Types.CChar → Jhc.Prim.IO String Foreign.C.String.peekCAString = λv1∷Jhc.Addr.Ptr Foreign.C.Types.CChar. λv2∷Jhc.Prim.World__. case v1 of Jhc.Addr.Ptr (v4∷bits<ptr>) → W@.fForeign.C.String.peekCAString v4 v2; Jhc.IO.runMain :: ∀a. Jhc.Prim.IO a → Jhc.Prim.World__ → Jhc.Prim.World__ Jhc.IO.runMain = Λa.λJhc.IO.74_main∷Jhc.Prim.IO a.λJhc.IO.75_w∷Jhc.Prim.World__. case Jhc.IO.74_main Jhc.IO.75_w of (# v2∷Jhc.Prim.World__, v3∷a #) → v2; ... .... ...
participants (1)
-
Korcan Hussein