aio recvfrom was not null terminating the result
[jimtcl.git] / TODO
blobdf2e3f900f32808817749f93a4651ce3e71d266c
1 CORE LANGUAGE FEATURES
3 CORE COMMANDS
5 - [onleave] command, executing something as soon as the current procedure
6   returns. With no arguments it returns the script set, with one appends
7   the onleave script. There should be a way to reset.
9   Currently we have [local] which can be used to delete procs on proc exit.
10   Also try/on/finally. Is [onleave] really needed?
12 OTHER COMMANDS NOT IN TCL BUT THAT SHOULD BE IN JIM
14 - Set commands: [lunion], [lintersect], and [ldifference]
16 EXTENSIONS
18 - OOP system
19 - Cryptography: hash functions, block ciphers, strim ciphers, PRNGs.
20 - Tuplespace extension (http://wiki.tcl.tk/3947) (using sqlite as backend)
21 - Zlib
22 - Gdlib
23 - CGI (interface compatible with ncgi, but possibly written in C for speed)
25 SPEED OPTIMIZATIONS
27 - Experiment with better ways to do literal sharing.
29   * Currently literal sharing is completely removed. Can it be made
30     efficient? What is the cost vs. benefit?
32 - Organize the 'script' object so that a single data structure is
33   used for a full command, and interpolation is done using an
34   'interpolation token type' like JIM_TT_VAR and so on.
35   This way there is no need to run the array of integer objects
36   with the command structure. Also should help for better cache usage.
38 IMPLEMENTATION ISSUES
40 - Objects lazy free.
42 - Rewrite all the commands accepting a set of options to use Jim_GetEnum().
44   - Many have been done.
46 - Every time an extension is loaded Jim should put the dlopen() (or win32
47   equivalent) handle in a list inside the interpreter structure. When
48   the interpreter is freed all this handles should be closed with dlclose().
50 REFERENCES SYSTEM
52 - Unify ref/getref/setref/collect/finalize under an unique [ref] command.
54 RANDOM THINGS TO DO ASAP
56 - .jimrc loading, using the ENV variable