Files
saselang-bible/examples/005-types-primitifs-examples.md
2026-09-12 08:56:27 +02:00

1.9 KiB

Exemples / DO-DON'T — Chapitre 5 — Types primitifs

Document compagnon non normatif tant qu'une règle n'est pas explicitement référencée comme normative par le chapitre.

Exemples actuellement présents dans le chapitre

Exemple 1

int8 int16 int32 int64 int128 int256
uint8 uint16 uint32 uint64 uint128 uint256
float16 float32 float64 float128
bool
char

Exemple 2

-> Void
Result<Void,E>
Result<Void>

Exemple 3

func save() -> Result<Void> {
    ...
    return Result::Ok(Void);
}

Exemple 4

Void value;
field Void
Option<Void>
Nullable<Void>
Array<Void>
Range<Void>

Exemple 5

value::toString()
float16::fromInt32(value)

Exemple 6

overflow statiquement prouvable -> erreur de compilation
overflow dynamique -> faute runtime déterministe

Exemple 7

wrapping
saturating
checked

Exemple 8

statique -> erreur compilation
dynamique -> faute runtime

Exemple 9

a == (a / b) * b + (a % b)

Exemple 10

42          decimal
0b101010    binary
0o52        octal
0x2a        hexadecimal

Exemple 11

1_000_000
0b1010_1100
0xffff_ffff
1.234_567
1.0e1_000

Exemple 12

1.0
0.5
42.25
1e6
1.5e-3

Exemple 13

i8 i16 i32 i64 i128 i256
u8 u16 u32 u64 u128 u256
f16 f32 f64 f128

Exemple 14

42i32
42u64
1.5f16

Exemple 15

0x1.0p0
0x1.8p1
0x1.ffp10
0x1.0p-20

Exemple 16

1f16
1::toFloat16()

Exemple 17

bitcast<float16>(value)

DO / DON'T / WHY / compiler error / edge cases

La couverture structurée de cette section sera enrichie au fur et à mesure de la fermeture des règles du chapitre. La migration 0.2.12 conserve volontairement les exemples historiques dans le chapitre afin de ne perdre aucun contexte normatif.