LIL

   There is an old language called LIL (little implementation language), but
   this article is about a different language also called LIL (little
   interpreted language by Kostas Michalopoulos).

   Little interpreted language (LIL) is a very nice [1]suckless, yet
   practically unknown interpreted [2]programming language by Kostas
   Michalopoulos which can very easily be embedded in other programs. In this
   it is similar to [3]Lua but is even more simple: it is implemented in just
   two [4]C source code files (lil.c and lil.h) that together count about
   3700 [5]LOC. It is provided under [6]zlib [7]license. More information
   about it is available at http://runtimeterror.com/tech/lil.

   { LIL is relatively amazing. I've been able to make it work on such
   low-specs hardware as Pokitto (32 kB RAM embedded). ~drummyfish }

   LIL has two implementations, one in [8]C and one in [9]Free Pascal, and
   also comes with some kind of [10]GUI and [11]API.

   The language design is very nice, its interesting philosophy is that
   everything is a string, for example arithmetic operations are performed
   with a function expr which takes a string of an arithmetic expression and
   returns a string representing the result number.

   For its simplicity there is no [12]bytecode which would allow for more
   efficient execution and [13]optimization.

   TODO: example

   { I've been looking at the source and unfortunately there are some
   imperfections. The code uses [14]goto (may not be bad but I dunno). Also
   unfortunately stdlib, stdio, string and other standard libraries are used
   as well as [15]malloc. The code isn't really commented and I find the
   style kind of hard to read. }

See Also

     * [16]comun
     * [17]Oberon

Links:
1. suckless.md
2. programming_language.md
3. lua.md
4. c.md
5. loc.md
6. zlib.md
7. license.md
8. c.md
9. free_pascal.md
10. gui.md
11. api.md
12. bytecode.md
13. optimization.md
14. goto.md
15. malloc.md
16. comun.md
17. oberon.md