Did you consider expecting users to write clojure “scripts” which could be directly evaluated instead of first compiled then executed?
Evaluation through :
java -cp clojure.jar clojure.main /path/to/myscript.clj ( see https://clojure.org/reference/repl_and_main#_launching_a_script )
This would be better in several areas:
- probably a little faster (compiles on the fly) while developing (skip the AOT compilation phase)
- scripts could be way shorter, especially useful for code size challenges.
for instance, here is the same code today and if we had a “Clojure script” option:
(ns Solution (:gen-class)) (defn -main (println (read-string(str"0x"(read-line)))))
As a script: