Tcl Implementations is a brief description of each implementation of Tcl listed in
Category Tcl Implementations, preceded by the language of its source code.
Impl. Lang. | Implementation | Description |
---|
C | Tcl | the definitive implementation and is written in C. The same code base can be used with different build options or targets, different sets of add-on packages, or different packaging (e.g. as a single binary file). These variations are distributions of Tcl and are covered in Category Distribution. |
C | TinyTcl | a slimmed-down fork of Tcl 6.7 |
C | ettcl | a slimmed-down fork of Tcl 7.x |
C | PalmTcl | a fork of Tcl 7.6 for PalmOS v3.x. See also Small Tcl. |
C | MicroTcl | a small subset of Tcl 8.4 for the Nebula 2 game/visualisation engine. See Small Tcl. |
C | Jim | intended as a small-footprint implementation of Tcl 8.x (not a fork of 7.x or earlier) |
C | Picol | a small interpreter in 500 lines of code - described as "an educational toy model only, it is weaker and slower than real Tcl" |
C | Capicol | [please add description] |
C++ | TinyTcl | (same name, different project) is a small interpreter written from scratch |
C# | tclcsharp | a port of Jacl to .NET |
C# | Jacl.NET | another port of Jacl to .NET |
C# | Eagle | an implementation of Tcl 8.4 for the CLR with selected features borrowed from Tcl 8.5 and 8.6 as well. |
C | Garuda | Tcl package for full CLR access via Eagle. |
Parrot | ParTcl | the Tcl implementation for parrot, the Perl 6 virtual machine |
Java | Jacl | intended as a full implementation of Tcl in Java |
Java | JTcl | implementation of Tcl 8.4 in Java |
Java | Hecl | designed to be small, intended for J2ME cellphones |
Java | APWTCL (Java) | very similar to Jim, same commands as APWTCL, additionally itcl functionality |
JavaScript | Tcl in JavaScript | converted from Picol |
JavaScript | APWTCL | converted and enhanced from Tcl in Javascript and Jim, additionally itcl functionality |
FORTRAN | FEMTOL | |
Tcl | concept, HereTcl, MicroTcl for Tcl9, The Very Minimal Tcl Core Command Set, Titoo: a thought experiment or T2 | Implement tcl in tcl |
Haskell | Hiccup | [1], a proof of concept inspired by Picol, aims to mostly match Tcl 8.5 features |
Objective C | APWTCL (Objective C) | very similar to Jim, same commands as APWTCL, additionally itcl functionality |
Rust | Popstcl![](/ext.png) | "a hobby language meant to practice Rust and to use embedded in other applications" |
Rust | https://github.com/veonik/rcl | "An experimental TCL interpreter written in Rust." |
Several of these implementations are intended to reduce the footprint of Tcl. For a discussion of these small implementations, see
Small Tcl. Many take advantage of the smaller size of earlier versions of (definitive) Tcl: see
Advantages and disadvantages of different Tcl versions for a comparison.
Languages Inspired by Tcl edit
These languages have recognizable similarities to Tcl:
Name | Impl. Lang. | Description |
---|
Brush | | A proposed language by AMG. |
Byticle | N/A | A fictive language in which there is *quite* no keyword, with a generalized infix notation. Related to Tcl by minimalism, and by space-delimited tokens. Inspired by Scheme. |
Cloverfield | C | By FB. Very nearly Tcl, with slightly different semantics in spots. Well-written and a source of ideas for future Tcl development. |
Cricket | | See Small Tcl. |
Ficl | ANSI C | Really an implementation of Forth. |
gotcl | Go | Interpreter for a Tcl-like language as a Go library. |
lil | C, Free Pascal (port) | A small, highly dynamic scripting language designed to be easily embedded in existing applications. |
L | | A compiled-to-byte-code language compiling to Tcl byte codes and thus leveraging the entire Tcl runtime. |
PowerShell | C# | PowerShell at Wikipedia , PowerShell at Microsoft , PowerShell at GitHub |
Rush | Scheme and C (source code missing) | "Rush arose from a desire for a faster Tcl that would run applications at speeds near those achieved by their C equivalents." |
szl | C | A tiny, embeddable scripting language inspired by Tcl and shell where everything is an object. |
Tinker | C | See Small Tcl. |
Other systems listed on
Category Tcl Implementations are not distinct implementations:
- Parenthetcl
- is a Tcl/C hybrid for writing compiled Tcl extensions
- Tclkit
- is really a Tcl distribution. It is a single binary file that provides Tcl/Tk and a number of popular extensions.
See also edit