Beloch
A declarative language for origami, built on the Huzita–Justin axioms.
Describe a sheet and the creases you want; Beloch works out the exact geometry — right here in your browser.
paper square
mark --diag = through .a .c
mark --ea = map --ab onto --diag
mark --eb = map --ab onto --bc
mark --ec = map --bc onto --diag
flatten (--ea & .a) (--ec & .c) (--eb & .b) {toward .a}