Actually just three programming languages in a trenchcoat
at main 25 lines 455 B view raw
1func divBy x 0 = x / yield 'INF 2func divBy x "y" = x / yield 'NAN 3func divBy x y = x / y 4 5proc main!() { 6 let x = with divBy 3 0 { 7 when 'NAN cancel 0 8 when 'INF resume 1 9 else yield 10 } 11 12 let y = with divBy 4 "y" { 13 when 'NAN cancel 9 14 when 'INF resume 2 15 else yield 16 } 17 18 let z = with divBy 4 2 { 19 when 'NAN cancel 9 20 when 'INF resume 4 21 else yield 22 } 23 24 exit x + y + z 25}