Module core

Source
Description

Core primitive types and lang-item bindings for the Silo stdlib.

Covers numeric ranges and aliases (U8..U64, I8..I64, F16..F64, D32..D128), the Bool enum, the foundational containers (Option, Result, Pair, Ordering), and host-provided method stubs for Vec.

HashMap / HashSet method surfaces live in silo:std.collections.hashmap and silo:std.collections.hashset.

Data Types

Records

Pair

Ordered pair of two typed components, .a and .b.

Unions

Option

Optional value: Some carries an element, None represents absence.

Ordering

Three-way comparison result, returned by Ord-adjacent APIs.

Range

Represents a half-open range over an ordered element type.

Result

Result of a fallible computation: Ok on success, Err on failure.

Enums

Bool

Two-valued boolean; variants are false and true.

Aliases

AnyDecimal

Alias for a decimal of any bit-width.

AnyFloat

Alias for a float of any bit-width.

AnyInt

Alias for an integer of any signed range (existential lower/upper bounds).

AnyUInt

Alias for an unsigned integer (any range starting at zero or higher).

Char

Back-compat alias for Codepoint.

Types

Byte

Alias for an unsigned 8-bit byte (same range as U8).

Bytes

Nominal byte-sequence type.

Codepoint

Unicode scalar value (code point in 0..0x110000).

D128

IEEE 754-2008 decimal128.

D32

IEEE 754-2008 decimal32.

D64

IEEE 754-2008 decimal64.

Decimal
F16

IEEE 754 binary16 half-precision float.

F32

IEEE 754 binary32 single-precision float.

F64

IEEE 754 binary64 double-precision float.

Float
I16

Signed 16-bit integer (range -32768..32768).

I32

Signed 32-bit integer (range -2^31..2^31).

I64

Signed 64-bit integer (range -2^63..2^63).

I8

Signed 8-bit integer (range -128..128).

Int
Never
Str
Symbol
U16

Unsigned 16-bit integer (range 0..65536).

U32

Unsigned 32-bit integer (range 0..2^32).

U64

Unsigned 64-bit integer (range 0..2^64).

U8

Unsigned 8-bit integer (range 0..256).

Unit
Vec

Trait Implementations

impl Decimal for ?480303

impl Float for ?480302

impl Int for ?480301

impl Vec ?480313 for ?480312

.get ( (Int ..) (Vec elem len) elem )

.len ( (Vec elem len) (Int ..) )

.push ( (Vec elem len) elem (Vec elem len) )