Hi fediverse,

Which of the following would be the nicest to wrap a low-level 3D geometry (I.e vertices, geometry, topology) operations library written in Rust.

Haskell
Common Lisp (and which implementation?)
Scheme:
Racket
Chicken
Gambit
...

Ideally, I'd like to be able to easily make higher-level operations such as boolean, blend, etc from the low level library and make that as one command in an ergonomic language (with a repl) that allows me to play around easily with various geometrical objects to compose them in increasingly complex ways and then pass the modified object back to the Rust code in case we need to revert a high-level operation operation (this is key). Eventually, a parser would let you pass some math formulae in (Latex?) and execute the live math for you in an interactive way that let's you modify the objects.

Thoughts?

[Boosts appreciated]

Follow

A big element of this endeavor would be the ability to guarantee valid types only. Meaning, I should not be able to accidentally use the higher level API to create a square with 5 sides, etc. So, whatever constrains are imposed by my primitives remain. If the higher-level language would also let me prove properties about my specific geometrical object after a series of operations that'd be a huge plus (although I have zero knowledge of this domain). For example, if after some operations (unknowingly to the user) they change a mesh in such a way that it now satisfies conditions for a Delaunay triangulation then it would output a message saying this is the case. Alternatively, given some mesh I should be able to specify "make it X" and it would automatically apply the operations (based on a selection of suitable algorithms) on the mesh that would guarantee that the output does indeed satisfy X.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.