APWTCL is an acronym
Arnulf's
Preferred
Web
TCLThis version of
APWTCL is written in
Javaapw 2012-04-20: To avoid questions:
Yes I know of
Jtcl and
Jacl and yes I have had a look into both of them, but my goal is a little bit different, that is why I have started with a new implementation.
I wanted to have a light weight version of Tcl which has the same features as
APWTCL written in Java to run native on
Android smart phones. One reason was, that running
APWTCL under
[rhino
] a
Javascript interpreter available there had very big performance problems (have not yet figured out why). So I wanted to have an easy comparable version to be able to figure out the difference between
APWTCL in a browser and running
APWTCL native on the same smart phone. And the positive side effect: I am now familiar with
Java, which I did not use before :).
The implementation started mid of March 2012 and is now (2012-04-20) running all my small about 100 tests successful (and additionally the test suite for
wtk, which I have also running for
APWTCL). The size is also comparable to
APWTCL. It is about 32.000 LOC which is about the same amount of code.
One feature I have built in is to load even all (Tcl) core commands and command ensembles on demand when needed (similar to autoloading/unknown handling).
The base for that implementation is Tcl 8.6 and Itcl 4.0 including a lot of the snit functionality implemented in Itcl 4.0. When running the
wtk test suite one can see, that the implemented subset of snit is running unmodified using the following lines at the beginning of the script:
package require itcl
interp alias {} ::snit::macro {} ::itcl macro
interp alias {} snit::macro {} ::itcl macro
interp alias {} ::snit::type {} ::itcl type
interp alias {} snit::type {} ::itcl type