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]
#math #programming #Scheme #emacs #fp #latex #haskell #commonlisp #racket #geometry #rust #coding #foss #floss #science #engineering
@mc interesting alternative. I'll have to look further into it as I have never used it or heard much about it outside of data science and ML circles. I'm curious, do you know if Julia let's you define custom syntax? So that rather than just call functions in the repl as:
Let c= circle(radius=15)
colorize(c, "red")
Instead I could do:
circle.15.color."red"
Or whatever other weird syntax I want.
The reason I'm asking is because from what I understand about the other languages mentioned on thr list, you are able to do this. Meaning that if the syntax used to manipulate the geometric objects turns out to be cumbersome then we'd be able to experiment and make it more intuitive over time without having to touch the low-level Rust code.
@zpartacoos
I suppose so, but never tried it.
https://docs.julialang.org/en/v1/manual/metaprogramming/