\chapter{Names-\/of-\/things}
\hypertarget{md_post-scarcity_2docs_2_names-of-things}{}\label{md_post-scarcity_2docs_2_names-of-things}\index{Names-\/of-\/things@{Names-\/of-\/things}}

\begin{DoxyItemize}
\item {\bfseries{assoc list}} An assoc list is any list all of whose elements are cons-\/cells.
\end{DoxyItemize}

{\bfseries{association}} Anything which associates names with values. An {\itshape assoc list} is an association, but so it a {\itshape map}, a {\itshape namespace}, a {\itshape regularity} and a {\itshape homogeneity}.
\begin{DoxyItemize}
\item {\bfseries{homogeneity}} A \href{Homogeneity.html}{\texttt{ homogeneity}} is a {\itshape regularity} which has a validation funtion associated with each key.
\item {\bfseries{keyword}} A \href{Keyword.html}{\texttt{ keyword}} is a token whose denotation starts with a colon and which has a limited range of allowed characters, not including punctuation or spaces, which evaluates to itself irrespective of the current binding environment.
\item {\bfseries{map}} A map in the sense of a Clojure map; immutable, adding a name/value results in a new map being created. A map may be treated as a function on {\itshape keywords}, exactly as in Clojure.
\item {\bfseries{namespace}} A namespace is a mutable map. Generally, if a namespace is shared, there will be a path from the oblist to that namespace.
\item {\bfseries{oblist}} The oblist is a privileged namespace which forms the root of all canonical paths. It is accessed at present by the function {\ttfamily (oblist)}, but it can be denoted in paths by the empty keyword.
\item {\bfseries{path}} A \href{How-do-we-notate-paths.html}{\texttt{ path}} is a list of keywords, with special notation and semantics.
\item {\bfseries{regularity}} A \href{Regularity.html}{\texttt{ regularity}} is a map whose values are maps, all of whose members share the same keys. A map may be added to a regularity only if it has all the keys the regularity expects, although it may optionally have more. It is legitimate for the same map to be a member of two different regularities, if it has a union of their keys. Keys in a regularity must be keywords. Regularities are roughly the same sort of thing as objects in object oriented programming or tables in databases, but the values of the keys are not policed (see {\ttfamily homogeneity}). 
\end{DoxyItemize}