Primitive Types

Overview

This section describes primitive types assumed by all openEHR models. These are types supported directly by most programing languages, and usually visible via either a class interface and/or a built-in raw value type. The following table lists the primitive types assumed by openEHR.

Type name
in openEHR
Description

Octet

a type whose value is an 8-bit value.

Character

a type whose value is a member of an 8-bit character-set (ISO: "repertoire").

Boolean

logical True/False values; usually physically represented as an integer, but need not be.

Integer

32-bit integers.

Integer64

64-bit integers.

Real

32-bit real numbers in any interoperable representation, including single-width IEEE floating point.

Double

64-bit real numbers, in any interoperable representation including double-precision IEEE floating point.

String

represents unicode-enabled strings.

The figure below illustrates these types. Simple inheritance relationships are shown which facilitate the type descriptions below. Actual inheritance from or substitutability for an Any class is not assumed, and is shown only for convenience (e.g. to indicate that the '=' operator is available on any type). The type Ordered_numeric is on the other hand is used to indicate assumed substitutability of numeric types, and is intended to be mapped to an equivalent type in a real type system (e.g. in Java, java.lang.Number). Data-oriented implementation type systems such as XML-schema do not have such operations.

BASE foundation types.primitive types
Figure 1. base.foundation_types.primitive_types Package

Unicode

It is assumed in the openEHR specifications that Unicode is supported by the type String. Unicode is needed for all Asian, Arabic and other script languages, for both data values (particularly plain text and coded text) and for many predefined string attributes of the classes in the openEHR Reference Model. It encompasses all existing character sets. In openEHR, UTF-8 encoding is assumed.

Class Definitions

Boolean Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Boolean

Description

Type representing minimal interface of built-in Boolean type.

Inherit

Any

Functions

Signature

Meaning

1..1

conjunction alias "and", "∧", "&" (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self or not other)
Post_commutative: Result = (other and self)

Logical conjunction of this with other.

1..1

semistrict_conjunction alias "and then", "&&" (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self or else not other)

Boolean semi-strict conjunction with other.

1..1

disjunction alias "or", "∨", "|" (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self and not other)
Post_commutative: Result = (other or Current)
Post_consistent_with_semi_strict: Result implies (self or else other)

Boolean disjunction with other.

1..1

semistrict_disjunction alias "or else", "||" (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self and then not other)

Boolean semi-strict disjunction with other.

1..1

exclusive_disjunction alias "xor", "⊻" (
other: Boolean[1]
): Boolean

Post_definition: Result = self or other) and not (self and other

Boolean exclusive or with other.

1..1

implication alias "implies", "⇒" (
other: Boolean[1]
): Boolean

Post_definition: Result = (not self or else other)

Boolean implication of other (semi-strict)

1..1

negation alias "not", "¬", "!" (): Boolean

Boolean negation of the current value.

Invariants

Involutive_negation: is_equal (not (not self))

Non_contradiction: not (self and (not self))

Completeness: self or else (not self)

Boolean

Type representing minimal interface of built-in Boolean type.

Inherits: Any

Functions

(abstract) Any.is_equal (
other: Any[1]
): Boolean [1..1]

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

Any.equal alias "=", "==" (
other: Any[1]
): Boolean [1..1]

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Any.instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.

Any.type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".

Any.not_equal alias "!=", "≠" (
other: Ordered[1]
): Boolean [1..1]

True if current object not equal to other. Returns not equal().

conjunction alias "and", "∧", "&" (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self or not other)
Post_commutative: Result = (other and self) [1..1]

Logical conjunction of this with other.

semistrict_conjunction alias "and then", "&&" (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self or else not other) [1..1]

Boolean semi-strict conjunction with other.

disjunction alias "or", "∨", "|" (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self and not other)
Post_commutative: Result = (other or Current)
Post_consistent_with_semi_strict: Result implies (self or else other) [1..1]

Boolean disjunction with other.

semistrict_disjunction alias "or else", "||" (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self and then not other) [1..1]

Boolean semi-strict disjunction with other.

exclusive_disjunction alias "xor", "⊻" (
other: Boolean[1]
): Boolean

Post_definition: Result = self or other) and not (self and other [1..1]

Boolean exclusive or with other.

implication alias "implies", "⇒" (
other: Boolean[1]
): Boolean

Post_definition: Result = (not self or else other) [1..1]

Boolean implication of other (semi-strict)

negation alias "not", "¬", "!" (): Boolean [1..1]

Boolean negation of the current value.

Invariants

Involutive_negation: is_equal (not (not self))

Non_contradiction: not (self and (not self))

Completeness: self or else (not self)

{
    "name": "Boolean",
    "documentation": "Type representing minimal interface of built-in Boolean type.",
    "ancestors": [
        "Any"
    ],
    "functions": {
        "conjunction": {
            "name": "conjunction",
            "aliases": [
                "and",
                "∧",
                "&"
            ],
            "documentation": "Logical conjunction of this with `_other_`.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Boolean"
                }
            },
            "post_conditions": {
                "Post_de_Morgan": "Result = not (not self or not other)",
                "Post_commutative": "Result = (other and self)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "semistrict_conjunction": {
            "name": "semistrict_conjunction",
            "aliases": [
                "and then",
                "&&"
            ],
            "documentation": "Boolean semi-strict conjunction with `_other_`.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Boolean"
                }
            },
            "post_conditions": {
                "Post_de_Morgan": "Result = not (not self or else not other)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "disjunction": {
            "name": "disjunction",
            "aliases": [
                "or",
                "∨",
                "&#124;"
            ],
            "documentation": "Boolean disjunction with `_other_`.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Boolean"
                }
            },
            "post_conditions": {
                "Post_de_Morgan": "Result = not (not self and not other)",
                "Post_commutative": "Result = (other or Current)",
                "Post_consistent_with_semi_strict": "Result implies (self or else other)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "semistrict_disjunction": {
            "name": "semistrict_disjunction",
            "aliases": [
                "or else",
                "&#124;&#124;"
            ],
            "documentation": "Boolean semi-strict disjunction with `_other_`.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Boolean"
                }
            },
            "post_conditions": {
                "Post_de_Morgan": "Result = not (not self and then not other)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "exclusive_disjunction": {
            "name": "exclusive_disjunction",
            "aliases": [
                "xor",
                "⊻"
            ],
            "documentation": "Boolean exclusive or with `_other_`.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Boolean"
                }
            },
            "post_conditions": {
                "Post_definition": "Result = ((self or other) and not (self and other))"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "implication": {
            "name": "implication",
            "aliases": [
                "implies",
                "⇒"
            ],
            "documentation": "Boolean implication of `_other_` (semi-strict)",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Boolean"
                }
            },
            "post_conditions": {
                "Post_definition": "Result = (not self or else other)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "negation": {
            "name": "negation",
            "aliases": [
                "not",
                "¬",
                "!"
            ],
            "documentation": "Boolean negation of the current value.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        }
    },
    "invariants": {
        "Involutive_negation": "is_equal (not (not self))",
        "Non_contradiction": "not (self and (not self))",
        "Completeness": "self or else (not self)"
    }
}
Boolean

