Definition Completeness and Usability - The HAC Language
Description: The HAC Language

Next: Definition Future extensions, 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.