Hey, guess who’s till playing around with sci and rewrite-cljc? Yes, it is me! :simple_smile: Because rewrite-cljc uses protocols to coerce from Clojure forms to rewrite-cljc nodes, it is a bit lower level than I’d like in a couple of cases for testing rewrite-cljc via sci.
One case is vars, and another case is records.
So I don’t think I’d be able to test these two cases via sci interpreted rewrite-cljc tests.
Another area of interest for me is some rewrite-cljc tests use create-ns
. But I think I’m going to ignore those for the time being as I have an outstanding todo to review those tests.
@lee I think having a subset of your tests in graalvm is sufficient. At least you have an idea of what works and you don't get a compile time error with graalvm because of something
You could supplement the tests with some GraalVM smoke tests where you run some arbitrary code through rewrite-cljc and don't use clojure.test to verify the result
the so called command line tool approach that clj-kondo and babashka also use for testing
I think you already described this in clj-graal-docs
Yep, all good compromises! I’m going to continue to tinker.
note that e.g. eval does work in sci, but not in vanilla graalvm, there is some subtle difference
native-image being RAM hungry and free tier CI being RAM constrained has sent me on some interesting adventures! :simple_smile: