العرضar

قس

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

Marks a test for metered or measured execution.

Syntax: metior

Category#

testing

Examples#

radix/corpus/lista/methodi-accessus.fab (canonical · existing-home)#

Marks a test for metered or measured execution.

# =============================================================================
# metior — Marks a test for metered or measured execution.
# =============================================================================
#
# What this teaches:
#   • lista access and query intrinsics — `primus()`, `ultimus()`, `accipe()`, `longitudo()`
#   • membership checks — `vacua()` and `continet()`
#
# Common mistakes:
#   • Calling primus() or ultimus() on an empty lista — these methods require at least one element.
#
# See also: temporis, prima, ultima
# =============================================================================

# lista<T> access and query intrinsics
#
# res.first() | res.last() | res.get(i) | res.length()   -- query
# res.is_empty() | res.contains(elem)                                 -- membership
#
# GRAMMAR:
#   listMethod :← expr '.' ('primus' | 'ultimus' | 'accipe' | 'longitudo'
#                         | 'vacua' | 'continet') '(' args? ')'
#
# EXPECTED OUTPUT:
#   No pinned stdout — smoke asserts exit 0 and typed lowering only.
#
# BACKEND: Go e2e whitelist — lista intrinsic methods not yet lowered for Go
# (whitelist: lista/methodi-accessus.fab).

main {
    const _ res  [1, 2, 3, 4, 5] ∷ list<int>

    const _ primus  res.first()
    const _ ultimus  res.last()
    const _ tertius  res.get(2)
    const _ longitudo  res.length()
    const _ vacuaest  res.is_empty()
    const _ habettres  res.contains(3)

    print primus, ultimus, tertius
    print longitudo, vacuaest, habettres
}

Expected output:

1 5 3
5 falsum verum