
31 Oct
2007
31 Oct
'07
3:43 p.m.
Hi Thomas, On Wed, Oct 31, 2007 at 03:27:20PM -0400, Thomas Hartman wrote:
I have a situation where
... stuff...
$(expose ['setState, 'getState] f = SetState
compiles but
f = SetState $(expose ['setState, 'getState]
doesn't compile, with error: Not in scope: data constructor 'SetState.
Is this a bug?
Not if SetState is created by the splice or defined after the splice, no. GHC typechecks up to the splice before running the splice, and then continues typechecking everything past the splice afterwards. So if f is defined before the splice then it must typecheck without the results of the splice (or anything later in the file). Thanks Ian