العرضar

بايتات

Translation status: العربية reader-locale proof. Term names and code fences follow the ar pack; supporting prose may still be English.

Primitive byte-buffer type.

Aliases: bytes

Syntax: بايتات

Category#

type

Examples#

radix/corpus/octeti/octeti.fab (canonical · keyword)#

Primitive byte-buffer type.

# =============================================================================
# بايتات — Primitive byte-buffer type.
# =============================================================================
#
# What this teaches:
#   • Primitive buffer type — `بايتات` is the built-in byte buffer, analogous to `Vec<u8>` in Rust.
#   • Literal syntax — Byte buffers can be written with hex literals like `|عن اتصل be ef|`.
#
# Common mistakes:
#   • Writing بايتات hex literals with an odd digit count — each byte requires two hex digits.
#
# See also: نص, قائمة
# =============================================================================

# بايتات — byte-buffer type alias
#
# نمط Fascis = بايتات
#
# GRAMMAR:
#   typeAliasDecl :← 'نمط' ident '=' typeExpr
#
# EXPECTED OUTPUT:
#   octeti.expected — type-known diagnostic.

type Fascis = bytes

main {
    const bytes sig ← |عن اتصل be ef|
    const bytes hello ← |48 65 6c 6c 6f|
    const bytes empty ← ||
    print "octeti typus notus"
}

Expected output:

octeti typus notus

radix/corpus/bounded/conversio-octeti-to-octeti-decline.fab (supporting · reject)#

Decline: bounded بايتات<N> cannot resize directly to bounded بايتات<M>.

# =============================================================================
# bounded بايتات resize — unsupported حوّل decline
# =============================================================================
#
# What this teaches:
#   • Bounded byte capacities are not interchangeable through an implicit
#     resize route.
#   • The unsupported route fails closed with `SEM016:unsupported_conversio`.
#
# Common mistakes:
#   • expecting a bounded byte حوّل to truncate or pad silently.

fn resize(bytes<8> raw) → bytes<4> {
    return raw ↦ bytes<4>
}

Expected: compilation rejects this example.

radix/corpus/bounded/conversio-octeti-to-textus-decline.fab (supporting · reject)#

Decline: bounded بايتات<N> cannot convert directly to unbounded نص.

# =============================================================================
# bounded بايتات to نص — unsupported حوّل decline
# =============================================================================
#
# What this teaches:
#   • A bounded byte carrier does not silently become نص through `↦`.
#   • The unsupported route fails closed with `SEM016:unsupported_conversio`.
#
# Common mistakes:
#   • assuming byte decoding is the same as a bounded-width نسخة — decoding
#     needs an explicit بايتات/textus library route, not this حوّل.

fn widen(bytes<8> raw) → string {
    return raw ↦ string
}

Expected: compilation rejects this example.