Fri Jan 18 07:10:16 PST 2008 [EMAIL PROTECTED]
* Support code for quasi-quotation feature
This patch supports the quasi-quotation feature. Here's the relevant
parts from the message in the big compiler patch:
Fri Jan 18 14:55:03 GMT 2008 [EMAIL PROTECTED]
* Add quasi-quotation, courtesy of Geoffrey Mainland
This patch adds quasi-quotation, as described in
"Nice to be Quoted: Quasiquoting for Haskell"
(Geoffrey Mainland, Haskell Workshop 2007)
Implemented by Geoffrey and polished by Simon.
...snip...
* There is an accompanying patch to the template-haskell library. This
involves one interface change:
currentModule :: Q String
is replaced by
location :: Q Loc
where Loc is a data type defined in TH.Syntax thus:
data Loc
= Loc { loc_filename :: String
, loc_package :: String
, loc_module :: String
, loc_start :: CharPos
, loc_end :: CharPos }
type CharPos = (Int, Int) -- Line and character position
So you get a lot more info from 'location' than from 'currentModule'.
The location you get is the location of the splice.
This works in Template Haskell too of course, and lets a TH program
generate much better error messages.
* There's also a new module in the template-haskell package called
Language.Haskell.TH.Quote, which contains support code for the
quasi-quoting feature.
M ./Language/Haskell/TH.hs -6 +6
A ./Language/Haskell/TH/Quasi.hs
M ./Language/Haskell/TH/Syntax.hs -16 +29
M ./template-haskell.cabal +1
_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries