Next: , Previous: Definitions, Up: Types


2.3 Completeness and Usability

In HAC, there are three levels of completeness for definitions.

  1. A definition is declared if its template signature (which may be empty) has been defined. Forward declarations of a type only specify the name and template parameters, and no other information.
  2. A definition is signed if it is declared and its public ports interface (which may be empty) has been defined.
  3. A definition is defined if it is signed and its body has been defined.

NOTE: what about definition bindings?

Since type information only refers to template parameters, a type may refer to any declared definition.