Fork me on GitHub

As I have told you before, @mseddon, 😄 to get a repl into the running extension we only need to go back to building to a node-library, instead of an npm-module. It was like that a while, and I could repl away. But, because reasons, I got convinced that an npm module was the way to go. (Litte did I expect that I would lose the repl into the running extension.) Those reasons are gone now, by the way. Or will be when/if we pull the cljs stuff back into the Calva repo together with calva-fmt. So, no debugger, granted, but a repl takes us pretty far, I think.


Anyway, we have tried get Calva to cljs in several attempts. Roughly: 1. First try was to just use shadow-cljs to build all js and cljs to a js extension module. Second was to start from scratch in cljs. 2. Then we were back to trying to port it piece by piece. 3. Then I decided it was probably better to try seperate the concerns and turn to typescript instead, and let ts take care of the integration to vscode and move all actual work and logic to cljs. 4. Currently we are on a detour to almost full typescript, but the intention is to make Calva so good that it will be a pleasure to use it to port Calva to cljs.


What we can't afford to let happen is that we go spend all our Calva time in porting to cljs, and Calva itself would stop improving for the users. So while I sincerely want to have much more cljs in the code, and think that that is important, I even more sincerely want Calva to be useful, productive and user friendly, and think that that is even more important.

💯 15

Oh, sorry! I didn't realise that the repl could be made to work at all within vscode 😄


What was the technical issue in cljs? Was it only because of the packaging? Or more? Trying to understand if the work I am doing in orchard might be helpful

❤️ 5

Or if I can be helpful somehow 😃


@richiardiandrea, thanks! It is good to know we can reach out for help. I think that mostly what was the problem was my inexperience with shadow-cljs and node.js. Of course TypeScript has the debug story speaking for it, but I think cljs can answer pretty well with its repl hooked into the running extension. And I think that a better Calva will make the cljs option even stronger.


Additionally. Of course a stronger Orchard will make a stronger Calva, since Calva is destilled from Cider. 😃