aboutsummaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-01-24 12:00:22 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:43 +1000
commit2ae1c01c1b0b7d24fa2eeff3545b375d25c18c66 (patch)
treed37b63d50fea502fe61b98943ca380a4aa4d053d /TODO
parent17b0f14f5e17efb7e70e47e711c6339e524875f8 (diff)
downloadjimtcl-2ae1c01c1b0b7d24fa2eeff3545b375d25c18c66.zip
jimtcl-2ae1c01c1b0b7d24fa2eeff3545b375d25c18c66.tar.gz
jimtcl-2ae1c01c1b0b7d24fa2eeff3545b375d25c18c66.tar.bz2
Simplify expr evaluation
Diffstat (limited to 'TODO')
-rw-r--r--TODO41
1 files changed, 7 insertions, 34 deletions
diff --git a/TODO b/TODO
index 0365f15..ffd26cf 100644
--- a/TODO
+++ b/TODO
@@ -1,41 +1,25 @@
CORE LANGUAGE FEATURES
-- Proc default arguments
-- Traces
-- [static] command
+- lrepeat
+- unset -nocomplain
+- parse foo($bar) into special tokens so that interpolation/parsing
+ is not required every time
CORE COMMANDS
- All the missing standard core commands not related to I/O, namespaces, ...
-- The current [expr] needs a lot of work, especially operators && and ||
- are not lazy. Math functions are not present but probably will never
- be added as expr functions, but as Tcl commands, like [sin], [cos] and
- so on.
+- 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.
-- [proc] without arguments may return a list of all the procedures
- (no C commands). While with a single argument (the name of a proc)
- may return [list $args $statics $body].
OTHER COMMANDS NOT IN TCL BUT THAT SHOULD BE IN JIM
- Set commands: [lunion], [lintersect], and [ldifference]
-EXTENSIONS LOADING
-
-- Avoid that the same extension can be loaded multiple times inside the
- same interpreter. The extension should return its name on initialization
- together with the version so that Jim_InitExtension will fail if the
- extension with the same name is already loaded.
-
EXTENSIONS
-- Regexp extension
- OOP system
-- Event loop
-- Files
-- Sockets
- Cryptography: hash functions, block ciphers, strim ciphers, PRNGs.
- Tuplespace extension (http://wiki.tcl.tk/3947) (using sqlite as backend)
- Zlib
@@ -51,7 +35,7 @@ SPEED OPTIMIZATIONS
- 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 if integer objects
+ 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
@@ -70,21 +54,10 @@ IMPLEMENTATION ISSUES
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 destroyed all the delProc functions
+ in the Tcl API. When the interpreter is destroied 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.
-ERROR MESSAGES
-
-- Display the procedure relative file number where the error happened.
- Like:
-
- In procedure 'check' line 11, called at file "test.tcl", line 1024
-
- instead of just:
-
- In procedure 'check' called at file "test.tcl", line 1024
-
REFERENCES SYSTEM
- Unify ref/getref/setref/collect/finalize under an unique [ref] command.