Char
Reference for mo:core/Char in the core library.
Char provides Unicode scalar conversion helpers, trusted classification
predicates, and inline comparison wrappers. fromNat32 requires the input to
be a valid scalar value, excluding surrogate code points.
Import
mo:core/Char
Status
- Runtime module
Public API
Types
Char
Functions
toNat32(char : Char) : Nat32
Converts between the module type and the target representation.
Use when: crossing between this module's value and another representation.
fromNat32(nat32 : Nat32) : Char
Converts between the module type and the target representation.
Contract
requires nat32 < (0xD800 : Nat32) or ((0xE000 : Nat32) <= nat32 and nat32 <= (0x10FFFF : Nat32));
Use when: crossing between this module's value and another representation.
toText(char : Char) : Text
Converts between the module type and the target representation.
Use when: crossing between this module's value and another representation.
isDigit(char : Char) : Bool
Checks the predicate described by the return contract.
Contract
ensures result == (char >= '0' and char <= '9');
Use when: a branch condition or contract needs this predicate as a named fact.
isWhitespace(char : Char) : Bool
Checks the predicate described by the return contract.
Use when: a branch condition or contract needs this predicate as a named fact.
isLower(char : Char) : Bool
Checks the predicate described by the return contract.
Use when: a branch condition or contract needs this predicate as a named fact.
isUpper(char : Char) : Bool
Checks the predicate described by the return contract.
Use when: a branch condition or contract needs this predicate as a named fact.
isAlphabetic(char : Char) : Bool
Checks the predicate described by the return contract.
Use when: a branch condition or contract needs this predicate as a named fact.
equal(a : Char, b : Char) : Bool
Compares the supplied values and relates the result to the underlying order.
Contract
ensures result == (a == b);
Use when: code or contracts need an explicit comparison helper instead of an operator.
notEqual(a : Char, b : Char) : Bool
Compares the supplied values and relates the result to the underlying order.
Contract
ensures result == (a != b);
Use when: code or contracts need an explicit comparison helper instead of an operator.
less(a : Char, b : Char) : Bool
Compares the supplied values and relates the result to the underlying order.
Contract
ensures result == (a < b);
Use when: code or contracts need an explicit comparison helper instead of an operator.
lessOrEqual(a : Char, b : Char) : Bool
Compares the supplied values and relates the result to the underlying order.
Contract
ensures result == (a <= b);
Use when: code or contracts need an explicit comparison helper instead of an operator.
greater(a : Char, b : Char) : Bool
Compares the supplied values and relates the result to the underlying order.
Contract
ensures result == (a > b);
Use when: code or contracts need an explicit comparison helper instead of an operator.
greaterOrEqual(a : Char, b : Char) : Bool
Compares the supplied values and relates the result to the underlying order.
Contract
ensures result == (a >= b);
Use when: code or contracts need an explicit comparison helper instead of an operator.
compare(a : Char, b : Char) : Types.Order
Compares the supplied values and relates the result to the underlying order.
Contract
ensures result == #less ==> a < b;
ensures result == #equal ==> a == b;
ensures result == #greater ==> a > b;
ensures a < b ==> result == #less;
ensures a == b ==> result == #equal;
ensures a > b ==> result == #greater;
Use when: code or contracts need an explicit comparison helper instead of an operator.
Summary
- Runtime module under
mo:core/Char. - Exposes 15 public functions.