beloch

beh-LOK · /beˈlɔk/

A declarative language for origami. You name points and lines, fold along constructions that align them, and Beloch evaluates the program to an exact folded state.

.d.c.a.b
1/9
fold (map .a onto .c) as --bd
reverse (map .b onto .c) as --h
reverse (map .d onto .c) as --v
.o = --h * --v--mid = (through .c .o).sr = --ab * --hreverse (map .sr onto --mid through .c)
.sl = --da * --vreverse (map .sl onto --mid through .c)
.br = --bc * --hreverse (map .br onto --mid through .c)
.bl = --cd * --vreverse (map .bl onto --mid through .c)
fold (perp --mid through .sr) (moving .a) as --pf
fold (perp --mid through .sr) (moving .c) (mountain) as --pb
  1. 01
    fold (map .a onto .c) as --bd
  2. 02
    reverse (map .b onto .c) as --h
  3. 03
    reverse (map .d onto .c) as --v
  4. 04
    .o = --h * --v--mid = (through .c .o).sr = --ab * --hreverse (map .sr onto --mid through .c)
  5. 05
    .sl = --da * --vreverse (map .sl onto --mid through .c)
  6. 06
    .br = --bc * --hreverse (map .br onto --mid through .c)
  7. 07
    .bl = --cd * --vreverse (map .bl onto --mid through .c)
  8. 08
    fold (perp --mid through .sr) (moving .a) as --pf
  9. 09
    fold (perp --mid through .sr) (moving .c) (mountain) as --pb