Liking cljdoc? Tell your friends :D

potemkin.types


*expanded-types*clj

source

abstract-type?clj

(abstract-type? x)
source

clean-deftypeclj

(clean-deftype x)
source

clojure-fn-subsclj

source

def-abstract-typecljmacro

(def-abstract-type name & body)

An abstract type, which can be used in conjunction with deftype+.

An abstract type, which can be used in conjunction with deftype+.
sourceraw docstring

definterface+cljmacro

(definterface+ name & body)

An interface that won't evaluate if an interface with that name already exists.

Self parameters and multiple arities are defined like defprotocol, as well as wrapping functions for each, so it can be used to replace defprotocol seamlessly.

An interface that won't evaluate if an interface with that name already exists.

Self parameters and multiple arities are defined like defprotocol, as well as wrapping
functions for each, so it can be used to replace defprotocol seamlessly.
sourceraw docstring

defprotocol+cljmacro

(defprotocol+ name & body)

A protocol that won't evaluate if an equivalent protocol with the same name already exists.

A protocol that won't evaluate if an equivalent protocol with the same name already exists.
sourceraw docstring

defrecord+cljmacro

(defrecord+ name & body)

A defrecord that won't evaluate if an equivalent datatype with the same name already exists.

A defrecord that won't evaluate if an equivalent datatype with the same name already exists.
sourceraw docstring

deftype*->deftypeclj

(deftype*->deftype x)
source

deftype*->fn-mapclj

(deftype*->fn-map x)
source

deftype+cljmacro

(deftype+ name params & body)

A deftype that won't evaluate if an equivalent datatype with the same name already exists, and allows abstract types to be used.

A deftype that won't evaluate if an equivalent datatype with the same name already exists,
and allows abstract types to be used.
sourceraw docstring

deftype->deftype*clj

(deftype->deftype* x)
source

expand-deftypeclj

(expand-deftype x)
source

extend-protocol+cljmacro

(extend-protocol+ proto & body)

A variant of extend-protocol that allows proto to be extended over other protocols, as well as classes and nil.

A variant of `extend-protocol` that allows `proto` to be extended over other protocols, as well as classes and `nil`.
sourceraw docstring

merge-deftypes*clj

(merge-deftypes* a)
(merge-deftypes* a b & rest)
source

munge-fn-nameclj

(munge-fn-name n)
source

protocol?clj

(protocol? x)
source

reify+cljmacro

(reify+ & body)

A reify that supports abstract types.

A reify that supports abstract types.
sourceraw docstring

resolve-tagclj

(resolve-tag n)
source

transform-deftype*clj

(transform-deftype* f x)
source

type-bodiesclj

source

untagclj

(untag n)
source

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close