=head1 partcl

A from scratch implementation of Tcl on Parrot. 

To build the tcl compiler, first build parrot and the parrot utilities.
From the top level parrot directory:

 perl Configure.pl && make

Then, type C<make> in I<this> directory. This will
generate the file C<tcl.pbc> which can then be used to run tcl programs.

 ../../parrot tcl.pbc foo.tcl

=head2 Interactive tclsh

To run partcl interactively, type:

 make tclsh

in this directory.

=head2 Command line options

partcl supports two command line options (that are B<not> standard Tcl):

=over 4

=item -e

Analagous to perl's C<-e> switch, this option will let you specify tcl
code in the command line, which will then be executed. e.g:

 $ ../../parrot tcl.pbc -e='puts {Hello World}'
 Hello World

You will need to properly quote the tcl to protect it from your shell, and
you must specify the C<=>.  (Because parrot's getopt implementation requires
it.)

=item --pir

Given this option, partcl will compile the tcl code to PIR, and output
the PIR on STDOUT. This PIR can then be compiled to parrot bytecode, or
run directly through parrot. (Works with C<-e>.).

=back

=head2 Examples

To run an example, change to the C<examples>, and type C<make>
for instructions.

=head2 Test Suite

To run the test suite, type C<make test>. Note - if I<any> tests fail, try
setting the environment variable C<TEST_PROG_ARGS> to C<-G> and retry.

If any tests fail (with C<-G> or not), please email the perl6-internals list.

=head2 Documentation

See C<docs/> and C<TODO>

=head2 Tcl Version

Note that we are targetting Tcl's cvs-latest, which is going to be 8.5. 
This allows us
to test against what will likely be state of the art by the time we approach
completion. As we get closer to that day, we'll probably settle down and
code against the most recent version (which hopefully won't be 9.x by then).

This has the disadvantage that for side by side testing, you'll need to 
build your own tcl. Partcl users don't need to worry about this, and even
most partcl developers can simply code against the test suite.

=cut
