JTcl - Tcl interpreter written in Java

JTcl is an implementation of Tool Command Language written in Java. JTcl implements a large extent of Tcl 8.4 syntax and commands, limited only by API restrictions of the Java Virtual Machine. JTcl is based on the Jacl interpreter.

The primary goals of the JTcl Project are:

  • Implement Tcl version 8.4 to the greatest extent possible. Compliance to Tcl 8.4 is based on the Tcl test suite.
  • Modernize the code base, including package reorganization, modern code formatting, and use Java-centric build tools.
  • Promote more community involvement. Bug fixes, additional feature implementations, JTcl specific libraries, etc. are welcomed.

JTcl is licensed under terms of the BSD open source license. See the License page for details.

Major features of JTcl

  • Implement Tcl 8.4 commands, arguments, options and semantics. The major exceptions are commands that are limited by Java 1.5 API restrictions, such as file stat.
  • Tcl 8.4 compatible regular expression engine. Most features and syntax of Tcl's regex engine are supported by using the Java library regular expression package and using syntax translation where required.
  • fileevent and fcopy commands interact with a new channel subsystem for event-driven I/O processing.
  • exec and open commands now support Tcl's pipeline and redirection syntax, with some caveats.
  • 64 bit wide integer support.
  • trace command now supports command and execution tracing, as well as updated variable trace options.
  • Reorganized packaging to a single jar file for ease of installation.