Hey, I've been on an odyssey to port this (for a very liberal definition of "port") to .NET for many months!
The underlying library [Incremental][0] [is ported][1] though currently unused; the "ported" framework itself doesn't yet include any Bonsai magic, but the terminal-side stuff is [Zoomies][2], in which [this is broadly what it looks like][3] to write a VDOM (scroll down to line 100 to see how to process user interaction, and line 150 to see how that VDOM renders). All very incomplete and with a big long list of features to add, and the current design is not flexible enough yet to accommodate the "table" primitive, but we're slowly getting there.
Could you feasibly use this to build both web apps and TUI apps simultaneously? If this is the case, I find this extremely interesting. The examples look well fleshed out and interesting.
OCAML seems like a perfect language to accomplish this. Ocsigen is pretty complex, but also seems wildly ahead of its time. PPX is a wonderful metaprogramming paradigm and I would love to know how this is being used in production
The underlying library [Incremental][0] [is ported][1] though currently unused; the "ported" framework itself doesn't yet include any Bonsai magic, but the terminal-side stuff is [Zoomies][2], in which [this is broadly what it looks like][3] to write a VDOM (scroll down to line 100 to see how to process user interaction, and line 150 to see how that VDOM renders). All very incomplete and with a big long list of features to add, and the current design is not flexible enough yet to accommodate the "table" primitive, but we're slowly getting there.
[0]: https://github.com/janestreet/incremental/
[1]: https://github.com/Smaug123/WoofWare.Incremental/
[2]: https://github.com/Smaug123/WoofWare.Zoomies
[3]: https://github.com/Smaug123/WoofWare.Zoomies/blob/15bf1875ed...