Ordered Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Ordered (abstract)

Description

Abstract parent class of ordered types i.e. types on which the '<' operator is defined.

Inherit

Any

Functions

Signature

Meaning

1..1
(abstract)

less_than alias "<" (
other: Ordered[1]
): Boolean

Arithmetic value comparison. Returns True if current object is less than other. This operator is effected and/or redefined in descendants to provide the appropriate ordering semantics for concrete types.

In conjunction with =, enables the definition of the related functions greater_than() etc.

1..1

less_than_or_equal alias "⇐", "≤" (
other: Ordered[1]
): Boolean

Post_result: not (other < self)

True if current object less than or equal to other.

1..1

greater_than alias ">" (
other: Ordered[1]
): Boolean

Post_result: Result = (other < self)

True if current object greater than other.

1..1

greater_than_or_equal alias ">=", "≥" (
other: Ordered[1]
): Boolean

Post_result: Result = (other <= self)

True if current object greater than or equal to other.

Ordered (abstract)

Abstract parent class of ordered types i.e. types on which the '<' operator is defined.

Inherits: Any

Functions

(abstract) Any.is_equal (
other: Any[1]
): Boolean [1..1]

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

Any.equal alias "=", "==" (
other: Any[1]
): Boolean [1..1]

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Any.instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.

Any.type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".

Any.not_equal alias "!=", "≠" (
other: Ordered[1]
): Boolean [1..1]

True if current object not equal to other. Returns not equal().

(abstract) less_than alias "<" (
other: Ordered[1]
): Boolean [1..1]

Arithmetic value comparison. Returns True if current object is less than other. This operator is effected and/or redefined in descendants to provide the appropriate ordering semantics for concrete types.

In conjunction with =, enables the definition of the related functions greater_than() etc.

less_than_or_equal alias "⇐", "≤" (
other: Ordered[1]
): Boolean

Post_result: not (other < self) [1..1]

True if current object less than or equal to other.

greater_than alias ">" (
other: Ordered[1]
): Boolean

Post_result: Result = (other < self) [1..1]

True if current object greater than other.

greater_than_or_equal alias ">=", "≥" (
other: Ordered[1]
): Boolean

Post_result: Result = (other <= self) [1..1]

True if current object greater than or equal to other.

{
    "name": "Ordered",
    "documentation": "Abstract parent class of ordered types i.e. types on which the '<' operator is defined.",
    "is_abstract": true,
    "ancestors": [
        "Any"
    ],
    "functions": {
        "less_than": {
            "name": "less_than",
            "aliases": [
                "<"
            ],
            "documentation": "Arithmetic value comparison. Returns True if current object is less than `_other_`. This operator is effected and/or redefined in descendants to provide the appropriate ordering semantics for concrete types.\n\nIn conjunction with `=`, enables the definition of the related functions `_greater_than_()` etc.",
            "is_abstract": true,
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Ordered"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "less_than_or_equal": {
            "name": "less_than_or_equal",
            "aliases": [
                "<=",
                "≤"
            ],
            "documentation": "True if current object less than or equal to `_other_`.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Ordered"
                }
            },
            "post_conditions": {
                "Post_result": "not (other < self)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "greater_than": {
            "name": "greater_than",
            "aliases": [
                ">"
            ],
            "documentation": "True if current object greater than `_other_`.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Ordered"
                }
            },
            "post_conditions": {
                "Post_result": "Result = (other < self)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "greater_than_or_equal": {
            "name": "greater_than_or_equal",
            "aliases": [
                ">=",
                "≥"
            ],
            "documentation": "True if current object greater than or equal to `_other_`.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Ordered"
                }
            },
            "post_conditions": {
                "Post_result": "Result = (other <= self)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        }
    }
}
Ordered

Character Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Character

Description

Type representing minimal interface of built-in Character type.

Inherit

Ordered

Character

Type representing minimal interface of built-in Character type.

Inherits: Any, Ordered

Functions

(abstract) Any.is_equal (
other: Any[1]
): Boolean [1..1]

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

Any.equal alias "=", "==" (
other: Any[1]
): Boolean [1..1]

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Any.instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.

Any.type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".

Any.not_equal alias "!=", "≠" (
other: Ordered[1]
): Boolean [1..1]

True if current object not equal to other. Returns not equal().

