The Onyx Programming Language
onyxlang.io
onyxlang.io
Onyx, a new programming language powered by WebAssembly (wasmer.io)
Again, now saying it applies directly here -- although I personally struggle to see the rationale from what I read on the front page -- just a generically applicable comment.
The space for niche programming languages is quite large, but nobody is picking the fruit, because a programming language that isn't general purpose isn't as exciting.
I'm interested, go on.
I guess you mean one of the parser-generators or PEG libraries to auto-generate the parser. I'm not aware of tools for auto-generating interpreters. Can you point to one/some if there are? Thanks.
https://github.com/sillycross/PochiVM is the closest I've seen to an actual implementation but it looks mostly abandoned.
And I'm talking about generators on the same level as flex/bison and not something like pypy where they (used to?) use abstract interpretation/partial evaluation as you're really just transforming a handwritten interpreter with all the hard work that entails.
Although, if we had first-class support for "runtimes talking to each other", that might change, and the whole spectrum of protocols along those lines from the OS-level pipes and sockets up through SOAP or REST suggest that we are trying really hard to come up with a right way of doing it.
OpenSCAD [1] is another one. I actually wish it went a bit further, it very much feels like a macro language, with all of the tedium of flow control and such. It would be so interesting to see language to define 3D objects via constraints, instead of procedurally!
There's so many niches out there, you're 100% right. I'm way more excited about someone's new solutions about a specific problem, rather than solving all the problems with the same local-minima solutions we all know.
[0] https://en.wikipedia.org/wiki/Solidity [1] https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenS...
Making a new general purpose tool is definitely a big achievement, but chasing fame and adoption for something general purpose is a fast track to disappointment. (Not saying this project is.)
Failed to compile your code:
|> iter.fold(1, (x, y) => x * y);
Let's not. Let's keep things clear for the reader.I do see
font-variant-ligatures: none !important;
on the code blocks