There should be a robust embedders API for nasser/clojure-clr-lib. This will support the work on #21 but also other contexts like Unity. Its hard to say from jump what this API needs but at the very least:
[ ] replace DefaultHostFunction dynamic var bindings with something C# native like a delegate, so that Clojure can be initialized without booting Clojure
[ ] clojure.core/*read-eval-invoke-constructor*
[ ] clojure.core/*read-eval-invoke-static-method*
[ ] clojure.core/*load-file*
[ ] clojure.core/*load-assembly*
[ ] clojure.core/*load-init-type*
[ ] clojure.core/*compile*
[ ] clojure.core/*load-script*
[ ] replace RuntimeBootstrapFlag with an InitClojure method or equivalent.
[ ] set the load path from outside
[ ] set compiler configuration options (like static linking) from outside
[ ] get clojure vars
This is being tracked here rather than the ClojureCLR repo because the ClojureCLR repo does not support issues for historical reasons.
This was fixed in a different way, primarily in nasser/magic@692c0b96c050da265651648cf84ae5d95e54aabb. Additional work needs to be done to smooth it over, but it works well enough to close this issue.
There should be a robust embedders API for nasser/clojure-clr-lib. This will support the work on #21 but also other contexts like Unity. Its hard to say from jump what this API needs but at the very least:
DefaultHostFunction
dynamic var bindings with something C# native like a delegate, so that Clojure can be initialized without booting Clojureclojure.core/*read-eval-invoke-constructor*
clojure.core/*read-eval-invoke-static-method*
clojure.core/*load-file*
clojure.core/*load-assembly*
clojure.core/*load-init-type*
clojure.core/*compile*
clojure.core/*load-script*
RuntimeBootstrapFlag
with anInitClojure
method or equivalent.This is being tracked here rather than the ClojureCLR repo because the ClojureCLR repo does not support issues for historical reasons.