| Clojurescript is at least available at dev time thanks to figwheel. Vue and React do bring along the whole runtime and allow introspection, but have abstracted away the browser to a great degree. The problems really break down like this: Clojurescript: Doesn't run natively in the browser, requires too much tooling, interactive development during development but doesn't make it into production. React/Vue: layer of abstraction over native browser APIs, also unacceptably large Svelte: Not available at runtime Flippantly, the audience is me, but I'm trying to better put into words why I want this. The idea is to get closer to the experience of developing CL with SLIME/Emacs, where you really are poking around on an active living system. I find that form of development to be the most productive, and it seems like the browser + inspector console is a great potential place for such development with the right set of libs. I want a library that is fully available at run time yet small enough that you can send it into production. And I want to to fully embrace web standards for good or ill rather than try and fix the web via layers of abstraction. Last, I want it to have a very minimal surface area so the whole thing fits in your head, think something like Backbone.js where you could read the whole things annotated code in a day and wrap your head around it. I appreciate your replies, you've helped me at least try and better refine what I'm thinking of. |
When you say minimal surface area and "whole thing fits in your head," I can't help but think of the Alpine.js API. Although I'm still mixed on how I feel about Alpine, I can't deny how beautifully simple the API & docs are for it.
I also wonder whether web assembly could play a part in what you're suggesting. It's a part of the web platform, would potentially help with providing robust in-browser tooling... even the S-expressions of human-readable .wat files look rather Lisp-like, albeit too low-level for most frontend work. But I don't know wasm that well, just thinking out loud.