Beloch
Beloch is a declarative language for origami. You describe a sheet of paper and the creases you want in terms of the points and lines on it; Beloch works out the exact geometry and hands you back a crease pattern and a folded state.
New here? Start with the tutorial — it builds a small program up one line at a time. Or try the language right now in the Playground.
; diagonals.bel
paper square
mark through .a .c
mark through .b .d