=head1 Tcl TODOs

=head2 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. =-)

=head2 Generic tasks

=over 4

=item pbc_merge

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

=item 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.

=back

=head2 PIR tasks

=over 4

=item keyed access

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

=item implement default globals, etc.

global variables provided by tcl libary. L<tclvars>.

global variables provided by tcl interpreter. L<tclsh>

source per-user settings. L<tclsh>

=back

=head2 Design tasks

=over 4

=item provide a way to access existing library PIR from Tcl.

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

=back

=head2 refactoring tasks

=over 4

=item [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.

=back

=head2 Things we can't do yet (need parrot)

=over 4

=item [regexp], [regsub], -regexp

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

=item [pwd], [cd] [#???]

Need this to run tcltest

=item [interpinfo name] [#36277]

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

=item [split]

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

=item [after], [vwait]

pending the event system thunk.

=back

=cut
