The core types of the ideal library.

package elements

Root type in the ideal type system.

concept entity
Root type for regular values (as opposed to references).

concept value
An entity that supports read and write access to a value.

reference kind reference
Data is a value that can be fully represented by bits.

concept data
A value with an internal structure.

concept composite value
A type that represents computation the result of which doesn't matter.

singleton void
Describes types that have a natural equivalence relation,
such as an integer.

concept equality comparable
A type that has two values: true and false.

enum boolean
Sign of a number, or result of a comparison.

enum sign
Describes types that have a natural order.

concept comparable
An integer value with an unlimited range.

datatype integer
A type that encapsulates integer values from 0 (inclusive) to
positive infinity (exclusive).

datatype nonnegative
A type whose values are distinct from valid values of other types.

interface null
Signals that a value is missing.

singleton missing
A procedure that given entities as arguments, performs
a computation and returns a value.

procedure kind procedure
A procedure that has no visible side effects.

procedure kind function
A boolean-valued pure function.

concept predicate
A binary relation.

concept relation
Equivalence relation is reflexive, symmetric, and transitive.

concept equivalence relation
Equivalence relation with a corresponding hash function.

concept equivalence with hash
Order defined by a relation that is transitive, antisymmetric, and total.

concept order
A finite collection of element values, such as a sequence or a set.

interface collection
A finite sequence of elements.

interface list
A half-open range of nonnegative integers.

interface range
A finite set of elements.

interface set
A finite set of elements with an explicit ordering.

interface ordered set
A type that encapsulates an atom of text.

datatype character
A list of characters.

datatype string
A type whose values can be converted to a canonical
string representation.

interface stringable
A finite associative collection.

interface dictionary
Values of this type can be compared for equality using
reference comparison.

interface reference equality
An identifier such as a URI.

interface identifier