Changes between Initial Version and Version 1 of Ticket #14
- Timestamp:
- 05/25/09 23:36:24 (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #14 – description
initial v1 3 3 The typical example is Template Haskell's special treatment of $ident and $( ). In Haskell 98 there would be no difference between $ident and $ ident, i.e. the application operator followed by an identifier ident. With Template Haskell active, $ident is a splicing of the TH expression ident. 4 4 5 We obviously want to be able to handle both interpretations, and thus we must parametrize the parser on what extensions it should recognize during parsing. For instance, $ident would only be a TH splice if the TemplateHaskell extension was active.5 We obviously want to be able to handle both interpretations, and thus we must parametrize the parser on what extensions it should recognize during parsing. For instance, $ident would only be a TH splice if the !TemplateHaskell extension was active. 6 6 7 7 Some extensions can be handled at the level of the lexer, such as the TH splices. These are the simple ones. Other extensions must be deferred to the parser, such as MPTCs. These are far trickier since the Parser is written using happy. In these cases we need to first parse a rule, and then verify/massage the result of the parse into whatever form is appropriate.
