Changeset 12314 in project for chicken/trunk


Ignore:
Timestamp:
10/30/08 12:23:22 (12 years ago)
Author:
felix winkelmann
Message:

updated TODO

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chicken/trunk/TODO

    r12301 r12314  
    22
    33
    4 * sort this document by order of importance
    5   bugs, tasks, tests, documentation, optimizations
     4* bugs
    65
    7 * bugs
    8 ** fprint benchmark crashes (base, out of heap) on 64-bit x86
    9    (even with debug info)
    106** compiler
    117*** pre-optimization
    128**** changes call-sites and makes them invalid for later pre-optimization
    139** expander
     10*** when import-libraries are used, reference to unexported syntax in exported syntax fails
     11    it seems that we have to add unexported syntax to the import lib, in case it is referenced
     12    from exported syntax. sigh.
    1413*** expansion of r5rs_pitfall 4.2 incorrect
    1514    possibly due to a non-aliased implicit "begin" somewhere
     
    3433    exists.
    3534
    36 * branches
    37 ** merge cmi branch and announce changes
    38 ** test irregular branch
    3935
    40 * expander
    41 ** at some stage disable debug-output in expand.scm
     36* tasks
    4237
    43 * compiler
    44 ** remove "custom-declare" + stuff?
     38** branches
     39*** test irregular branch, merge if performance is acceptable
     40
     41** expander
     42*** at some stage disable debug-output in expand.scm
     43
     44** module issues
     45*** code-duplication in compiler and evaluator for ##core#module
     46*** "scheme" module does not include some special forms ("define-syntax", etc.)
     47*** import-for-syntax imports value bindings into import-env
     48    should actually be a distinct meta-import-env.
     49    (does it work at all?)
     50*** curried define performs expansion in empty se - problem?
     51    (as comment in expand.scm indicated (##sys#register-export))
     52*** checks to be implemented
     53**** reimport of imported id
     54**** unused defs?
     55
     56** compiler
     57*** remove "custom-declare" + stuff?
     58
     59** setup/install
     60*** setup-download
     61**** use HTTP_PROXY env. var
     62**** handle redirects in http-fetch
     63
     64** library
     65*** read-mark list should be stored in read-table
     66
     67** syntax-error
     68*** if ##sys#current-module is set, add name to error message?
     69*** fluidly keep track of expanded forms (extend meaning of culprit) to pprint pruned expr on error
     70
     71** build
     72*** rules.make should really be generated by a script
     73*** need script to process import libraries for generating indices for doc.callcc.org
     74    then tell Toby about it
     75
     76
     77* tests
     78
     79** optional longer run (env. var)
     80*** syntax-rules-stress-test
     81*** fully compiled ec-tests
     82
     83
     84* documentation
     85
     86** document ("HI/LO") expander (-> wiki, internals)
     87   will we ever have the time for that?
     88** document new .meta entries in tutorials on wiki
     89   depends, test-depends
     90** chicken.texi needs to be regenerated
     91
    4592
    4693* optimizations
     94
    4795** allocation-estimation in conditionals should take max of both branches, not sum
     96
    4897** self-recursion optimization
    4998   what MacScheme called "benchmark-mode" (assume self-calls are recursion)
    5099*** needs declaration or option, >= -O2
     100
    51101** when inlining, consing arg-list with "list" may make get-keyword possible foldable
     102
    52103** local flow analysis
     104
    53105** lambda-fusion / "fuse-and-dispatch" (suggested by Alex)
    54106   convert groups of local lambdas referenced to only in operator-position into
     
    58110    [##core#dispatch LAMBDABODY1 ... BODY]
    59111    [##core#call/dispatch {INDEX} ARGUMENT1 ...}
     112
    60113** handle optional args primitively
    61114   for example, set to distinguished val (checking argc) on C level, core
     
    63116   (decompose-lambda-list) will be more expensive and cumbersome.
    64117
    65 * tests
    66 ** optional longer run (env. var)
    67 *** syntax-rules-stress-test
    68 *** fully compiled ec-tests
    69 
    70 * module issues
    71 ** code-duplication in compiler and evaluator for ##core#module
    72 ** "scheme" module does not include some special forms ("define-syntax", etc.)
    73 ** import-for-syntax imports value bindings into import-env
    74    should actually be a distinct meta-import-env.
    75    (does it work at all?)
    76 ** curried define performs expansion in empty se - problem?
    77    (as comment in expand.scm indicated (##sys#register-export))
    78 ** checks to be implemented
    79 *** reimport of imported id
    80 *** unused defs?
    81 
    82 * setup/install
    83 ** setup-download
    84 *** use HTTP_PROXY env. var
    85 *** handle redirects in http-fetch
    86 
    87 * library
    88 ** read-mark list should be stored in read-table
    89 
    90 * runtime
    91118** pre-hashed symbols (extra symbol slot)
    92119   The memory usage should be acceptable, performance gain is hard to guess.
     
    94121   but low-level hashtables should get the most of this (and thus speed up
    95122   the compiler)
    96 
    97 * benchmarks
    98 ** add more realistic benchmarks
    99 
    100 * documentation
    101 ** document ("HI/LO") expander (-> wiki, internals)
    102    will we ever have the time for that?
    103 ** document new .meta entries
    104    depends, test-depends
    105 
    106 * build
    107 ** chicken.texi needs to be regenerated
    108 ** rules.make should really be generated by a script
    109 
    110 * syntax-error
    111 ** if ##sys#current-module is set, add name to error message?
    112 ** fluidly keep track of expanded forms (extend meaning of culprit)
    113    to pprint pruned expr on error
    114 
    115 * infrastructure
    116 ** need script to process import libraries for generating indices for doc.callcc.org
    117    then tell Toby about it
Note: See TracChangeset for help on using the changeset viewer.