(abstract) Ordered.less_than alias "<" (
other: Ordered[1]
): Boolean [1..1]

Arithmetic value comparison. Returns True if current object is less than other. This operator is effected and/or redefined in descendants to provide the appropriate ordering semantics for concrete types.

In conjunction with =, enables the definition of the related functions greater_than() etc.

Ordered.less_than_or_equal alias "⇐", "≤" (
other: Ordered[1]
): Boolean

Post_result: not (other < self) [1..1]

True if current object less than or equal to other.

Ordered.greater_than alias ">" (
other: Ordered[1]
): Boolean

Post_result: Result = (other < self) [1..1]

True if current object greater than other.

Ordered.greater_than_or_equal alias ">=", "≥" (
other: Ordered[1]
): Boolean

Post_result: Result = (other <= self) [1..1]

True if current object greater than or equal to other.

{
    "name": "Character",
    "documentation": "Type representing minimal interface of built-in Character type.",
    "ancestors": [
        "Ordered"
    ]
}
Character

Octet Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Octet

Description

Type representing minimal interface of built-in Octet type.

Inherit

Ordered

Octet

Type representing minimal interface of built-in Octet type.

Inherits: Any, Ordered

Functions

(abstract) Any.is_equal (
other: Any[1]
): Boolean [1..1]

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

Any.equal alias "=", "==" (
other: Any[1]
): Boolean [1..1]

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Any.instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.

Any.type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".

Any.not_equal alias "!=", "≠" (
other: Ordered[1]
): Boolean [1..1]

True if current object not equal to other. Returns not equal().

(abstract) Ordered.less_than alias "<" (
other: Ordered[1]
): Boolean [1..1]

Arithmetic value comparison. Returns True if current object is less than other. This operator is effected and/or redefined in descendants to provide the appropriate ordering semantics for concrete types.

In conjunction with =, enables the definition of the related functions greater_than() etc.

Ordered.less_than_or_equal alias "⇐", "≤" (
other: Ordered[1]
): Boolean

Post_result: not (other < self) [1..1]

True if current object less than or equal to other.

Ordered.greater_than alias ">" (
other: Ordered[1]
): Boolean

Post_result: Result = (other < self) [1..1]

True if current object greater than other.

Ordered.greater_than_or_equal alias ">=", "≥" (
other: Ordered[1]
): Boolean

Post_result: Result = (other <= self) [1..1]

True if current object greater than or equal to other.

{
    "name": "Octet",
    "documentation": "Type representing minimal interface of built-in Octet type.",
    "ancestors": [
        "Ordered"
    ]
}
Octet

String Class

  • Definition

  • Effective

  • BMM

  • UML

Class

String

Description

Type representing minimal interface of built-in String type, as used to represent textual data in any natural or formal language.

Inherit

Ordered

Functions

Signature

Meaning

1..1

is_empty (): Boolean

True if string is empty, i.e. equal to "".

1..1

is_integer (): Boolean

True if string can be parsed as an integer.

1..1

as_integer (): Integer

Return the integer corresponding to the integer value represented in this string.

1..1

append alias "+" (
other: String[1]
): String

Concatenation operator - causes other to be appended to this string.

1..1
(effected)

less_than (
other: String[1]
): Boolean

Lexical comparison of string content based on ordering in relevant character set.

1..1

contains (
other: String[1]
): Boolean

Return True if this String contains other (case-sensitive).

String

Type representing minimal interface of built-in String type, as used to represent textual data in any natural or formal language.

Inherits: Any, Ordered

Functions

(abstract) Any.is_equal (
other: Any[1]
): Boolean [1..1]

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

Any.equal alias "=", "==" (
other: Any[1]
): Boolean [1..1]

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Any.instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.

Any.type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".

Any.not_equal alias "!=", "≠" (
other: Ordered[1]
): Boolean [1..1]

True if current object not equal to other. Returns not equal().

less_than (
other: String[1]
): Boolean [1..1]

Lexical comparison of string content based on ordering in relevant character set.

Ordered.less_than_or_equal alias "⇐", "≤" (
other: Ordered[1]
): Boolean

Post_result: not (other < self) [1..1]

True if current object less than or equal to other.

Ordered.greater_than alias ">" (
other: Ordered[1]
): Boolean

Post_result: Result = (other < self) [1..1]

True if current object greater than other.

Ordered.greater_than_or_equal alias ">=", "≥" (
other: Ordered[1]
): Boolean

Post_result: Result = (other <= self) [1..1]

True if current object greater than or equal to other.

is_empty (): Boolean [1..1]

True if string is empty, i.e. equal to "".

is_integer (): Boolean [1..1]

True if string can be parsed as an integer.

as_integer (): Integer [1..1]

Return the integer corresponding to the integer value represented in this string.

append alias "+" (
other: String[1]
): String [1..1]

Concatenation operator - causes other to be appended to this string.

contains (
other: String[1]
): Boolean [1..1]

Return True if this String contains other (case-sensitive).

{
    "name": "String",
    "documentation": "Type representing minimal interface of built-in String type, as used to represent textual data in any natural or formal language.",
    "ancestors": [
        "Ordered"
    ],
    "functions": {
        "is_empty": {
            "name": "is_empty",
            "documentation": "True if string is empty, i.e. equal to \"\".",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "is_integer": {
            "name": "is_integer",
            "documentation": "True if string can be parsed as an integer.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "as_integer": {
            "name": "as_integer",
            "documentation": "Return the integer corresponding to the integer value represented in this string.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer"
            }
        },
        "append": {
            "name": "append",
            "aliases": [
                "+"
            ],
            "documentation": "Concatenation operator - causes `_other_` to be appended to this string.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "String"
            }
        },
        "less_than": {
            "name": "less_than",
            "documentation": "Lexical comparison of string content based on ordering in relevant character set.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "contains": {
            "name": "contains",
            "documentation": "Return True if this String contains `_other_` (case-sensitive).",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        }
    }
}
String

