-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
40 lines (37 loc) · 1.26 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
* TODO
- strings include \0 terminator
- expose alists?
- goto for blocks?
- need to distinguish current module to add to vs. current module running (i.e. method running -> class -> module)
- unify frame scheme; subsume scanner buffers, modules,whiles, blocks, method_calls
- short cut for "super": [<recvr> super: <sel> eval: <args>] => [[[[[[<recvr> instance-of] parent] instance-methods] at: <sel>] cdr] eval: <args>]
- extend error processing in modules
- exceptions?
- perhaps a shortcut for a sequence of exprs, eg. {{ ... }} for [{() ... } eval: ()]
- with indirect calling of methods, cannot assume type of receiver
- use GNU autobuild
- load init tbls, then unload
- avoiding duplicate strings?
- readline
- infinite-range integers
- cleaner root-set interface for modules
- complete methods
- complete error checking in methods
- get rid of class constants, replace with env lookups
- alloc/init split
- unevalled args?
- constants
- names starting with #
- names in env, inst vars
- Set class
- macros
- eval method, then eval result
- {{ }} syntax?
- class Macro, derived from Block?
- macros need unaevalled args?
- error handling
- distinguish parse error from EOF
- use flex EOF rule
- cleanup
- forward declarations
- refactoring, e.g. common code