RE: Re: template-haskell names in 6.3

"Simon Peyton-Jones" <[email protected]>
Newsgroups gmane.comp.lang.haskell.template
Message-ID <036EAC76E7F5EC4996A3B3C3657D41160138038C@EUR-MSG-21.europe.corp.microsoft.com>
Reasonable idea.  I've added

	nameModule :: Name -> Maybe String
to join the existing
	nameBase :: Name -> String

The 'Maybe' is needed because not all names  have modules; in
particular, ones that are made with mkName or newName.

OK?

Simon

| -----Original Message-----
| From: [email protected]
[mailto:[email protected]] On
| Behalf Of Keean Schupke
| Sent: 03 December 2004 11:00
| To: Simon Peyton-Jones
| Cc: [email protected]
| Subject: [Template-haskell] Re: template-haskell names in 6.3
| 
| Simon Peyton-Jones wrote:
| 
| Right... I had a good look through the library source, but must have
| missed it...
| It seems the functions to build and extract the 'module' part of Names
| is not
| exported... is there any reason why it can't be?
| 
|     Keean.
| 
| >Acutally it's there already:
| >	qCurrentModule :: Q String
| >
| >Simon
| >
| >| -----Original Message-----
| >| From: Keean Schupke [mailto:[email protected]]
| >| Sent: 02 December 2004 17:37
| >| To: Simon Peyton-Jones
| >| Subject: Re: template-haskell names in 6.3
| >|
| >| Simon Peyton-Jones wrote:
| >|
| >| Okay I want a globaly unique label, so I want to prepend the module
| >name
| >| to the string...
| >|
| >| module SomeLib.MyModule where
| >|
| >| $(label "myLabel") -- splices: myLabel = "SomeLib.MyModule.myLabel"
| >|
| >| I guess what I want is a reifyModuleName?
| >|
| >|     Keean.
| >|
| >| >| -----Original Message-----
| >| >| From: MR K P SCHUPKE [mailto:[email protected]]
| >| >| Sent: 22 October 2004 13:05
| >| >| To: [email protected]; Simon Peyton-Jones
| >| >| Subject: template-haskell names in 6.3
| >| >|
| >| >|
| >| >| I have now read most of the notes on template-haskell2, but I
still
| >| >| have a problem with naming (although I think my issues with
types
| >| >| are adequately dealt with by the '' notation.
| >| >|
| >| >| I wish to create a declaration in template haskell, where the
| >funtion
| >| >| name is supplied: something like:
| >| >|
| >| >| $(label "myLabel")
| >| >|
| >| >| However I wish the reference to this label to be globally
specific
| >| >| to the generated instance... an example of this would be a
function
| >| >| that prints its reified name:
| >| >|
| >| >| $(example "myLabel") would splice:
| >| >|
| >| >| myLabel :: String
| >| >| myLabel = "This_module.myLabel"
| >| >|
| >| >| mkName only returns the 'local' namem
| >| >| how can I get a global name from a string?
| >| >|
| >| >| Keean.
| >| >
| >| >
| >
| >
| 
| _______________________________________________
| template-haskell mailing list
| [email protected]
| http://www.haskell.org/mailman/listinfo/template-haskell
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.