It looks promising. A small embedded language to reach for if Lua seemed like overkill. It seems to look a lot like TCL, if you're into that sort of thing.

In a similar vein, there's also fe, a very very small LISP-y language:

It's quite charming as well, considering how much is there in only ~800 lines of C code (LIL
is ~3500), and also has a readable codebase and easy-to-use API.

The major downside I've seen so far is that symbol look-up uses a linked list rather than a hash table. Since I'd be interested in cramming a bunch of words in the dictionary, this is the main deal breaker for me.

There seem to be quite a few TCL clones out there. Here's an article zserge wrote a few years ago:

LIL is actually mentioned, and apparently "it was a pleasant experience" on embedded, but with some performance bottlenecks. I always like zerge's work, so this is high praise.

Zserge also made a toy TCL implemention called partcl:

I played around with partcl years ago and it was pretty fun. The documentation doesn't seem like it encourages any sort of language extension, but I seem to remember being able to do so anyways (probably with tcl_register).

The article also mentions picol, another tiny TCL-like toy implementation by antirez. I've never tried it, but it's antirez, so you know that it's going to be fun:

@paul i have been sketching out a REBOL-like embedded lang for a while but never made any headway on it

fe looks very cool

@wrl oh yeah Janet is my jam. really great standard library, and great documentation. I use it in a few of my projects. The C amalgamation makes it easy to drop-and-go.

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!