Functions, type aliases, genus, and implendum accept type parameters
with <T> syntax.
Generic functions
functio identitas<T>(T valor) → T {
redde valor
}
functio primum<T>(lista<T> res) → T ∪ nihil {
redde res.primus()
}Explicit call-site type arguments
functio identitas<T>(T valor) → T { redde valor }
functio primum<T>(lista<T> res) → T ∪ nihil {
redde nihil
}
fixum _ value ← identitas<numerus>(7)
fixum _ maybe ← primum<numerus>([value])Generic genus
genus Par<T> {
T primus
T secundus
}Size parameters
magnitudo declares a size/index parameter in generic parameter lists:
functio crea<T, magnitudo N>() → tensor<T, [N]> {
redde vacua
}