LIL: The Little Interpreted Language
Not logged in

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++ (with a Free Pascal port) and licensed under the zlib license.

LIL is inspired from (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. The classic hello world example looks like this:

print hello world

A slightly more complex (and possibly familiar) example:

store fileio.txt "hello\n"
store fileio.txt "[read fileio.txt]world\n"
print [index [split [read fileio.txt] "\n"] 1]

This stores the line hello to a file named fileio.txt, then appends the line world (by loading the original file's contents, adding world at the end and storing the result) and finally prints the second line of the file (by loading the file's contents, splitting them to a list using the newline as a separator and showing the second item in the list).

In LIL everything is a string and everything is a command, including declarations, control structures, etc. The language is heavily based on string interpolation and all commands have the same syntax:

command arg1 arg2 arg3 ...etc...