Changes between Version 55 and Version 56 of AstRestructuring

Show
Ignore:
Timestamp:
12/19/08 23:16:45 (11 months ago)
Author:
sukyoungryu
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AstRestructuring

    v55 v56  
    11= AST Restructuring = 
    2 We are in the process of restructuring our [source:trunk/ProjectFortress/astgen/Fortress.ast AST]s.  This page includes a list of the guiding principles. 
    3 ---- 
    4 == To do == 
    5  * Do not make the number of fields unwieldy.  This would detract from the conciseness of pattern matching.  (Note `FnAbsDeclOrDecl` and `ObjectAbsDeclOrDecl` violate this dictum rather egregiously; not obvious if / how to solve this.  Perhaps we can at least pull out the fields these share in common in some way.) 
    6  * [Jan] Better match up / unify `LetExpr` and other declaration-level constructs.  Why is `LetExpr` done nesting-style, while local mutable variables, and variable bindings in traits, objects, and at component level are not? 
    7  * [Jan] Find a way to eliminate gratuitous metadata from enums. 
     2We have been restructuring our [source:trunk/ProjectFortress/astgen/Fortress.ast AST]s.  This page includes a list of the guiding principles. 
    83---- 
    94== Possible considerations == 
     5 * Better match up / unify `LetExpr` and other declaration-level constructs.  Why is `LetExpr` done nesting-style, while local mutable variables, and variable bindings in traits, objects, and at component level are not? 
    106 * `Juxt.multiJuxt` and `Juxt.infixJuxt` are used during type checking.  Restructure them.  (''After `FnRef`/`OpRef`/`_RewriteFnRef` settle down.'') 
    117 * Get rid of `_RewriteFnRef`. (''After the interpreter's rewriter is cleaned up.  [source:trunk/ProjectFortress/src/com/sun/fortress/interpreter/rewrite/DesugarerVisitor.java] treats `FnRef` so special.'') 
     
    2723== Done (These should remain true.) == 
    2824=== General principles === 
     25 * ~~Do not make the number of fields unwieldy.  This would detract from the conciseness of pattern matching.  (Note `FnAbsDeclOrDecl` and `ObjectAbsDeclOrDecl` violate this dictum rather egregiously; not obvious if / how to solve this.  Perhaps we can at least pull out the fields these share in common in some way.)~~ done in: r3246 
    2926 * ~~Remove optional fields.  Instead of providing default values to the optional fields, provide static methods with the default values.~~ done in: r3186, r3187, r3189~r3193, r3198~r3200, r3202, r3203, r3210 
    3027 * ~~Get rid of superclasses with one subclass (`FnDecl` etc.)~~ done in: r3077