Uri Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Uri

Description

A kind of String constrained to obey the syntax of RFC 3986.

Inherit

String

Uri

A kind of String constrained to obey the syntax of RFC 3986.

Inherits: Any, Ordered, String

Functions

(abstract) Any.is_equal (
other: Any[1]
): Boolean [1..1]

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

Any.equal alias "=", "==" (
other: Any[1]
): Boolean [1..1]

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Any.instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.

Any.type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".

Any.not_equal alias "!=", "≠" (
other: Ordered[1]
): Boolean [1..1]

True if current object not equal to other. Returns not equal().

String.less_than (
other: String[1]
): Boolean [1..1]

Lexical comparison of string content based on ordering in relevant character set.

Ordered.less_than_or_equal alias "⇐", "≤" (
other: Ordered[1]
): Boolean

Post_result: not (other < self) [1..1]

True if current object less than or equal to other.

Ordered.greater_than alias ">" (
other: Ordered[1]
): Boolean

Post_result: Result = (other < self) [1..1]

True if current object greater than other.

Ordered.greater_than_or_equal alias ">=", "≥" (
other: Ordered[1]
): Boolean

Post_result: Result = (other <= self) [1..1]

True if current object greater than or equal to other.

String.is_empty (): Boolean [1..1]

True if string is empty, i.e. equal to "".

String.is_integer (): Boolean [1..1]

True if string can be parsed as an integer.

String.as_integer (): Integer [1..1]

Return the integer corresponding to the integer value represented in this string.

String.append alias "+" (
other: String[1]
): String [1..1]

Concatenation operator - causes other to be appended to this string.

String.contains (
other: String[1]
): Boolean [1..1]

Return True if this String contains other (case-sensitive).

{
    "name": "Uri",
    "documentation": "A kind of String constrained to obey the syntax of RFC 3986.",
    "ancestors": [
        "String"
    ]
}
Uri

Numeric Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Numeric (abstract)

Description

Abstract parent class of numeric types, which are types which have various arithmetic and comparison operators defined.

Inherit

Any

Functions

Signature

Meaning

1..1
(abstract)

add alias "+" (
other: Numeric[1]
): Numeric

Sum with other (commutative). Actual type of result depends on arithmetic balancing rules.

1..1
(abstract)

subtract alias "-" (
other: Numeric[1]
): Numeric

Result of subtracting other. Actual type of result depends on arithmetic balancing rules.

1..1
(abstract)

multiply alias "*" (
other: Numeric[1]
): Numeric

Product by other. Actual type of result depends on arithmetic balancing rules.

1..1
(abstract)

divide alias "/" (
other: Numeric[1]
): Numeric

Divide by`other`. Actual type of result depends on arithmetic balancing rules.

1..1
(abstract)

exponent alias "^" (
other: Numeric[1]
): Numeric

Expontiation of this by other.

1..1
(abstract)

negative alias "-" (): Numeric

Generate negative of current value.

Numeric (abstract)

Abstract parent class of numeric types, which are types which have various arithmetic and comparison operators defined.

Inherits: Any

Functions

(abstract) Any.is_equal (
other: Any[1]
): Boolean [1..1]

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

Any.equal alias "=", "==" (
other: Any[1]
): Boolean [1..1]

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Any.instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.

Any.type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".

Any.not_equal alias "!=", "≠" (
other: Ordered[1]
): Boolean [1..1]

True if current object not equal to other. Returns not equal().

(abstract) add alias "+" (
other: Numeric[1]
): Numeric [1..1]

Sum with other (commutative). Actual type of result depends on arithmetic balancing rules.

(abstract) subtract alias "-" (
other: Numeric[1]
): Numeric [1..1]

Result of subtracting other. Actual type of result depends on arithmetic balancing rules.

(abstract) multiply alias "*" (
other: Numeric[1]
): Numeric [1..1]

Product by other. Actual type of result depends on arithmetic balancing rules.

(abstract) divide alias "/" (
other: Numeric[1]
): Numeric [1..1]

Divide by`other`. Actual type of result depends on arithmetic balancing rules.

(abstract) exponent alias "^" (
other: Numeric[1]
): Numeric [1..1]

Expontiation of this by other.

(abstract) negative alias "-" (): Numeric [1..1]

Generate negative of current value.

{
    "name": "Numeric",
    "documentation": "Abstract parent class of numeric types, which are types which have various arithmetic and comparison operators defined.",
    "is_abstract": true,
    "ancestors": [
        "Any"
    ],
    "functions": {
        "add": {
            "name": "add",
            "aliases": [
                "+"
            ],
            "documentation": "Sum with `_other_` (commutative). Actual type of result depends on arithmetic balancing rules.",
            "is_abstract": true,
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Numeric"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Numeric"
            }
        },
        "subtract": {
            "name": "subtract",
            "aliases": [
                "-"
            ],
            "documentation": "Result of subtracting `_other_`. Actual type of result depends on arithmetic balancing rules.",
            "is_abstract": true,
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Numeric"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Numeric"
            }
        },
        "multiply": {
            "name": "multiply",
            "aliases": [
                "&#42;"
            ],
            "documentation": "Product by `_other_`. Actual type of result depends on arithmetic balancing rules.",
            "is_abstract": true,
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Numeric"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Numeric"
            }
        },
        "divide": {
            "name": "divide",
            "aliases": [
                "/"
            ],
            "documentation": "Divide by`_other_`. Actual type of result depends on arithmetic balancing rules.",
            "is_abstract": true,
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Numeric"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Numeric"
            }
        },
        "exponent": {
            "name": "exponent",
            "aliases": [
                "^"
            ],
            "documentation": "Expontiation of this by `_other_`.",
            "is_abstract": true,
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Numeric"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Numeric"
            }
        },
        "negative": {
            "name": "negative",
            "aliases": [
                "-"
            ],
            "documentation": "Generate negative of current value.",
            "is_abstract": true,
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Numeric"
            }
        }
    }
}
Numeric

