1 | TODO for macro/module system -*- Outline -*- |
---|
2 | |
---|
3 | * bugs |
---|
4 | ** modules |
---|
5 | *** code-duplication in compiler and evaluator for ##core#module |
---|
6 | *** syntax-definitions in modules |
---|
7 | transformers use ##sys#meta-macro-environment + unset ##sys#current-module, |
---|
8 | this may not be be sufficient (expansion assumes ids are imported in used |
---|
9 | context) [is this still relevant? we could simply reexport the ids used in |
---|
10 | in the expansion] |
---|
11 | *** "scheme" module does not include special forms ("define-syntax", etc.) |
---|
12 | |
---|
13 | * test |
---|
14 | ** reexports |
---|
15 | ** foreign module |
---|
16 | ** bootstrap |
---|
17 | ** line-number retention over macro-expansion |
---|
18 | |
---|
19 | * syntax-error |
---|
20 | ** if ##sys#current-module is set, add name to error message |
---|
21 | |
---|
22 | * modules |
---|
23 | ** checks |
---|
24 | *** redefinition of imported id |
---|
25 | *** reimport of imported id |
---|
26 | ** hide unexported module definitions |
---|
27 | ** create remaining import libraries |
---|
28 | ** let-string-start+end should go into srfi-14 import lib |
---|
29 | |
---|
30 | * update manual/NEWS |
---|
31 | ** hygienic macros |
---|
32 | ** modules |
---|
33 | ** import libraries |
---|
34 | ** expand unit (move stuff from eval) |
---|
35 | ** document extensions |
---|
36 | *** user defined ellipsis |
---|
37 | *** define-compiled-syntax |
---|
38 | *** modules |
---|
39 | ** ack synrules authors |
---|
40 | ** DSSSL lambda-lists work only with imported "chicken" module |
---|
41 | let-optionals, etc. |
---|
42 | ** removals |
---|
43 | *** "run-time" and "compile-time" situations for eval-when |
---|
44 | *** syntax |
---|
45 | define-foreign-record |
---|
46 | define-foreign-enum |
---|
47 | define-record |
---|
48 | define-macro |
---|
49 | *** compiler options |
---|
50 | -check-imports |
---|
51 | -emit-exports |
---|
52 | -import |
---|
53 | |
---|
54 | * build |
---|
55 | ** compile and install import libraries |
---|
56 | *** where? probably in repository... |
---|
57 | *** install import libs as .scm when it is a static build |
---|
58 | |
---|
59 | * csi |
---|
60 | ** describe should print if symbol is interned |
---|
61 | |
---|
62 | * compiler |
---|
63 | ** warn if encountering global ref to "unquote[-splicing]" |
---|
64 | |
---|
65 | * eggs to be adapted/obsoleted |
---|
66 | ** syntax-case (eval/expand integration?) |
---|
67 | *** sxml-match |
---|
68 | ** codewalk |
---|
69 | must probably go... influences modules, crunch |
---|
70 | ** remove |
---|
71 | modules |
---|
72 | ** syntactic-closures? |
---|
73 | ** simple-macros |
---|
74 | ** alexpander |
---|