Sink is a minimal programming language for embedding small scripts in larger programs, with TypeScript and C99 implementations. It is specifically designed to be small, simple, and easily embeddable, with support for a REPL as used in debug consoles.
It has TypeScript and C99 implementations, which compile and execute the same source code with exactly the same results. Sink can also be compiled to bytecode.
The API allows the host environment to define native commands, and includes support for a REPL, which is great for embedding debug consoles.
# commands can be declared ahead of time declare factorial say factorial 10 # 3628800 def factorial a if a <= 1 return 1 end return a * factorial a - 1 end