Parrot (http://www.parrotcode.org/) is a new runtime interpreter written in support of [Perl] 6 and other dynamic languages. '''Try it out''' To try out the Tcl interpreter that is currently available with parrot: (you'll need a C compiler, make, and perl, for now.) First, get a copy of parrot: (see http://www.parrotcode.org/source.html for instructions. You can use svn or grab a snapshot) cd parrot perl Configure.pl make cd languages/tcl make From here, you can cd to '''examples''' and '''make hello'''. In the tcl directory, there is also a '''make test''' target, where you can run the limited test suite. There is also a "make tcl-test" target which will grab the latest copy of the tcl test suite out of CVS; convert the tests into a something that perl's test harness can run, and then run the tests. '''Current Status:''' This is a tcl interpreter. Code is parsed out into words, and then an interpreter finds the appropriate command and invokes it, passing in the arguments. A number of builtins are implemented, mostly in PIR (http://www.parrotcode.org/examples/pir.html), though they are easily swapped out for code written in C. "New Features" Since this is a brand new implementation on parrot, it would be nice to take advantage of parrot features like the Parrot Grammar Engine (see [PerlSixGrammars]) '''Future Goals:''' Drop the interpreter - have the parser emit an invokable parrot object. (At this point, we'd still be doing command lookup dynamically at runtime.). Eventually, make the compiler smart enough to know when it can use cached versions of the builtins. Pass most of tcl's test suite. With "make tcl-test", we can now run a (converted) version of the tcl suite using partcl. Currently at just over 12% (after subtracting out the tests for [clock]). Once we have enough of tcl running, we can drop the conversion and just run the test suite natively. Provide the ability to call routines defined in other languages from inside Tcl. (There is already a parrot standard library; eventually this would allow us to call anything, say, written in perl, using native Tcl syntax.) '''Hacking''' Currently, the Tcl on parrot effort is being coordinated by Will Coleda (will at coleda dot com), with much code contributed by Matt DiepHouse. If you're interested in helping out, there is C, PIR, Tcl and Perl code that needs writing. See also [perl] and [python]. ---- [[[Category Language]|[Category Tcl Implementations] (not exclusively, but inclusively)]]