Minimal language for embedding small scripts in larger programs.

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
Information updated 02/10/18
View Comments