2 ms·
I am curious about what Rust-based extensions I can add next to my custom machine learning programming language. > https://github.com/sw-ml-study/demo-extensio
by softwarewright 26d ago
I am curious about what Rust-based extensions I can add next to my custom machine learning programming language.
> https://github.com/sw-ml-study/demo-extensions https://github.com/sw-ml-study/demo-extensions
shows my first attempt at an extension, desktop graphics. README shows a Conway's Life "Glider" on an interactive view of a 3D torus (and other desktop examples).
The underlying language is implemented in Rust, and supports running in a browser via WASM, but the language itself is an array programming language I created to help me visualize my study of ML. (This is my non-Python response to Jupyter notebooks and Google Colab)
Then I wanted to visualize ML-related Math concepts so I added some demo repos.
And then I added language features to make it a more general purpose application development language, with libraries as a way to share code. So I added I/O, functional programming features, etc. and related demos. Dogfooding!
And more recently the dynamic Rust extension mechanism to add things that cannot be written easily in the array language itself (or for features that would clutter the language).
Maybe I can add a networking extension or an infinite precision math library.
So my curiosity is around what belongs in the base language and what belongs in optional dynamic extensions.
- relug 25d agowhy do you need special language to understand algorithms like a softmax dag or whatever algorithm u can explain in any language that already exists
- softwarewright 24d ago[dead]
- softwarewright 19d agoforgot to mention: I use my language to run code in a browser, so people can try ML experiments and visualization with no download, no sign up, no colab, no GPU. Also, I'm working towards running my code on embedded systems, including bare metal (no Linux, no RTOS). I'm looking into custom FPGA circuits, too. Python isn't great for me, for these uses. Rust is, and my language is a Rust DSL.