Projects / The Jim Interpreter

The Jim Interpreter

Jim is a 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, a built-in object oriented programming system, functional programming commands, and first class arrays. The interpreter's executable file is only 70 KB in size, and can be reduced by further excluding some commands. It is appropriate for inclusion inside existing programs, for scripting without dependencies, and for embedded systems.

Operating Systems

Recent releases

  •  06 Oct 2011 22:53

    Release Notes: This release adds much-improved mingw32 support (including fully-implemented exec), adds bugfixes, improves documentation, adds a new metakit extension, and makes the SDL extension work again.

    •  24 Jun 2011 04:36

      Release Notes: Various bugs were fixed. Support was added for the binary command. proc ‘args’ can now be renamed. Automatic proc upref args are now supported with &varname. An expr shorthand syntax is available with $(…). Previous proc definitions can be saved with local and invoked with upcall. Non-greedy regexp/regsub support was added with the built-in regexp implementation. Minimal exec implementation is supported even without vfork/waitpid. Configuration is now faster and simpler with autosetup. String byterange was added. The ability to create a single source file bootstrap jimsh was added. Debian packaging support was added.

      •  14 Apr 2011 11:36

        Release Notes: This is a major update that incorporates many bug fixes and several new features. Optional UTF-8 support was added. Optional built-in regexp engines were added for better Tcl compatibility and UTF-8 support. Command line editing with linenoise was added. A Pure-Tcl OO extension was added. exec now uses only vfork() for full functionality on uClinux systems without an MMU.

        •  01 Nov 2010 00:02

          Release Notes: This is a major update which incorporates many bug fixes and new features. Some of the new features over Jim 0.51 include comprehensive documentation, extensive unit tests, far better tracking of source location, including "info source", "stacktrace", and "stackdump". Networking support includes IPv6, working UDP support, and "socket pipe". Many bug fixes and improvements were made in "expr". "exec" improvements were made, including redirection options and respect for $::env. "configure" is fully supported for static extensions.

          •  04 Apr 2005 12:14

            Release Notes: Many fixes were made. The env, source, lreverse, finalize, scan, range, and rand commands were added. The interactive shell was improved. Expr's || and && operators were made lazy. A package system C API was implemented, and was exported as the [package] command to the script level. Extensions for sqlite and experimental bindings for SDL were added. Some work was done for extensions for ANSI I/O, win32, win32com, and posix.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.