src/foo/core.clj
:
(ns foo.core)
(defn my-fn [] 1)
(defmacro bar [f]
((eval f)))
Clojure:
$ clj
Clojure 1.9.0
user=> (require 'foo.core)
nil
user=> (foo.core/bar foo.core/my-fn)
1
ClojureScript:
$ clj -m cljs.main -re node -r
ClojureScript 1.10.339
cljs.user=> (require-macros 'foo.core)
nil
cljs.user=> (foo.core/bar foo.core/my-fn)
1
Self-hosted ClojureScript:
$ plk
ClojureScript 1.10.339
cljs.user=> (require-macros 'foo.core)
nil
cljs.user=> (foo.core/bar foo.core/my-fn)
^
WARNING: No such namespace: foo.core, could not locate foo/core.cljs, foo/core.cljc, or JavaScript source providing "foo.core" at line 1
WARNING: Use of undeclared Var foo.core/my-fn at line 1
undefined is not an object (evaluating 'foo.core.my_fn') at line 1