rewrite-clj

https://github.com/clj-commons/rewrite-clj
borkdude 2019-10-06T15:06:57.012300Z

project with similar goal as rewrite-clj: https://github.com/carocad/parcera

borkdude 2019-10-06T17:27:59.013200Z

tl;dr: it's based on instaparse which yields 5.5s parse time for clojure core.clj which is a fair amount slower than rewrite-clj.

borkdude 2019-10-06T17:28:36.014Z

it has no namespace for rewriting using e.g. zippers yet. parsed structure is about the same, but it uses vectors instead of maps/defrecords.

lread 2019-10-06T19:32:14.015400Z

very interesting! thanks for sharing @borkdude!

borkdude 2019-10-06T19:48:55.016100Z

@pez, you're also looking at this right? if you want more performance, it might be good to also check @lee's fork of rewrite-cljs which will become rewrite-cljc

lread 2019-10-06T19:50:51.016600Z

currently https://github.com/lread/rewrite-cljs-playground

pez 2019-10-06T19:57:17.017800Z

Calva depends on rewrite-cljs via cljfmt. I have my own fork to dodge some problems, have forgotten which. 😃

👍 1
pez 2019-10-06T19:58:05.019300Z

Super happy that @lee is still on with rewrite-cljc!

lread 2019-10-06T19:59:21.020900Z

I brought rewrite-cljs up to par feature-wise with rewrite-clj in rewrite-cljc. I’ve not got much left to do before an alpha release but keep on getting distracted! 🙂

lread 2019-10-06T20:01:17.022800Z

Once we find things are stable I’ll ask weavejester if he is open to moving to rewrite-cljc for cljfmt. I expect he will be.