
Hi all, I am exploring OOHaskell and ran into some compilation issues with some of the samples. I hope this is the right place to report it. For example "OCamlTutorial.hs" generates the following error: ../samples/OCamlTutorial.hs:98:3: Multiple declarations of `foo' Declared at: ../samples/OCamlTutorial.hs:54:1 ../samples/OCamlTutorial.hs:98:3 Failed, modules loaded: OOHaskell, Dynamic, Print, DeepNarrow, Nominal, New. This is happening because the "label" macro on line 98: $(label "varX") doesn't expand correctly and clashes with the "foo" function on line 54: foo f = f # field1 The "label" function is found in the Data.HList.MakeLabels module and should work this way according to the docs:
runQ (label "test") >>= putStrLn . pprint data Test deriving (Data.Typeable.Internal.Typeable) test = Data.HList.FakePrelude.proxy :: Data.HList.FakePrelude.Proxy Test
But I get: data Foo_0 deriving (Data.Typeable.Internal.Typeable) foo_1 = Data.HList.FakePrelude.proxy :: Data.HList.FakePrelude.Proxy Foo_0 This still doesn't cleanly explain why "OCamlTutorial.hs" is failing since it seems to be generating unique datatypes and functions by suffixing them with a number, but it seems to point to the problem. I'm hoping someone who knows HList better might understand it better. Thanks, -deech