Ordered_Numeric Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Ordered_Numeric (abstract)

Description

Abstract notional parent class of ordered, numeric types, which are types with both the less_than() and arithmetic functions defined.

Inherit

Ordered, Numeric

Ordered_Numeric (abstract)

Abstract notional parent class of ordered, numeric types, which are types with both the less_than() and arithmetic functions defined.

Inherits: Any, Any, Ordered, Numeric

Functions

(abstract) Any.is_equal (
other: Any[1]
): Boolean [1..1]

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

Any.equal alias "=", "==" (
other: Any[1]
): Boolean [1..1]

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Any.instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.

Any.type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".

Any.not_equal alias "!=", "≠" (
other: Ordered[1]
): Boolean [1..1]

True if current object not equal to other. Returns not equal().

(abstract) Ordered.less_than alias "<" (
other: Ordered[1]
): Boolean [1..1]

Arithmetic value comparison. Returns True if current object is less than other. This operator is effected and/or redefined in descendants to provide the appropriate ordering semantics for concrete types.

In conjunction with =, enables the definition of the related functions greater_than() etc.

Ordered.less_than_or_equal alias "⇐", "≤" (
other: Ordered[1]
): Boolean

Post_result: not (other < self) [1..1]

True if current object less than or equal to other.

Ordered.greater_than alias ">" (
other: Ordered[1]
): Boolean

Post_result: Result = (other < self) [1..1]

True if current object greater than other.

Ordered.greater_than_or_equal alias ">=", "≥" (
other: Ordered[1]
): Boolean

Post_result: Result = (other <= self) [1..1]

True if current object greater than or equal to other.

(abstract) Numeric.add alias "+" (
other: Numeric[1]
): Numeric [1..1]

Sum with other (commutative). Actual type of result depends on arithmetic balancing rules.

(abstract) Numeric.subtract alias "-" (
other: Numeric[1]
): Numeric [1..1]

Result of subtracting other. Actual type of result depends on arithmetic balancing rules.

(abstract) Numeric.multiply alias "*" (
other: Numeric[1]
): Numeric [1..1]

Product by other. Actual type of result depends on arithmetic balancing rules.

(abstract) Numeric.divide alias "/" (
other: Numeric[1]
): Numeric [1..1]

Divide by`other`. Actual type of result depends on arithmetic balancing rules.

(abstract) Numeric.exponent alias "^" (
other: Numeric[1]
): Numeric [1..1]

Expontiation of this by other.

(abstract) Numeric.negative alias "-" (): Numeric [1..1]

Generate negative of current value.

{
    "name": "Ordered_Numeric",
    "documentation": "Abstract notional parent class of ordered, numeric types, which are types with both the `_less_than_()` and arithmetic functions defined.",
    "is_abstract": true,
    "ancestors": [
        "Ordered",
        "Numeric"
    ]
}
Ordered_Numeric

Integer Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Integer

Description

Type representing minimal interface of built-in Integer type.

Inherit

Ordered_Numeric

Functions

Signature

Meaning

1..1
(redefined)

add alias "+" (
other: Integer[1]
): Integer

Integer addition.

1..1
(redefined)

subtract alias "-" (
other: Integer[1]
): Integer

Integer subtraction.

1..1
(redefined)

multiply alias "*" (
other: Integer[1]
): Integer

Integer multiplication.

1..1
(redefined)

divide alias "/" (
other: Integer[1]
): Double

Integer division.

1..1
(redefined)

exponent alias "^" (
other: Double[1]
): Double

Integer exponentiation.

1..1

modulo alias "mod", "\\" (
mod: Integer[1]
): Integer

Return self modulo other.

1..1
(redefined)

less_than alias "<" (
other: Integer[1]
): Boolean

Returns True if current Integer is less than other.

1..1
(redefined)

negative alias "-" (): Integer

Generate negative of current Integer value.

1..1
(redefined)

is_equal (
other: Integer[1]
): Boolean

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

1..1
(redefined)

equal alias "=", "==" (
other: Integer[1]
): Boolean

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Integer

Type representing minimal interface of built-in Integer type.

Inherits: Any, Any, Ordered, Numeric, Ordered_Numeric

Functions

is_equal (
other: Integer[1]
): Boolean [1..1]

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

equal alias "=", "==" (
other: Integer[1]
): Boolean [1..1]

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Any.instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.

Any.type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".

Any.not_equal alias "!=", "≠" (
other: Ordered[1]
): Boolean [1..1]

True if current object not equal to other. Returns not equal().

less_than alias "<" (
other: Integer[1]
): Boolean [1..1]

Returns True if current Integer is less than other.

Ordered.less_than_or_equal alias "⇐", "≤" (
other: Ordered[1]
): Boolean

Post_result: not (other < self) [1..1]

True if current object less than or equal to other.

Ordered.greater_than alias ">" (
other: Ordered[1]
): Boolean

Post_result: Result = (other < self) [1..1]

True if current object greater than other.

Ordered.greater_than_or_equal alias ">=", "≥" (
other: Ordered[1]
): Boolean

Post_result: Result = (other <= self) [1..1]

True if current object greater than or equal to other.

add alias "+" (
other: Integer[1]
): Integer [1..1]

Integer addition.

subtract alias "-" (
other: Integer[1]
): Integer [1..1]

Integer subtraction.

multiply alias "*" (
other: Integer[1]
): Integer [1..1]

