Introduction
Jim is an opensource small footprint implementation of the
Tcl programming
language. It implements a large subset of Tcl and adds new
features like references with garbage collection, closures,
built-in Object Oriented Programming system, Functional
Programming commands, First class arrays. All this with
a binary size of about 85kb (that can be reduced further
excluding some non-vital commands, and commands not available in
Tcl itself).
The Jim core is currently entering the beta stage, must of the
core language is already implemented and it is possible to
use it to run many unmodified Tcl programs. In the mean time
we started to develop extensions, some like sqlite,
and ANSI I/O are already ready for prime time, some other
like SDL, Win32 and Win32 COM, POSIX,
Event loop, and many others are work in progress.
All the extensions are included in the source distribution.
(Read more about extensions)
Goals
Jim's goal is to provide a powerful language implemented in
roughly 10k lines of code that is presented as a single C
file and an header file, in order to allow developers to
put Jim inside their applications, as scripting language,
configuration file syntax, without to depend on external
libraries or other big systems.
We belive scripting is a very interesting feature for many
applications, but developers are often not encouraged
to link the application to a big external system.
Jim try to address this problem providing a very simple to understand
and small footprint implementation of a language that
is ideal for scripting, and at the same time is powerful
and able to scale.
Another field where Jim may help is the one of Embedded Systems.
Jim is written in ANSI-C, is very little both in binary size
and memory requirements, and the Tcl language is just ideal for
this tasks (For example, CISCO routers are using Tcl).