-
Notifications
You must be signed in to change notification settings - Fork 17
CljsJs
Christophe Grand edited this page Dec 12, 2017
·
1 revision
Cljs eval, captures some dynamic vars then delegates to eval*
which delegates to ns-side-effects
which calls load-deps
which calls require
which calls eval-str*
.
This chain leads to some conclusions:
- a custom (async) reader would not be used for loading deps (not unlike clj but worth keeping in mind),
- the value proposition of a custom reader is diminished
- no custom reader implies no new dyn vars
- so buffer until enough to read is going to stay for now.
Another conclusion is that since eval is async, we need a way to prevent the REPL from looping if we want to upgrade. In Clojure this is done by not returning from eval. What would the equivalent be for CLJS?
- Returns a special value (promise like)
- Manually acquire/release stdin?