plushi.atoms

This namespace contains functions related to recognizing and enforcing push
types and push atoms.

NOTE: In this context, 'atom' refers to an element of a push program, not a
clojure atom.

coerce-atom-type

(coerce-atom-type atom push-type)
Given a push atom and the keyword of a desired push-type, attempt to coerce
the push atom into the push-type.

NOTE: In this context, 'atom' refers to an element of a push program, not a
clojure atom.

recognize-atom-type

(recognize-atom-type atom)
Returns a keyword of the push type of the given atom. If no type is
recognized will throw an error.

NOTE: In this context, 'atom' refers to an element of a push program, not a
clojure atom.

type-lookup

A map where keys are push types and values are maps that contain a
corresponding predicate (:pred key) and coerce-ing function (:coerce key).