  We introduce Ideograph, a language for expressing and manipulating structured
data. Its types describe kinds of structures, such as natural numbers, lists,
multisets, binary trees, syntax trees with variable binding, directed
multigraphs, and relational databases. Fully normalized terms of a type
correspond exactly to members of the structure, analogous to a Church-encoding.
Moreover, definable operations over these structures are guaranteed to respect
the structures' equivalences. In this paper, we give the syntax and semantics
of the non-polymorphic subset of Ideograph, and we demonstrate how it can
represent and manipulate several interesting structures.
