Tcl implementations

Tcl Implementations is a brief description of each implementation of Tcl listed in Category Tcl Implementations, preceded by the language it is implemented in.

See Also

Small Tcl
tclquadcode

Implementations

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.
Erlang OTPCL Open Telecom Platform Command Language.
FORTRAN FEMTOL
Java Jacl intended as a full implementation of Tcl in Java
Java JTcl Interpreter 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
Java TCL_Interpreter Interpreter for Tcl language using ANTLR v4
JavaScript Tcl in JavaScript converted from Picol
JavaScript APWTCL converted and enhanced from Tcl in Javascript and Jim, additionally itcl functionality
Haskell Hiccup [L1 ], 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
Parrot ParTcl the Tcl implementation for parrot, the Perl 6 virtual machine
Molt Molt A TCL interpreter for embedding in Rust applications and libraries.
Rust Popstcl "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."
Tcl concept, HereTcl, MicroTcl for Tcl9, The Very Minimal Tcl Core Command Set, Titoo: a thought experiment or T2 Implement tcl in tcl

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

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.

Misc

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.