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

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to