LIL (short for Little Interpreted Language) is a small, highly dynamic scripting language designed to be easily embedded in existing applications written in C/C++ or Free Pascal (through a separate port) and licensed under the zlib license.

LIL is inspired by (and looks very similar to) Tcl, although it is much smaller in scope (just a pair of c and h files designed to be used in a host program) and has many differences.

Code written in LIL looks compact and more similar to Unix shells than other scripting languages.

LIL implements safe interpreters, downeval (a "downlevel" command to be called from an uplevel) and allows you to customize what command $varName maps to. Some of its commands have different names than in Tcl 8.x. The scope rules differ in that global variables are visible inside functions by default.

(Earl aka "Earl Johnson") Because of my love of C++ and always wanting to write an interpreter I've ported lil to C++ and called it lilcxx. You can find it at .