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.32k
stars
140
forks
source link
Switch `torus` and `ellipsoid` to `SymbolicObj3` #450
Closed
sorki closed 7 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.