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

Last change on this file since 10788 was 10788, checked in by felix winkelmann, 13 years ago
  • added remaining import libraries
  • csi uses srfi-69 now to avoid bootstrapping problem
  • csi: renamed "-se" to "-sx"
  • global assigns get variable name in comment in generated C code
  • import libs are compiled to .so's (likely to be not complete for windoze builds - that would be too easy)
  • removed a lot of deprecated stuff
  • it really seems to work...
File size: 2.4 KB
Line 
1TODO 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** compiled import libs
16** syntax-export of srfi-14 module
17** hiding of non-exported module vars in compiler
18** def of exported module variables with defie-values
19** foreign module
20** bootstrap
21** line-number retention over macro-expansion
22
23* syntax-error
24** if ##sys#current-module is set, add name to error message
25
26* modules
27** checks
28*** redefinition of imported id
29*** reimport of imported id
30** hide unexported module definitions
31
32* update manual/NEWS
33** hygienic macros
34** modules
35** import libraries
36** expand unit (move stuff from eval)
37** document extensions
38*** user defined ellipsis
39*** define-compiled-syntax
40*** modules
41** removed deprecated stuff
42   [un]shift!
43   andmap ormap
44   byte-vector? byte-vector-fill!
45   make-byte-vector byte-vector
46   byte-vector-set! byte-vector-ref
47   byte-vector->list list->byte-vector
48   string->byte-vector byte-vector->string
49   byte-vector-length
50   make-static-byte-vector static-byte-vector->pointer
51   byte-vector-move! byte-vector-append!
52   set-file-position! set-user-id! set-group-id!
53   set-process-group-id!
54** ack synrules authors
55** DSSSL lambda-lists work only with imported "chicken" module
56   let-optionals, etc.
57** removals
58*** "run-time" and "compile-time" situations for eval-when
59*** syntax
60    define-foreign-record
61    define-foreign-enum
62    define-record
63    define-macro
64*** compiler options
65    -check-imports
66    -emit-exports
67    -import
68
69* build
70** compile and install import libraries
71*** where? probably in repository...
72*** install import libs as .scm when it is a static build
73
74* csi
75** describe should print if symbol is interned
76
77* compiler
78** warn if encountering global ref to "unquote[-splicing]"
79
80* eggs to be adapted/obsoleted
81** syntax-case (eval/expand integration?)
82*** sxml-match
83** codewalk
84   must probably go... influences modules, crunch
85** remove
86   modules
87** syntactic-closures?
88** simple-macros
89** alexpander
Note: See TracBrowser for help on using the repository browser.