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

Simon Peyton-Jones simonpj at microsoft.com
Tue Dec 21 12:05:14 EST 2004


Dear Template Haskell folk

I've now arranged that 

	nameBase (mkName "Foo.baz")    == "baz"
	nameModule (MkName "Foo.baz") == "Foo"

as you might expect.

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"?


There is no Haddock documentation to speak of in the TH libraries.
Would someone (Ian?) like to add some?

Simon


| -----Original Message-----
| From: Keean Schupke [mailto:k.schupke at imperial.ac.uk]
| Sent: 21 December 2004 15:31
| To: Simon Peyton-Jones
| Cc: template-haskell at haskell.org
| Subject: Re: [Template-haskell] Re: template-haskell names in 6.3
| 
| It won't make a difference right now, so you can leave it out for now,
| but I think it should work...
| 
| Keean.
| 
| Simon Peyton-Jones wrote:
| 
| >aha, that's a good question.
| >
| >Hmm.  It probably ought to work (though it won't today).  Would it
make
| >a difference?
| >
| >S
| >
| >| -----Original Message-----
| >| From: Keean Schupke [mailto:k.schupke at imperial.ac.uk]
| >| Sent: 21 December 2004 14:03
| >| To: Simon Peyton-Jones
| >| Cc: template-haskell at haskell.org
| >| Subject: Re: [Template-haskell] Re: template-haskell names in 6.3
| >|
| >| So does this work?
| >|
| >|     nameModule (mkName "Foo.Bar")
| >|
| >| Keean.
| >
| >
| >



More information about the template-haskell mailing list