[Template-haskell] Re: template-haskell names in 6.3

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Wed Dec 22 17:35:09 EST 2004


On Tue, 2004-12-21 at 17:05 +0000, Simon Peyton-Jones wrote:
> There is a difference between the result of calling mkName, and a quoted
> name e.g 'map.  The former is dynamically bound and the latter is
> lexically bound.
> 
> Because there's a difference, I've made them print differently in the
> pretty printer
> 
> 	Foo.baz		for the dynamically bound one
> 	Foo:baz		for the lexically scoped one
> 
> This might break someone's code.  Maybe they should both print as
> "Foo.baz"?

Since lexically scoped is the normal situation perhaps it should get the
ordinary Foo.baz syntax and the dynamically bound variables should get
the other syntax.

Actually, for non-qualified variables there is still no syntactic
difference between dynamically and statically scoped ones so it begs the
question of why a syntactic difference is needed for the qualified case
(or perhaps if a syntactic difference in the non-qualified would be a
good idea).

Duncan



More information about the template-haskell mailing list