**Jacl Modernization** Jacl Modernization Project <
> Google Summer of Code 2009 ---- Draft 2009/03/31 <
> <
> ***Description*** This project intends to modernize the Jacl interpreter's support of core Tcl commands. We set a goal of implementing Tcl 8.4 level commands. 8.4 is targeted as the last Tcl version before major changes to the Tcl parser, which supports the "list expansion" syntax in version 8.5 (.e.g., "{*}"). The TJC compiler also does not currently support list expansion syntax.<
> <
> Should time permit, selective features of Tcl 8.5 may be implemented as well. Tcl 8.5 commands to be considered include "apply", "chan", "dict", "lassign", "lrepeat", "lreverse", as well as number of new subcommands affecting many existing commands. See: [http://wiki.tcl.tk/10630].<
> <> Jacl will remain Java JDK version 1.4 API compliant.<
> <
> ***Definitions*** * "Tcl" - refers to the C-based Tcl interpreter, version 8.4.19 * "Jacl" - refers to Jacl 1.4.1, or the latest from revision control. * "JVM" - refers to the Java Virtual Machine, JDK API version 1.4 ***Analysis*** We examine each Tcl command using man pages and source code, and compare the existing Jacl source code implementation of that command. Only Tcl core commands are compared; standard library procs (e.g., "auto_execok", "auto_import", etc.) are not considered. Some of these standard library procs are implementation dependent, others may be used directly from Tcl 8.4 <
> <
> For each command, each option invocation is listed. Jacl support will either be noted as "Supported" or "**Unsupported**". Also, for commands that have switches, options, format specifiers, etc., we examine those for conformity. Where these match Tcl, we note those as "Supported", otherwise if not implemented or differing in funcionality, we note as "**Unsupported**".<
> ***Testing*** The Tcl test suite should be considered the standard by which Jacl should comply. Notable exception include those commands that expect to interact with operating system API's, such as "exec". JVM limitations may prevent full Tcl compliance for some commands. <
> ***Implementation Priority*** Tasks to modernize Jacl range from easy to difficult. Firstly, easy tasks, such as adding options to existing commands to help familiarize with the Jacl code base before tackling more difficult tasks.<
> <
> File event processing is likely to require substantial changes to Jacl file handling and event structures.<
> ***Analysis Results*** ****after**** after ms Supported after ms ?script script script ...? Supported after cancel id Supported after cancel script script ... Supported after idle script ?script script ...? Supported after info ?id? Supported ---- !!!!!! %| enter categories here |% !!!!!!