<div>I suggest that you might think twice before you think it's a viable option</div>---------------------------<br>2. <b>Copy and paste, creating two new versions of the parser. </b>One<br>version will directly return Haskell abstract syntax for a Haskell<br>
pattern, and the other will return Haskell abstract syntax for an expression. <br><b>This is potentially a maintenance nightmare.</b><br>Furthermore, we lose a lot of the benefits of the type checker:<br>a value of type TH.ExpQ is Haskell abstract syntax for an<br>
expression, but knowing this tells us nothing about the type of<br>the Haskell expression represented by the abstract syntax. This<br>expression could be an Integer, a String or have any other<br>type—we know only that it is syntactically correct, not that it is<br>
type correct.<br><br>On Mon, Jan 28, 2013 at 11:31 AM, Leo White <<a href="mailto:lpw25@cam.ac.uk">lpw25@cam.ac.uk</a>> wrote:<br>>> This paper may help you understand how quasi-quotation is implemented<br>>> <a href="http://ipaper.googlecode.com/git-history/969fbd798753dc0b10ea9efe5af7773ff10f728a/Miscs/why-its-nice-to-be-quoted.pdf">http://ipaper.googlecode.com/git-history/969fbd798753dc0b10ea9efe5af7773ff10f728a/Miscs/why-its-nice-to-be-quoted.pdf</a><br>
><br>><br>> You only need the meta filter if you implement quotations using "option 1"<br>> (see Section 3.1 of the paper). "Option 2", which is what I described in my<br>> last post, works perfectly well without it.<br>
><br><br><br><br>-- <br>-- Regards, Hongbo