As a similar, yet more powerful data format I started using Nickel (https://nickel-lang.org). It has very sophisticated typing and transformation features. Highly recommended!
rec files are not configuration, they are just a very simple and basic way of representing tabular data, very similar to a CSV. But it uses lines to separate columns and records, making it much simpler to add and edit records by hand, differently from CSV
With all the integrated standard functions Mathematica is such an incredible tool. We really need an open source version of it. Even if we implement only 10% of the features it would be already incredible useful.
I started working on an implementation in Rust called Woxi (https://github.com/ad-si/Woxi) and I hope to find some contributors, as it is such a gargantuan task!
This reminded me of one of the greatest posts in the history of the internet, and I am devastated to report that it no longer exists: https://news.ycombinator.com/item?id=6516114
I've writing one myself in Go the past few months just to learn the way CAS internals work. Got about 300 symbols working to varying degree. Complex numbers almost working. Basic rule system. Various algebra simplifications. Still trying to figure out how to do Factor as it is pretty math intensive. No graphical output, just to the terminal for now. Using Claude models also to learn AI programming and help with so of the math concepts.
imo you should implement double pass for the evaluator. using pest tokens in the functions etc makes it gard to implement also makes it slow and not optimizable
Reason (https://reasonml.github.io/) is the JS like syntax for OCaml.
ReScript is a fork that explicitly removes the connection to OCaml and focuses on JavaScript output.
LuaCAD is a scripting library which uses OpenSCAD as engine to create 2D and 3D models. The OpenSCAD language itself is quite limited and has several issues and Lua is much better suited for the job!
So if you're interested in programmatic CAD, please check it out!
reply