Renderingla

implet

Declares that a type implements one or more implendum contracts.

Aliases: implements

Syntax: genus <name> implet <interface-list> <block>

Category

type

Related

Examples

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

Declares that a type implements one or more implendum contracts.

# implet — genus implements a implendum (interface contract)
#
# genus Nomen implet Implendum { … }
#
# GRAMMAR:
#   genusDecl :← 'genus' ident 'implet' ident '{' methodDecl* '}'
#
# EXPECTED OUTPUT:
#   implet.expected — Aurelia from implendum plenum().

implendum Nominatum {
    functio plenum() → textus
}

genus Civis implet Nominatum {
    textus nomen

    functio plenum() → textus {
        # satisfies implendum requirement
        redde "§"(ego.nomen)
    }
}

incipit {
    fixum _ civis ← Civis { nomen = "Aurelia" }
    nota civis.plenum()
}

Expected output:

Aurelia