Parameters - The HAC Language
Description: The HAC Language

Next: Definitions, Up: Types

### 2.1 Parameters

Parameters differ from the others in that they don't correspond to any physical instances; they are merely user-manipulated values. Currently, there are only two (built-in) parameter types: `pint`, which is an integer value, and `pbool`, which is a boolean value.

Parameters may be set no more than once, and they must be initialized before they are used. Using uninitialized parameters is an error.

We cover templates more in-depth in Templates. HAC supports parametric types, or templates, much like C++. Terminology: a template definition (or just template) is a parameterized definition. User-defined datatypes, channels, and processes may be parameterized. Currently the only types that may appear in template signatures are parameters and arrays thereof. Later we may add support for template template arguments, muahahaha.