This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-05-10
Channels
- # aws (39)
- # babashka (4)
- # beginners (5)
- # biff (25)
- # cider (14)
- # clj-on-windows (40)
- # clojure-europe (36)
- # clojure-gamedev (1)
- # clojure-losangeles (4)
- # clojure-norway (51)
- # clojure-spec (5)
- # clojure-uk (2)
- # clojurescript (2)
- # clr (176)
- # data-science (10)
- # datalevin (17)
- # datomic (7)
- # deps-new (4)
- # docs (3)
- # emacs (12)
- # figwheel (3)
- # figwheel-main (5)
- # hyperfiddle (20)
- # instaparse (3)
- # introduce-yourself (8)
- # lsp (66)
- # malli (43)
- # off-topic (4)
- # rdf (11)
- # reagent (5)
- # releases (2)
- # sci (11)
- # shadow-cljs (24)
- # slack-help (2)
- # specter (7)
- # tools-deps (3)
- # xtdb (48)
because it's written in clojure, interprets clojure, and can do it "easier" by (calling eval?) but it can't actually be calling eval since it forms the basis for nbb which afaiu can live inside cljs
SCI does not use eval because it's not available in GraalVM native-images (babashka) and indeed CLJS (unless you use self-hosted CLJS)
as far as I'm understanding, the difference between an self-hosted interpreter and a "metacircular" interpreter is to do with having homoiconic/eval "shortcuts" is the definition therefore somewhat blurry/subjective?
self-hosted CLJS is a self-hosted compiler, which means, the compiler can compile itself
meta-circular interpreters implement language features by using the language features of the host environment
e.g. loop
in the implemented language is implemented using loop
of the implementation language