hex

A tiny, mininalist, slightly-esoteric, concatenative programming language

hex is a concatenative programming language heavily inspired by min and mn, but even more minimalist.

It is implemented in a single C file, and provides:

  • support for 32bit integers, but written only in hexadecimal format (hence the name), strings, quotations (lists) and symbols.
  • the possibility to define your own symbols, but they will always be global (no lexical scoping).
  • an interactive REPL.
  • an integrated manual/cheat sheet.
  • basic error handling and a stack trace
  • 64 native symbols to manage control flow, arithmetical operations, comparison, Boolean logic, operations on strings and quotations, bitwise operations, I/O, File I/O, and shell command execution.

Despite its quirks, hex aims to bring more people into the world of concatenative programming. The language web site includes a short tutorial, a simple specification of the language, and even a WASM-powered playground with an actual hex REPL to play with.

Downloads