all repos — h3rald @ 8f63e75ab40bb5421c3d16268c459c1319421d6f

The source code of the h3rald.com web site.

contents/hex.md

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
-----
code: hex
github: hex
home: /hex/
site: "https://hex.2c.fyi"
title: "hex"
subtitle: "A tiny, mininalist, slightly-esoteric, concatenative programming language"
summary: "hex aims to be a little programming language that is simple to learn and fun to use."
content-type: project
active: true
version: 480-0
conver: true
stage: operational
license: MIT
-----

_hex_ is a concatenative programming language heavily inspired by [min](/min) and [mn](/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.