Changes between Version 8 and Version 9 of ExternalCore


Ignore:
Timestamp:
Dec 21, 2007 3:26:46 AM (6 years ago)
Author:
atomb
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ExternalCore

    v8 v9  
    5757== Design changes == 
    5858 
    59   * External Core originally parsed into a list of {{{TyClDecl}}} and a list of {{{IfaceBinding}}}. It now seems as though it might be better to replace the {{{IfaceBinding}}} with {{{LHsDecl}}}. This would require us to: 
    60     * Add a new data constructor for {{{HsBind}}}: {{{data HsBind id = ... | CoreBind id (ExtCore id)}}} 
    61     * Extend the renamer to rename {{{ExtCore RdrName}}} to {{{ExtCore Name}}} 
    62     * Extend the type checker to typecheck {{{ExtCore Name}}} to generate {{{ExtCore Id}}} 
    63     * Extend the desugarer to desugar {{{ExtCore Id}}} to {{{Core}}} 
    6459  * We probably want to represent all data types as GADTs, even if they can be represented in Haskell 98 form, so that we only have one representation. 
    6560 
    6661== Tasks == 
    6762 
    68   * Define an external text representation for External Core (which will probably be simply a minor modification of the old format) (mostly  done?) 
    69   * Update the External Core data type to be compatible with the current Core data type. (mostly done) 
    70   * Update {{{PprExternalCore.lhs}}} to print stuff that {{{LexCore}}} and {{{ParserCore}}} can understand. (mostly done) 
    71   * Update {{{MkExternalCore.lhs}}} to support both the current Core and the new External Core. (mostly done) 
    72   * Update the parser to recognize the new external syntax, generating an empty module at first. (partly done) 
    73   * Update the parser to generate LHsBind rather than IfaceBinding 
     63  * Complete external core type checker. 
     64  * Define an external text representation for External Core. 
     65  * Write pretty-printer for the new textual format. 
     66  * Write a parser for the new textual format. 
    7467  * Convert the current External Core documentation (in LaTeX) into a chapter (in XML) in the User's Guide. 
    7568