Changes between Initial Version and Version 1 of Ticket #14

Show
Ignore:
Timestamp:
05/25/09 23:36:24 (5 years ago)
Author:
nibro
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #14 – description

    initial v1  
    33The 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. 
    44 
    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. 
     5We 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. 
    66 
    77Some 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.