Renderingen-US

until

Translation status: English reader-locale proof. Term names and code fences follow the en pack; supporting prose may still be English.

Creates an inclusive range with a Latin keyword.

Syntax: <expression> until <expression>

Category#

range

Examples#

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

Creates an inclusive range with a Latin keyword.

# =============================================================================
# until — Creates an inclusive range with a Latin keyword.
# =============================================================================
#
# What this teaches:
#   • Inclusive range — `range <initium> until <finis>` iterates including both endpoints
#   • Range iteration — combining `for` with `until` for bounded loops
#
# Common mistakes:
#   • confusing until (inclusive range bound) with while (loop) or intervallum (range type)
#
# See also: before, …
# =============================================================================




# until — inclusive upper bound for range iteration
#
# for range <initium> until <finis> <var> { … }   -- both endpoints included
#
# GRAMMAR:
#   iterStmt :← 'for' 'range' expr 'until' expr binding block
#
# EXPECTED OUTPUT:
#   0, 1, 2, 3 (inclusive range through finis).

main {
    # i = 0, 1, 2, 3 (includes 3)
    for range 0 until 3 const i {
        print i
    }
}

Expected output:

0
1
2
3