Unknown type variable¶
This error always refers to a type definition, which uses a type variable that was not a parameter of the type being defined. For example:
Disco> type T(a,b) = N * c Error: Unknown type variable 'c'.
In this example, we are defining the type
T which has parameters
b. We are thus allowed to use
inside the definition of
T. However, here we use
c, which is
- Did you misspell a variable name?
- Did you forget to add the variable as a parameter of the type? For
example, if we want to define a type of parameterized trees, but write
type T = Unit + a * T * T, we would get this error; what we should write insitead is
type T(a) = Unit + a * T(a) * T(a).