Declares a direct superclass or base type.
Aliases: extends
Syntax: genus <name> sub <parent> <block>
Category
type
Related
Examples
examples/corpus/sub/sub.fab (canonical · keyword)
Declares a direct superclass or base type.
# sub — genus inheritance (extends a parent genus)
#
# genus <Nomen> sub <Parent> { … } -- child inherits parent fields and methodi
#
# GRAMMAR:
# genusDecl :← 'genus' ident 'sub' ident block
#
# EXPECTED OUTPUT:
# Lupa latrat
genus Animal {
textus nomen
}
# Canis inherits Animal's structure
genus Canis sub Animal {
textus nomen
functio clama() → textus {
redde ego.nomen + " latrat"
}
}
incipit {
fixum _ canis ← Canis { nomen = "Lupa" }
nota canis.clama()
}