(compile-all!-fn)
(defg-fn & form)
(deft {:as spec :keys [tag parents impls fields childs class-sym]})
(deft tag fields)
(deft tag fields x & xs)
declare a new usertype (a clojure record) tag: the typetag (keyword) corresponding to our freshly created record fields: the fields of our record parents: a seq of other typetags that our type belongs to & impls: optional generic implementations for the defined type
declare a new usertype (a clojure record) tag: the typetag (keyword) corresponding to our freshly created record fields: the fields of our record parents: a seq of other typetags that our type belongs to & impls: optional generic implementations for the defined type
(deft-fn {:as spec :keys [tag parents impls fields childs class-sym]})
(deft-fn tag fields)
(deft-fn tag fields x & xs)
(generic+ name & cases)
add new cases to an existant generic all given arities must already be known
add new cases to an existant generic all given arities must already be known
(generic+-fn name & cases)
(implements? v name)
(implements? v name & names)
test if something implements one or several generics
test if something implements one or several generics
(implements?-fn v name)
(implements?-fn v name & names)
(tag+ {:keys [tag childs parents impls]})
(tag+ tag childs)
(tag+ tag childs parents & impls)
add a type tag to the type registry (living in nemesis.state/state) tag: the typetag we are defining/extending (a keyword) childs: a seq of other typetags or classes that belongs to the defined tag parents: a seq of other typetags that the defined tag belongs to & impls: optional generic implementations for the defined tag
add a type tag to the type registry (living in nemesis.state/state) tag: the typetag we are defining/extending (a keyword) childs: a seq of other typetags or classes that belongs to the defined tag parents: a seq of other typetags that the defined tag belongs to & impls: optional generic implementations for the defined tag
(tag+-fn {:keys [tag childs parents impls]})
(tag+-fn tag childs)
(tag+-fn tag childs parents & impls)
(thing-fn & impls)
(type+-fn tag & impls)
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close