Fork me on GitHub
#sci
<
2020-07-08
>
lread17:07:40

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.

lread17:07:26

One case is vars, and another case is records.

lread17:07:50

So I don’t think I’d be able to test these two cases via sci interpreted rewrite-cljc tests.

lread18:07:29

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.

borkdude18:07:10

@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

borkdude18:07:10

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

borkdude18:07:39

the so called command line tool approach that clj-kondo and babashka also use for testing

borkdude18:07:51

I think you already described this in clj-graal-docs

lread18:07:18

Yep, all good compromises! I’m going to continue to tinker.

borkdude18:07:35

note that e.g. eval does work in sci, but not in vanilla graalvm, there is some subtle difference

lread18:07:47

native-image being RAM hungry and free tier CI being RAM constrained has sent me on some interesting adventures! simple_smile