Integer multiplication.

divide alias "/" (
other: Integer[1]
): Double [1..1]

Integer division.

exponent alias "^" (
other: Double[1]
): Double [1..1]

Integer exponentiation.

negative alias "-" (): Integer [1..1]

Generate negative of current Integer value.

modulo alias "mod", "\\" (
mod: Integer[1]
): Integer [1..1]

Return self modulo other.

{
    "name": "Integer",
    "documentation": "Type representing minimal interface of built-in Integer type.",
    "ancestors": [
        "Ordered_Numeric"
    ],
    "functions": {
        "add": {
            "name": "add",
            "aliases": [
                "+"
            ],
            "documentation": "Integer addition.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer"
            }
        },
        "subtract": {
            "name": "subtract",
            "aliases": [
                "-"
            ],
            "documentation": "Integer subtraction.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer"
            }
        },
        "multiply": {
            "name": "multiply",
            "aliases": [
                "&#42;"
            ],
            "documentation": "Integer multiplication.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer"
            }
        },
        "divide": {
            "name": "divide",
            "aliases": [
                "/"
            ],
            "documentation": "Integer division.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Double"
            }
        },
        "exponent": {
            "name": "exponent",
            "aliases": [
                "^"
            ],
            "documentation": "Integer exponentiation.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Double"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Double"
            }
        },
        "modulo": {
            "name": "modulo",
            "aliases": [
                "mod",
                "\\\\"
            ],
            "documentation": "Return self modulo other.",
            "parameters": {
                "mod": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "mod",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer"
            }
        },
        "less_than": {
            "name": "less_than",
            "aliases": [
                "<"
            ],
            "documentation": "Returns True if current Integer is less than `_other_`.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "negative": {
            "name": "negative",
            "aliases": [
                "-"
            ],
            "documentation": "Generate negative of current Integer value.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer"
            }
        },
        "is_equal": {
            "name": "is_equal",
            "documentation": "Value equality: return True if `this` and `_other_` are attached to objects considered to be equal in value.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "documentation": "Other object for comparison.",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "equal": {
            "name": "equal",
            "aliases": [
                "=",
                "=="
            ],
            "documentation": "Reference equality for reference types, value equality for value types.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "documentation": "Other object for comparison.",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        }
    }
}
Integer

Integer64 Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Integer64

Description

Type representing minimal interface of built-in Integer64 type.

Inherit

Ordered_Numeric

Functions

Signature

Meaning

1..1
(redefined)

add alias "+" (
other: Integer[1]
): Integer64

Large integer addition.

1..1
(redefined)

subtract alias "-" (
other: Integer[1]
): Integer64

Large integer subtraction.

1..1
(redefined)

multiply alias "*" (
other: Integer[1]
): Integer64

Large integer multiplication.

1..1
(redefined)

divide alias "/" (
other: Integer[1]
): Double

Large integer division.

1..1
(redefined)

exponent alias "^" (
other: Double[1]
): Double

Large integer exponentiation.

1..1

modulo alias "mod", "\\" (
mod: Integer[1]
): Integer64

Large integer modulus.

1..1
(redefined)

less_than alias "<" (
other: Integer64[1]
): Boolean

Returns True if current Integer is less than other.

1..1
(redefined)

negative alias "-" (): Integer64

Generate negative of current Integer value.

1..1
(redefined)

is_equal (
other: Integer64[1]
): Boolean

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

1..1
(redefined)

equal alias "=", "==" (
other: Integer64[1]
): Boolean

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Integer64

Type representing minimal interface of built-in Integer64 type.

Inherits: Any, Any, Ordered, Numeric, Ordered_Numeric

Functions

is_equal (
other: Integer64[1]
): Boolean [1..1]

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

equal alias "=", "==" (
other: Integer64[1]
): Boolean [1..1]

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Any.instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.

Any.type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".

Any.not_equal alias "!=", "≠" (
other: Ordered[1]
): Boolean [1..1]

True if current object not equal to other. Returns not equal().

less_than alias "<" (
other: Integer64[1]
): Boolean [1..1]

Returns True if current Integer is less than other.

Ordered.less_than_or_equal alias "⇐", "≤" (
other: Ordered[1]
): Boolean

Post_result: not (other < self) [1..1]

True if current object less than or equal to other.

Ordered.greater_than alias ">" (
other: Ordered[1]
): Boolean

Post_result: Result = (other < self) [1..1]

True if current object greater than other.

Ordered.greater_than_or_equal alias ">=", "≥" (
other: Ordered[1]
): Boolean

Post_result: Result = (other <= self) [1..1]

True if current object greater than or equal to other.

add alias "+" (
other: Integer[1]
): Integer64 [1..1]

Large integer addition.

subtract alias "-" (
other: Integer[1]
): Integer64 [1..1]

Large integer subtraction.

multiply alias "*" (
other: Integer[1]
): Integer64 [1..1]

Large integer multiplication.

divide alias "/" (
other: Integer[1]
): Double [1..1]

Large integer division.

exponent alias "^" (
other: Double[1]
): Double [1..1]

Large integer exponentiation.

negative alias "-" (): Integer64 [1..1]

Generate negative of current Integer value.

modulo alias "mod", "\\" (
mod: Integer[1]
): Integer64 [1..1]

Large integer modulus.

