-
Notifications
You must be signed in to change notification settings - Fork 16
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?