Hello all, I'm new here and discovering Nim. It looks like my dream language, so I'm obligated to look it up more. I also discovered that it does frontend JavaScript programming, and this is quite awesome. Because of this, I wondered if there is a web framework offering reactive programming like [Svelte](https://svelte.dev/) does.
Svelte is a web framework that took a different approach to all the Virtual DOM libraries that were around to make a radically more efficient approach. Instead of recomputing a virtual DOM on each operation, and then diffing it against the physical DOM, they change the DOM in place. And it's so much more efficient because Svelte is not a javascript library, but a javascript specific dialect compiler. Svelte knows at compile-time what value changed exactly in which part of the DOM, and is able to just change the single value that changed at the right place. It also offers reactive programming where it recomputes automatically some values when the value they depend on just changed. I wondered if it was possible to do something like this using Nim meta-programming features. Doing it the svelte way would require to : * keep track of a list of variables involved in DOM construction, or with reactive values * keep track of all the places in the code where those values are changed * be able to run some code when those variables are changing : * recompute reactive variables that depends on the variable just changed * update DOM where the variable impacts it And that's about it, but does Nim allows to hook into this at compile time? We could also imagine a less automatic way to handle things with specific syntax. Is that inspiring?