Haskell-Things / ImplicitCAD

A math-inspired CAD program in haskell. CSG, bevels, and shells; 2D & 3D geometry; 2D gcode generation...
https://implicitcad.org/
GNU Affero General Public License v3.0
1.33k stars 141 forks source link

Adding basic support for `rands` and `lookup` #433

Closed lepsa closed 1 year ago

lepsa commented 1 year ago

This is addressing https://github.com/Haskell-Things/ImplicitCAD/issues/213

Adding basic support for the rands function, without support for seeding the rng explicitly. It is using the global prng.

This also adds the OIO OVal type, supporting IO actions. This is necessary for using the global rng.

Adding support for indexing into OIO values.

Adding some expression tests for rands, checking that values are in the desired range and count.