Jacl Modernization Release Notes

This is one of the GSoC 2009 Projects.

The Jacl Modernization project efforts have been incorporated into the JTcl Interpreter.

Jacl Modernization

Project Release Notes

Jacl Modernization Project
Google Summer of Code 2009


Dan Bodoh 2010-11-26: The Jtcl Interpreter has been released, which continued the Jacl Modernization work. See [L1 ].

NEM: Note that there is an initial implementation of dict for Jacl at [L2 ] that could be used as a starting point for this command. IIRC, around 90% functionality was implemented. Some polish and performance tuning required, and possibly bringing up to date with current source.

RS 2009-06-09: Re the load command, the main page says: Note: This command is designed to load C coded extensions into Tcl. Jacl instead uses specialized commands to load Java extensions, "jaclloadjava", "jaclloaditcl", etc. - I think it would be more Tclish to implement a single load command, which maybe can only do Java and ITcl, but looks and feels like its counterpart.


2009-11-20 by rszulgo
See JACL Project's page at SF : https://sourceforge.net/projects/tcljava/
Mo Dejong's worked on integrating my source code due to wrong formatting and other non-semantic issues. I think the next offcial release is waitng for implementation of trace cmd and channel i/o. Unfortunately, I don't have so much time for JACL, now. Other university's projects, master of thesis etc. Anyway, Jacl Modernization project was a great step towards new release.

2009-08-07 by rszulgo
New Regex API was created. It uses java.util.regex package.
Source code avaiable here: [L3 ]
regexp and regsub commands with all of Tcl8.4 switches were implemented with new Regex API.

2009-07-23 by rszulgo
scan %u,scan %i and scan %n were implemented.
In addition, there was needed to create a new class TclWideInteger (tcljava package) that stores an unsigned int (%u) value in 'long' variable. This class is implements InternalRep interface (the same like in TclList, TclDouble, etc.) All modifiers were tested with Tcl8.4 scan test suite.

2009-07-16 by rszulgo
I've changed the result of file atime cmd. It returned the same thing as file mtime what can be misleading. Apps that depend on the accestime can simply not be ported to Java now (without JNI) it will work in Java 1.7. Currently, an error is thrown:

"sorry, "file atime" is not available due to JVM restrictions."

The error is thrown in attributes, link, lstat, readlink, system file options, too.
In addition, atime attribute was removed from file stat result.

file channel ?pattern? implemented.
file separator ?name? added.
file normalize name works, too.

2009-07-09 by rszulgo
Tests and fixing bugs of heretofore work.
The work on glob -types, -tails, -path switches and expr cmd will be continued now.

2009-07-07 by rszulgo
lset varName ?index...? newValue was implemented. Tested with simple tests:

 % set x [list [list a b c] [list d e f] [list g h i]]
 %  => {a b c} {d e f} {g h i}
 % lset x {j k l} => j k l
 % lset x {} {j k l} => j k l
 % lset x 0 j => j {d e f} {g h i}
 % lset x 2 j => {a b c} {d e f} j
 % lset x end j => {a b c} {d e f} j
 % lset x end-1 j => {a b c} j {g h i}
 % lset x 2 1 j => {a b c} {d e f} {g j i}
 % lset x {2 1} j => {a b c} {d e f} {g j i}
 % lset x {2 3} j => list index out of range

namespace exists name added. Tested with corresponding Tcl 8.4.19 test suite.
lsort -unique , lsort -end-$i was implemented. In class TclObjectBase 'equals' method was overrided to compare TclObjects. Parameter 'unique' was added in TclList.sort method.
unset -nocomplain , unset -- added.

The minimum of the midterm evaluation goals have been completed!

2009-06-22 by rszulgo
lsearch -all, lsearch -not, lsearch -inline, lsearch -start now available!

2009-06-18 by rszulgo
info tclversion and info patchlevel now report "8.4" and "8.4.0", respectively. However, there's no Tcl 8.4 compilance level YET ;)

RLH Is there a reasoning behind targeting 8.4?
rszulgo At the end of this summer Jacl is going to be 8.4 compliant. It's one of the many steps to achive that.
TP We are targeting 8.4 for the 2009 GSOC project largely due to the fact that there is a considerable amount of work just to bring Jacl up to 8.4 compliance. In other words, there is plenty of work to be done by one student working one summer. If time permits, select 8.5 features will also be addressed. I am all for more hands working to bring Jacl up to date after the 2009 GSOC project is finished.

info functions implemented! It returns the list of math functions currently defined (Tcl 8.4) matching an optional pattern.

interp recursionlimit path ?limit? added (master)
slave recursionlimit added.
In conseqence, the maxDepthLevel is inherited from the parent process.

Still working on glob -types, -tails, -path switches.

2009-06-16 by rszulgo
Major changes in glob cmd implementation
glob -directory added.
glob -join added.
fixed non-reported bug: glob /bin/ returns /bin whereas in Tcl /bin/

Working on -types, -tails, -path switches now.

2009-06-08 by rszulgo
array statistics are made depracated and will not be implemented in Jacl.
clock format %g and %G added (ISO 8601 2 and 4 digits year format)