Renderingla

typus

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
}