Two new posts on the ClojureClr.Next blog: https://dmiller.github.io/clojure-clr-next/general/2023/01/27/doing-a-number.html https://dmiller.github.io/clojure-clr-next/general/2023/01/27/first-code.html Yes, we have code.
Very exciting progress! Great work, @dmiller!
This time around let's transform the clojure.core source into portable Clojure with .cljc, .cljr and *.clj files cleanly separated (such that when compiling with mainline clj, all tests pass for JVM, too). Yes, I volunteer to work on that, since I brought it up. 🙂 You did make it a bit easier by commenting everywhere you made a change to the original clj file.
The only hesitation I have is maintenance. Right now core.clj and most of the other Clojure source files are line# equivalent. If there is a commit in the JVM version on line 3178 of core.clj, I can go right to line 3178 in my copy and make the change. I should probably just over that. It would make a huge difference for things like editing the comments properly, which I do not do.
Did you consider using Clojure itself to do this rewriting?
I did consider it. Several reasons I didn't go that way. One is the whole bootstrapping issue -- you need a clojure to bootstrap your new clojure implementation. Another is that I figure doing in Clojure-in-Clojure is above my pay grade. That's a Rich project. And I wanted to learn F#. 🙂