{
    "name": "Integer64",
    "documentation": "Type representing minimal interface of built-in Integer64 type.",
    "ancestors": [
        "Ordered_Numeric"
    ],
    "functions": {
        "add": {
            "name": "add",
            "aliases": [
                "+"
            ],
            "documentation": "Large integer addition.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer64"
            }
        },
        "subtract": {
            "name": "subtract",
            "aliases": [
                "-"
            ],
            "documentation": "Large integer subtraction.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer64"
            }
        },
        "multiply": {
            "name": "multiply",
            "aliases": [
                "&#42;"
            ],
            "documentation": "Large integer multiplication.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer64"
            }
        },
        "divide": {
            "name": "divide",
            "aliases": [
                "/"
            ],
            "documentation": "Large integer division.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Double"
            }
        },
        "exponent": {
            "name": "exponent",
            "aliases": [
                "^"
            ],
            "documentation": "Large integer exponentiation.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Double"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Double"
            }
        },
        "modulo": {
            "name": "modulo",
            "aliases": [
                "mod",
                "\\\\"
            ],
            "documentation": "Large integer modulus.",
            "parameters": {
                "mod": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "mod",
                    "type": "Integer"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer64"
            }
        },
        "less_than": {
            "name": "less_than",
            "aliases": [
                "<"
            ],
            "documentation": "Returns True if current Integer is less than `_other_`.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Integer64"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "negative": {
            "name": "negative",
            "aliases": [
                "-"
            ],
            "documentation": "Generate negative of current Integer value.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer64"
            }
        },
        "is_equal": {
            "name": "is_equal",
            "documentation": "Value equality: return True if `this` and `_other_` are attached to objects considered to be equal in value.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "documentation": "Other object for comparison.",
                    "type": "Integer64"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "equal": {
            "name": "equal",
            "aliases": [
                "=",
                "=="
            ],
            "documentation": "Reference equality for reference types, value equality for value types.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "documentation": "Other object for comparison.",
                    "type": "Integer64"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        }
    }
}
Integer64

Real Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Real

Description

Type used to represent decimal numbers. Corresponds to a single-precision floating point value in most languages.

Inherit

Ordered_Numeric

Functions

Signature

Meaning

1..1

floor (): Integer

Return the greatest integer no greater than the value of this object.

1..1
(redefined)

add alias "+" (
other: Real[1]
): Real

Real number addition.

1..1
(redefined)

subtract alias "-" (
other: Real[1]
): Real

Real number subtraction.

1..1
(redefined)

multiply alias "*" (
other: Real[1]
): Real

Real number multiplication.

1..1
(redefined)

divide alias "/" (
other: Real[1]
): Double

Real number division.

1..1
(redefined)

exponent alias "^" (
other: Double[1]
): Double

Real number exponentiation.

1..1
(redefined)

less_than alias "<" (
other: Real[1]
): Boolean

Returns True if current Real is less than other.

1..1
(redefined)

negative alias "-" (): Real

Generate negative of current Real value.

1..1
(redefined)

is_equal (
other: Real[1]
): Boolean

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

1..1
(redefined)

equal alias "=", "==" (
other: Real[1]
): Boolean

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Real

Type used to represent decimal numbers. Corresponds to a single-precision floating point value in most languages.

Inherits: Any, Any, Ordered, Numeric, Ordered_Numeric

Functions

is_equal (
other: Real[1]
): Boolean [1..1]

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

equal alias "=", "==" (
other: Real[1]
): Boolean [1..1]

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Any.instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.

Any.type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".

Any.not_equal alias "!=", "≠" (
other: Ordered[1]
): Boolean [1..1]

True if current object not equal to other. Returns not equal().

less_than alias "<" (
other: Real[1]
): Boolean [1..1]

Returns True if current Real is less than other.

Ordered.less_than_or_equal alias "⇐", "≤" (
other: Ordered[1]
): Boolean

Post_result: not (other < self) [1..1]

True if current object less than or equal to other.

Ordered.greater_than alias ">" (
other: Ordered[1]
): Boolean

Post_result: Result = (other < self) [1..1]

True if current object greater than other.

Ordered.greater_than_or_equal alias ">=", "≥" (
other: Ordered[1]
): Boolean

Post_result: Result = (other <= self) [1..1]

True if current object greater than or equal to other.

add alias "+" (
other: Real[1]
): Real [1..1]

Real number addition.

subtract alias "-" (
other: Real[1]
): Real [1..1]

Real number subtraction.

multiply alias "*" (
other: Real[1]
): Real [1..1]

Real number multiplication.

divide alias "/" (
other: Real[1]
): Double [1..1]

Real number division.

exponent alias "^" (
other: Double[1]
): Double [1..1]

Real number exponentiation.

negative alias "-" (): Real [1..1]

Generate negative of current Real value.

floor (): Integer [1..1]

Return the greatest integer no greater than the value of this object.

{
    "name": "Real",
    "documentation": "Type used to represent decimal numbers. Corresponds to a single-precision floating point value in most languages.",
    "ancestors": [
        "Ordered_Numeric"
    ],
    "functions": {
        "floor": {
            "name": "floor",
            "documentation": "Return the greatest integer no greater than the value of this object.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer"
            }
        },
        "add": {
            "name": "add",
            "aliases": [
                "+"
            ],
            "documentation": "Real number addition.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Real"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Real"
            }
        },
        "subtract": {
            "name": "subtract",
            "aliases": [
                "-"
            ],
            "documentation": "Real number subtraction.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Real"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Real"
            }
        },
        "multiply": {
            "name": "multiply",
            "aliases": [
                "&#42;"
            ],
            "documentation": "Real number multiplication.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Real"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Real"
            }
        },
        "divide": {
            "name": "divide",
            "aliases": [
                "/"
            ],
            "documentation": "Real number division.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Real"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Double"
            }
        },
        "exponent": {
            "name": "exponent",
            "aliases": [
                "^"
            ],
            "documentation": "Real number exponentiation.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Double"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Double"
            }
        },
        "less_than": {
            "name": "less_than",
            "aliases": [
                "<"
            ],
            "documentation": "Returns True if current Real is less than `_other_`.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Real"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "negative": {
            "name": "negative",
            "aliases": [
                "-"
            ],
            "documentation": "Generate negative of current Real value.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Real"
            }
        },
        "is_equal": {
            "name": "is_equal",
            "documentation": "Value equality: return True if `this` and `_other_` are attached to objects considered to be equal in value.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "documentation": "Other object for comparison.",
                    "type": "Real"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "equal": {
            "name": "equal",
            "aliases": [
                "=",
                "=="
            ],
            "documentation": "Reference equality for reference types, value equality for value types.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "documentation": "Other object for comparison.",
                    "type": "Real"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        }
    }
}
Real

