source: project/chicken/branches/hygienic/TODO @ 11967

Last change on this file since 11967 was 11967, checked in by felix winkelmann, 13 years ago

updated TODO list

File size: 3.0 KB
Line 
1TODO for macro/module system                                    -*- Outline -*-
2
3* trunk merge
4  11635 was last
5
6* macros
7** at some stage disable debug-output in expand.scm
8
9* bugs
10** compiler
11*** pre-optimization
12**** changes call-sites and makes them invalid for later pre-optimization
13** macros
14*** expansion of r5rs_pitfall 4.2 incorrect
15    possibly due to a non-aliased implicit "begin" somewhere
16*** dirty-macros.scm loops when using `defile'
17    possibly due to unrenamed special forms
18** modules
19*** chicken.import.scm refers to ##sys#chicken-macro-environment
20    ... which is only set, if chicken-more-macros.scm is loaded, which
21    is of course not the case inside a compiled executable (current
22    workaround is to set them to nil by default)
23*** same for ##sys#chicken-ffi-macro-environment
24*** re-exports of syntax doesn't work
25    generating import library requires source
26    (compiled-module-registration), but original module is lost after
27    importing. Can we simply pull expander closure out of module from which
28    we imported?
29*** `require-extension' fails in interpreter when extension is .so without import library
30    probably because load and import is in same toplevel form, and the
31    load is performed after the import (at runtime). A possibly fix
32    would be to load the extension immediately (at
33    compile-/expansion-time), when import is #t and o import lib
34    exists.
35
36* tests
37** optional longer run (env. var)
38*** syntax-rules-stress-test
39*** fully compiled ec-tests
40
41* module issues
42** code-duplication in compiler and evaluator for ##core#module
43** "scheme" module does not include some special forms ("define-syntax", etc.)
44** import-for-syntax imports value bindings into import-env
45   should actually be a distinct meta-import-env.
46   (does it work at all?)
47** curried define performs expansion in empty se - problem?
48   (as comment in expand.scm indicated (##sys#register-export))
49
50* setup/install
51** setup-download
52*** HTTP_PROXY
53*** handle redirects in http-fetch
54*** connect timeout and alternative download location
55*** only download tests on demand (-test option)
56**** implemented - test
57** chicken-install
58*** handle needs/depends of builtin extension
59*** should cache extension-info
60    necessary?
61** henrietta
62*** parameter "tests=BOOL" controls whether tests should be downloaded
63**** implemented - test
64
65* documentation
66** document ("HI/LO") expander (-> wiki, internals)
67** document new .meta entries
68   depends, test-depends
69
70* build
71** chicken.texi needs to be regenerated
72
73* syntax-error
74** if ##sys#current-module is set, add name to error message?
75** fluidly keep track of expanded forms (extend meaning of culprit)
76   to pprint pruned expr on error
77
78* modules
79** checks
80*** reimport of imported id
81*** unused defs?
82
83* eggs
84** numbers
85   segfaults - something wrong with finalization, may be related to
86   warning on compilation
87   (might be fixed with force-finalizers not imported - test with optimizations on)
88** test sassy (needs henrietta+test thing!, also convert to proper module)
89** port javahack
Note: See TracBrowser for help on using the repository browser.