This is just an experimentation at writing a lisp. I doubt it will ever be anywhere near usable. It's horrendously inefficient. It lacks a huge amount of features. But I don't care. That's not why I wrote it.
/ defun
And that's it.
Too many to list. Seriously.
However, one major thing I would like to change, apart from the lack of features, is that it does all the interpretation at runtime, live. That's a lot of string manipulation. Ideally I'd like to create some intermediate bytecode format. That would mean I could write out binary files too which I would like.
Also the code is hideous. Written on a train journey and three bus journeys (and counting)
Oh, and it leaks memory, I'm yet to write a garbage collector.
At this point, tlli supports a base 'number' type which can be defined to either be single or double precision floating point numbers. Ideally it should also support fixed point... for no other reason than it would be fun to implement and then it would run on machines with no floating point units. That's still a thing, right?