Double Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Double

Description

Type used to represent double-precision decimal numbers. Corresponds to a double-precision floating point value in most languages.

Inherit

Ordered_Numeric

Functions

Signature

Meaning

1..1

floor (): Integer

Return the greatest integer no greater than the value of this object.

1..1
(redefined)

add alias "+" (
other: Double[1]
): Double

Double-precision real number addition.

1..1
(redefined)

subtract alias "-" (
other: Double[1]
): Double

Double-precision real number subtraction.

1..1
(redefined)

multiply alias "*" (
other: Double[1]
): Double

Double-precision real number multiplication.

1..1
(redefined)

divide alias "/" (
other: Double[1]
): Double

Double-precision real number division.

1..1
(redefined)

exponent alias "^" (
other: Double[1]
): Double

Double-precision real number exponentiation.

1..1
(redefined)

less_than alias "<" (
other: Double[1]
): Boolean

Returns True if current Double is less than other.

1..1
(redefined)

negative alias "-" (): Double

Generate negative of current Double value.

1..1
(redefined)

is_equal (
other: Double[1]
): Boolean

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

1..1
(redefined)

equal alias "=", "==" (
other: Double[1]
): Boolean

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Double

Type used to represent double-precision decimal numbers. Corresponds to a double-precision floating point value in most languages.

Inherits: Any, Any, Ordered, Numeric, Ordered_Numeric

Functions

is_equal (
other: Double[1]
): Boolean [1..1]

Value equality: return True if this and other are attached to objects considered to be equal in value.

Parameters
other

Other object for comparison.

equal alias "=", "==" (
other: Double[1]
): Boolean [1..1]

Reference equality for reference types, value equality for value types.

Parameters
other

Other object for comparison.

Any.instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.

Any.type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".

Any.not_equal alias "!=", "≠" (
other: Ordered[1]
): Boolean [1..1]

True if current object not equal to other. Returns not equal().

less_than alias "<" (
other: Double[1]
): Boolean [1..1]

Returns True if current Double is less than other.

Ordered.less_than_or_equal alias "⇐", "≤" (
other: Ordered[1]
): Boolean

Post_result: not (other < self) [1..1]

True if current object less than or equal to other.

Ordered.greater_than alias ">" (
other: Ordered[1]
): Boolean

Post_result: Result = (other < self) [1..1]

True if current object greater than other.

Ordered.greater_than_or_equal alias ">=", "≥" (
other: Ordered[1]
): Boolean

Post_result: Result = (other <= self) [1..1]

True if current object greater than or equal to other.

add alias "+" (
other: Double[1]
): Double [1..1]

Double-precision real number addition.

subtract alias "-" (
other: Double[1]
): Double [1..1]

Double-precision real number subtraction.

multiply alias "*" (
other: Double[1]
): Double [1..1]

Double-precision real number multiplication.

divide alias "/" (
other: Double[1]
): Double [1..1]

Double-precision real number division.

exponent alias "^" (
other: Double[1]
): Double [1..1]

Double-precision real number exponentiation.

negative alias "-" (): Double [1..1]

Generate negative of current Double value.

floor (): Integer [1..1]

Return the greatest integer no greater than the value of this object.

{
    "name": "Double",
    "documentation": "Type used to represent double-precision decimal numbers. Corresponds to a double-precision floating point value in most languages.",
    "ancestors": [
        "Ordered_Numeric"
    ],
    "functions": {
        "floor": {
            "name": "floor",
            "documentation": "Return the greatest integer no greater than the value of this object.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer"
            }
        },
        "add": {
            "name": "add",
            "aliases": [
                "+"
            ],
            "documentation": "Double-precision real number addition.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Double"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Double"
            }
        },
        "subtract": {
            "name": "subtract",
            "aliases": [
                "-"
            ],
            "documentation": "Double-precision real number subtraction.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Double"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Double"
            }
        },
        "multiply": {
            "name": "multiply",
            "aliases": [
                "&#42;"
            ],
            "documentation": "Double-precision real number multiplication.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Double"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Double"
            }
        },
        "divide": {
            "name": "divide",
            "aliases": [
                "/"
            ],
            "documentation": "Double-precision real number division.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Double"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Double"
            }
        },
        "exponent": {
            "name": "exponent",
            "aliases": [
                "^"
            ],
            "documentation": "Double-precision real number exponentiation.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Double"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Double"
            }
        },
        "less_than": {
            "name": "less_than",
            "aliases": [
                "<"
            ],
            "documentation": "Returns True if current Double is less than `_other_`.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Double"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "negative": {
            "name": "negative",
            "aliases": [
                "-"
            ],
            "documentation": "Generate negative of current Double value.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Double"
            }
        },
        "is_equal": {
            "name": "is_equal",
            "documentation": "Value equality: return True if `this` and `_other_` are attached to objects considered to be equal in value.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "documentation": "Other object for comparison.",
                    "type": "Double"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "equal": {
            "name": "equal",
            "aliases": [
                "=",
                "=="
            ],
            "documentation": "Reference equality for reference types, value equality for value types.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "documentation": "Other object for comparison.",
                    "type": "Double"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        }
    }
}
Double