generics
Translation status: 简体中文 reader-locale proof. Term names and code fences follow the zh-Hans pack; supporting prose may still be English.
Angle-bracket generic parameters on functions and declarations.
Aliases: type parameters, magnitudo
Syntax: 函数 name<T>(...) | 类 Name<T, 维度 N>
Category#
type
Related#
Examples#
radix/corpus/prae/prae.fab (canonical · concept)#
Angle-bracket generic parameters on functions and declarations.
# =============================================================================
# generics — Angle-bracket generic parameters on functions and declarations.
# =============================================================================
#
# What this teaches:
# • Type parameters — Functions and types can accept angle-bracket generic parameters like `<T>`.
# • Magnitudo parameters — Compile-time integer parameters use the `维度` keyword.
#
# Common mistakes:
# • Forgetting that `维度` declares a compile-time integer generic parameter — regular types use bare `<T>` syntax.
#
# See also: 类型, 函数
# =============================================================================
# generics — angle-bracket parameters (replaces removed prae 类型)
#
# GRAMMAR:
# genericParams :← '<' (ident | '维度' ident) (',' (ident | '维度' ident))* '>'
#
# EXPECTED OUTPUT:
# No 入口 — declaration or test-runner surface only.
#
# BACKEND:
# declaration-only generic surface (whitelist: prae/prae.fab). Cross-ref: generic/generic.fab.
#
fn identitas<T>(T value) → T {
return value
}
fn primum<T>(list<T> res) → T ∪ none {
return res.first()
}