The core types of the ideal library.
package elements
Declaration: elements
Announcements: 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