Jim Interpreter is a concise Tcl programming language software.
Jim implements a large subset of Tcl and has added new features like references with garbage collection, closures, built-in Object Oriented Programming system, Functional Programming commands, and First class arrays. This makes it powerful and ideal for scripting, but without the need to depend on external libraries or other big systems.
In fact, Jim is written in ANSI-C so it is perfect for use in Embedded Systems where memory requirements are low. Even CISCO routers use Tcl. Jim is still a work in progress, but most of the core language is already implemented. As a result, you can use it to run many unmodified Tcl programs.
Jim's designers believe that scripting is an interesting feature for many applications, but many developers are not encouraged to link their application to a big external system. Jim aims to solve this problem by providing a simple and small implementation of a language that is powerful and able to scale.
Some key features of Jim are its support for important features that will be available in Tcl8.5, like dict and {expand}. Jim's arrays are a first-class type unlike in Tcl, where they are a collection of variables. Jim also has a compact design, with currently less than 10k lines of code.
Jim has a lambda with garbage collection, and a reference system to build linked data structures. It also has closures, which means Jim's procedures can have persistent procedure-specific variables (called statics). statics initialization values can be captured from the procedure creation context, making it very similar to lexical scoping to use.
Other features of Jim include Math operations as commands, ability to load extensions at runtime via a STUB system, and a 70Kbyte binary size, making it truly small and ideal for embedding in applications. If you are looking for a scripting language with a small footprint, Jim would definitely be worth considering.
Version 0.51: N/A