العرضar

استهلال

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

Declares the asynchronous program entry point.

Syntax: استهلال <block>

Category#

entry

Examples#

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

Declares the asynchronous program entry point.

# =============================================================================
# استهلال — Declares the asynchronous program entry point
# =============================================================================
#
# What this teaches:
#   • Declares the asynchronous program entry point.
#   • Related keywords: بداية, انتظر_ثابت, انتظر
#
# Common mistakes:
#   • Calling a `غيرمتزامن` function without consuming its وعد; use
#     `انتظر_ثابت`, `انتظر_متغير`, `أعد_منتظرا`, or `انتظر` inside an `استهلال`.
#
# See also: بداية, انتظر_ثابت, انتظر
# =============================================================================

# استهلال — async program entry point
#
# استهلال { <body> }
#
# GRAMMAR:
#   asyncEntry :← 'استهلال' block
#
# EXPECTED OUTPUT:
#   none — Rust async runtime whitelist (compile-only in harness)
#
# BACKEND:
#   Pairs with `غيرمتزامن` and awaited bindings; contrast with بداية
#   (synchronous entry).

# Helper async finite function
fn accipe() async → string {
    # Simulates async finite operation
    return "datum paratum"
}

fn metire(string datum) async → int {
    return datum.length()
}

# Futura entry point
async_main {
    print "incipiet initium"

    # Await غيرمتزامن functions with انتظر_ثابت
    await_const string datum ← accipe()
    print "acceptum: §"(datum)
    await_const int longitudo ← metire(datum)
    print "longitudo: §"(longitudo)
    print "opus perfectum"
}

Expected output:

incipiet initium
acceptum: datum paratum
longitudo: 13
opus perfectum