This will become a haskell toolpath library. For now it's just an example executable that generates an offset-strip fin. This program generates gcode which tells a cnc 3d printer what to do much like http://fullcontrol.xyz but many missing operations are easier to define, use or understand. For example compare transposing() to the equivalent (transposed) in main.hs.
Use ghcup to install ghc and cabal-install
cabal install ghcid
git clone https://github.com/aavogt/htpl
cd htpl
ghcid -Wr # watch for changes and rerun
prusa-gcodeviewer osf.gcode # ideally this would auto reload and have a synctex equivalent