Declares a type alias.
Aliases: type
Syntax: typus <name> = <type>
Category
type
Related
Examples
examples/corpus/typus/typus.fab (canonical · keyword)
Declares a type alias.
# Type aliases
#
# typus Nomen = Typus
#
# GRAMMAR:
# typeAliasDecl :← 'typus' ident '=' typeExpr
#
# EXPECTED OUTPUT:
# 42, "Marcus", verum, ["Gaius", "Lucius", "Titus"], [100, 95, 87]
# --- Primitive type aliases ---
typus Signum = numerus
typus Cognomen = textus
typus Viget = bivalens
# --- Generic type aliases ---
typus Nomina = lista<textus>
typus Puncta = lista<numerus>
typus Index = tabula<textus, numerus>
# Nullable type alias (canonical T ∪ nihil form)
typus NomenOptivum = textus ∪ nihil
incipit {
# Using primitive aliases
fixum Signum signum ← 42
fixum Cognomen cognomen ← "Marcus"
fixum Viget viget ← verum
nota signum
nota cognomen
nota viget
# Using generic aliases
fixum Nomina sodales ← ["Gaius", "Lucius", "Titus"]
nota sodales
fixum Puncta puncta ← [100, 95, 87]
nota puncta
}