diff options
author | Steve Bennett <steveb@workware.net.au> | 2010-01-24 12:44:43 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2010-10-15 11:02:44 +1000 |
commit | a230afdc68bcad14a9dfd0f9c8c6955980669cd6 (patch) | |
tree | 7f0824345c96818381a7e8c4f919d1aadce44322 /TODO | |
parent | 9652302fec62f76bf894c6b9eb849bda6994c293 (diff) | |
download | jimtcl-a230afdc68bcad14a9dfd0f9c8c6955980669cd6.zip jimtcl-a230afdc68bcad14a9dfd0f9c8c6955980669cd6.tar.gz jimtcl-a230afdc68bcad14a9dfd0f9c8c6955980669cd6.tar.bz2 |
Many improvements, bug fixes
*: Allow math functions to be enabled via configure
*: Allow support for references to be removed
*: Documentation updates
*: Jim_ListLength() now returns the result directly
*: Optimise list -> dict conversion
*: Consistent capitalisation of some structures, functions
*: Add support for abbreviations to Jim_GetEnum()
*: The commands to 'info' may be abbreviated
*: Use abbreviation support in parsing options to 'subst'
*: Use Jim_GetEnum() to parse return code names
*: Optimise 'array get', 'array set' if no conversion needed
*: Import Tcl string.test
*: string compare now returns -1,0,1 like Tcl
*: Fix 'string last' with index=0
*: Add support for 'string reverse'
*: Add -nocase option to 'string equal'
*: Fix infinite loop in 'string repeat str -1'
*: Support braced patterns in glob
*: glob should not return dot files unless the pattern starts with .
*: Simplify glob.tcl by using some new features
*: When creating C extensions from Tcl, preserve newlines and invoke
with Jim_Eval_Named() to produce more meaningful error messages.
*: Also remove all comments, not just those starting in the first column
*: Add support for 'n+n' and 'n-n' in string/list indexes (Tcl 8.5)
*: Add a level to the stack trace for 'return -code error'
*: 'return -code' should also affect the return from 'source' (see Tcl docs)
*: Fix lsort -command
*: Some systems don't have INFINITY
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 19 |
1 files changed, 11 insertions, 8 deletions
@@ -2,8 +2,6 @@ CORE LANGUAGE FEATURES CORE COMMANDS -- All the missing standard core commands not related to I/O, namespaces, ... -- More math functions in expr? - [onleave] command, executing something as soon as the current procedure returns. With no arguments it returns the script set, with one appends the onleave script. There should be a way to reset. @@ -26,28 +24,33 @@ SPEED OPTIMIZATIONS - Find a way to avoid interpolation/reparsing in "foo($bar)" tokens. See the "sieve" and "ary" bench performances, result of this problem. (to compare with sieve_dict is also useful.) + + * This is difficult considering the way tokens are parsed + - Experiment with better ways to do literal sharing. + + * Currently literal sharing is completely removed. Can it be made + efficient? What is the cost vs. benefit? + - Organize the 'script' object so that a single data structure is used for a full command, and interpolation is done using an 'interpolation token type' like JIM_TT_VAR and so on. This way there is no need to run the array of integer objects with the command structure. Also should help for better cache usage. -- Generate .c from Jim programs, as calls to the Jim API to avoid - the performance penality of Jim_EvalObj() overhead. In the future - try to generate the calls like a JIT emitting assembler from - Jim directly. IMPLEMENTATION ISSUES - Objects lazy free. + - Rewrite all the commands accepting a set of options to use Jim_GetEnum(). + - Every time an extension is loaded Jim should put the dlopen() (or win32 equivalent) handle in a list inside the interpreter structure. When the interpreter is freed all this handles should be closed with dlclose(). + - *AssocData() function should allow to specify a delProc C function like - in the Tcl API. When the interpreter is destroied all the delProc functions + in the Tcl API. When the interpreter is destroyed all the delProc functions should be called to free the memory before to free the interpreter. -- Convert dicts from lists directly without to pass from the string repr. REFERENCES SYSTEM |