A math-inspired CAD program in haskell. CSG, bevels, and shells; 2D & 3D geometry; 2D gcode generation...
GNU Affero General Public License v3.0
1.41k
stars
142
forks
source link
Switch `torus` and `ellipsoid` to `SymbolicObj3` #450
Closed
sorki closed 11 months ago
These are currently implemented "inline" using
implicit
which makes them unique and opaque to our AST.This reminded me of the Haskell expression problem https://eli.thegreenplace.net/2018/more-thoughts-on-the-expression-problem-in-haskell/ and one of the solutions Data Types a la Carte
Search for DTalC led me to familiar site https://reasonablypolymorphic.com/blog/better-data-types-a-la-carte/ which offers improved version.
Switching to this representation would allow us and our users to extend our current monolithic AST types with custom ones.