Tcl logo


Home
Getting-Started
Download
Mailing-Lists
Manual
FAQ
Links

i



The Tcl/Java Project

Latest Tcl/Java News


July 28, 2005:  New Tcl/Java 1.3.2 release!
This release is considered stable and is ready for use in production environments.
  • Tcl Blend works with Tcl 8.4.11.
  • New Win32 BAT startup scripts.
  • Fix build issues under Win32 and Unix.
  • Fix build issues with JDK 1.4 and 1.5
  • Fix JNI link error under Win32.
  • Fix a bunch of minor bugs.
August 7, 2003:  Tcl/Java 1.3.1 release!
  • Tcl Blend works with Tcl 8.4.4.
  • Lots of bug fixes.
March 17, 2003:  Tcl/Java 1.3.0 release!
  • Includes lots of bug fixes.
  • Includes many new features.
  • New project website.

What is Tcl/Java?

The Tcl/Java project's goal is to make integrating the Java platform and the Tcl scripting language as easy as possible. The project actually consists of two distinct packages, called Tcl Blend and Jacl. It is important to understand what each package provides and in what situations one might choose to use Jacl or Tcl Blend.

Jacl is a self-contained implementation of a Tcl interpreter, written entirely in Java. Jacl also includes features that facilitate communication between a Java interpreter and a Tcl interpreter. Jacl is typically used to incorporate scripting functionality into an existing Java application. Jacl is the ideal solution for users that want to add Tcl scripting to a Java application, but don't want to deal with the complexities of native code that come with Tcl Blend.

Tcl Blend is a Tcl extension that makes use of JNI to facilitate communication between a Java interpreter and a Tcl interpreter. Tcl Blend is typically used to load a Java interpreter into an existing Tcl process, so that functionality implemented in Java can be accessed via Tcl. One can also load Tcl Blend and Tcl into a Java process, which is a great way to add scripting functionality to an existing Java application. Because Tcl Blend is a normal Tcl extension, one can use it with other popular Tcl extensions like Tk, Expect, and Itcl.

Tcl Blend and Jacl define both a Tcl API and a Java API that make it easy to call Java code from Tcl or call Tcl code from Java. For example, one could allocate a Java object in a Tcl script and interactively invoke Java methods on the object. It is also easy to use the supplied API to evaluate a Tcl procedure from a Java method or implement Tcl procudures in Java. The flexible API and wealth of implementation options provided by the Tcl/Java project make integrating Tcl and Java easy.