Zig milling tool path surface spoilboard g-code generator:
ghc -e 'let feed = 1000; diameter = 2; depth = -1; x = 140; y = 140; in putStr $ "F" ++ show feed ++ "\nG0 X0 Y0 Z0\nG1 Z" ++ show depth ++ "\n" ++ concatMap (\pass -> "G1 Y" ++ show y ++ "\nG0 Z0\nG0 Y0\nG1 Z" ++ show depth ++ "\nG1 X" ++ show (diameter * pass) ++ "\n") [1..x / diameter] ++ "G1 Y" ++ show y ++ "\nG0 Z0\nG0 X0 Y0\nM2\n"'
// блядь пиздец у гкода уёбищный синтаксис, приходится писать кодогенераторы притом что он сам по себе тьюринг-полный
как и джаваскрипт