Wow. Haven't written anything here in a while.
partcl has been compiling (as opposed to interpreting) for some time. Whenever possible, PIR code is generated and then inlined into a single subroutine which is then compiled and executed. If there's a chance the inline'd def has changed since it was compiled (via a call to proc or rename), then we lookup the appropriate sub and call that.
The generated PIR is compiled... unless you pass tcl the --pir option, which dumps the raw PIR: you can compile it in a separate pass and it should JFW.
You can also use -e to specify tcl on the command line:
../../parrot tcl.pbc -e='puts {hello world}'
We are now passing 970 converted Tcl tests. I just committed a bunch of stubbed out builtins for use by the real tcltest suite: the sooner we can run tcltest.tcl in even a limited capacity the better. However, there are two major blockers at the moment.
1) the namespace spec *just* hit the list for discussion. Knowing leo, it'll be implemented before I can write any speculative code against it.
2) Trying to run tcltest.tcl as is now... bus errors parrot. Should be a ticket open soon on this. Appears to be a parrot internal issue.
Your subject made me flashback to Tcl for Web Nerds.