aboutsummaryrefslogtreecommitdiff

tsl

A tiny scripting language that is designed to be a replacement for small shell/python scripts.
Written in ANSI C to allow embedding everywhere and a WTFPL license that allows it to be used anywhere without any restrictions.
See example.tsl for an example of what tsl looks like.
The language and implementation is designed to be very simple and not use much memory.

** Note: tsl is not usable yet **

Installation

Run: sudo make install. The tsl binary will be installed in /usr/bin/local.

TODO

  • Remove dependency on gc. Write our own gc instead.
  • Implement big int, which numbers should automatically switch to when they are too large to fit into double.
  • Use a list instead of a hash map for variable lookup in the parser, since the list will be small most of the time.
  • Use a list instead of a hash map for variable lookup in the vm (program.c). Variable load/store will then always be O(1).
  • Implement sandboxes similar to lua, by disabling use of import, file io and other functions.