This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-07-26
Channels
- # aws-lambda (15)
- # babashka (7)
- # beginners (124)
- # calva (7)
- # cider (19)
- # clj-kondo (26)
- # clojure (261)
- # clojure-australia (3)
- # clojure-dev (10)
- # clojure-europe (45)
- # clojure-nl (4)
- # clojure-uk (6)
- # clojurescript (10)
- # datomic (7)
- # depstar (7)
- # emacs (11)
- # fulcro (41)
- # graalvm (48)
- # helix (1)
- # honeysql (17)
- # inf-clojure (7)
- # introduce-yourself (3)
- # jackdaw (2)
- # lsp (36)
- # malli (2)
- # meander (2)
- # membrane (1)
- # missionary (11)
- # off-topic (17)
- # pathom (83)
- # polylith (15)
- # re-frame (31)
- # reagent (42)
- # sci (35)
- # shadow-cljs (13)
- # spacemacs (13)
- # sql (19)
- # timbre (3)
- # tools-deps (77)
In Clojure, I get:
user=> (meta #'*ns*)
{:added "1.0", :ns #object[clojure.lang.Namespace 0x18fdb6cf "clojure.core"], :name *ns*, :tag clojure.lang.Namespace, :doc "A clojure.lang.Namespace object representing the current namespace."}
However, in bb for a bunch of vars (`#'global-hierarchy` #'*ns*
#'*print-meta*
#'*out*
#'alength
#'*math-context*
#'*command-line-args*
#'*err*
#'*print-level*
#'*in*
#'*print-length*
#'*print-namespace-maps*
#'*warn-on-reflection*
#'*data-readers*
#'*file*
#'clojure.core/unquote
) I get:
user=> (meta #'*ns*)
{:dynamic true}
In particular, I’m interested in the fact that those vars don’t seem to have a namespace. Is that expected? Is it a reasonable assumption that if a var doesn’t have a namespace then I should consider its namespace to be clojure.core? They all are in Clojure.@cfleming This is a bit of an historic mess: in the very beginning bb didn't even have namespaces and ever since they are optional as metadata. But this can be straightened out.
The entire list can be found with: (clojure.pprint/pprint (for [ns (all-ns), [k v] (ns-publics ns) :when (not (:ns (meta v)))] [(str ns) k]))