Rust has macro which allows you to write domain specific language if you want. The examples right now, is written in rust as they are still developing it. You need to have a solid core before building a domain specific language on top it.
I've been using it in production for svgbob. There have been a lot of breaking changes for the past month, but things are starting to stabilize[0] in the 0.43.x release. Hopefully the version stays at 0.43.x and no more breaking changes, due to using better, appropriate or more descriptive names in Struct and functions.
I used both yew and seed, but the svg support is lacking. Both framework don't render svg elements correctly. As I'm the author of svgbob[0], which heavily uses svg. I wasn't satisfied with both of the frameworks, So I created sauron web framework and I was quite happy with the result. Not only I can do an server side rendering for svgbob[0], I can also write a text-editor[1] with it and achieve a ~15ms typing latency.
Author of sauron here, Yes sauron[0] is very much elm-like than any of the other rust framework, and it's very fast. How fast? Fast enough to be used in a text-editor[1] at ~15ms typing latency. It also suited application that has recurring events such as animation[2]
It also supports server-side rendering, and is used in one of my other opensource project svgbob[3]
The js-framework-benchmark used here is really hard to run. I'm not a javascript programmer, I'm always baffled that any of the command listed in the README page always end up in error. I even re-install a new version nodejs but can't make the benchmark run.
This is some weird bug. I tested it in chrome for android and it doesn't load successfully, but using firefox for android works fine. In the desktop both firefox and chrome works properly. It seems chrome is not consistent in their implementation on other platforms.
It is because `+` is programmed to have a strong signal to a character than can connect to it from any of the 8 direction, while `.` is only programmed to have a strong signal only to 4 directions (top, left, right, bottom)
Also, don't forget the inconsistency of being able to use units like `px`, `ex`, ie: `<circle cx="10ex" cy="10ex" r="2ex" fill="red"/>`, but it would be invalid in `path`. The unit in path is exclusively `px` only.
I made something[1] similar in rust inspired by this project.
I made modification to the syntax to make it more ergonomic in the case of grouping filters with parenthesis for complex and nested filters.
I also added joining of tables, renaming columns and more.