Renderingla

abstractus

Marks a type or member as abstract.

Syntax: abstractus genus <name> <block>

Category

type

Related

Examples

examples/corpus/abstractus/abstractus.fab (canonical · keyword)

Marks a type or member as abstract.

# abstractus — abstract genus contract marker
#
# abstractus genus Nomen { … }
#
# GRAMMAR:
#   genusDecl :← 'abstractus'? 'genus' ident '{' ... '}'
#
# EXPECTED OUTPUT:
#   rota, 16

abstractus genus Figura {
    textus nomen

    functio titulus() → textus {
        redde "§"(ego.nomen)
    }
}

genus Circulus {
    textus nomen
    numerus radius = 1

    functio area() → numerus {
        redde ego.radius * ego.radius
    }
}

incipit {
    fixum _ c ← Circulus { nomen = "rota", radius = 4 }
    nota c.nomen
    nota c.area()
}

Expected output:

rota
16