Tcl TODOs ^

Milestones ^

The next *big* milestone is to be able to run tcl's test suite natively. That means being able to deal with all the commands in:

http://cvs.sourceforge.net/viewcvs.py/tcl/tcl/library/tcltest/tcltest.tcl?view=markup

This will require a lot of work. On the plus side, we'll be passing a lot more tests by then. =-)

Generic tasks ^

pbc_merge

Take advantage of the new pbc_merge to combine the various .pbc files into a singleton.

Makefile deps

Should be more explicit about the PMC dependencies in the makefile. *something* is causing things to get rebuilt unecessarily each time "make tclsh" is run.

PIR tasks ^

keyed access

tcl is not using Keys when getting from aggregates. It probably should, at least for language interoperability.

implement default globals, etc.

global variables provided by tcl libary. tclvars.

global variables provided by tcl interpreter. tclsh

source per-user settings. tclsh

Design tasks ^

provide a way to access existing library PIR from Tcl.

Perhaps via [namespace import]? Can fake it right now with [inline]

refactoring tasks ^

[expr]

Add "is_const" global which checks to see if something is, in fact, constant. (which will allow us to then constant fold)

TBD: ternary op

TBD: functions that take > 1 arg.

TBD: Argument type requirements - Currently works ONLY on bitand - esp need to get any that require int-only args, as we can now /generate/ floats, even if we cannot specify them. This is all supportable by MMD - we just need to specify the correct errors to throw.

Things we can't do yet (need parrot) ^

[regexp], [regsub], -regexp

Don't have a tcl-style RE PGE class avaialable yet.

[pwd], [cd] [#???]

Need this to run tcltest

[interpinfo name] [#36277]

how to do this from inside parrot? Design issue: what's the right answer? if we're called as parrot tcl.pbc foo.tcl, do we report just parrot, or parrot tcl.pbc ?

[split]

There's already a split opcode that should do most of what we need, except it's not quite finished yet.

[after], [vwait]

pending the event system thunk.


parrot