Subtipado y Coerción
Una característica que actualmente no se encuentra implementada en los chequeos estáticos es la coersión (o subtipado) de los tipos numéricos. Una situación que podríamos querer permitir en el lenguaje, es la siguiente:
var z : real
z := 1
Debido que no existe ninguna especie de coersión admitida en la implementación de los chequeos, el código anterior generaría un mensaje error de tipos. Si profundizamos un poco, quizá incluso podríamos querer permitir situaciones como la siguiente:
var iArray : array [5] of int
var rArray : array [5] of real
...
rArray := iArray
En este caso, necesitaríamos definir las reglas de subtipado para los números enteros hacía los números reales. Esta característica podría ser discutida a lo largo del desarrollo del intérprete.
Finalmente, un último detalle, es que el tipo de la constante inf solo puede ser entero, ya que no existe ninguna clase de coerción para convertir el mismo. Debido a esto, no se podría realizar lo siguiente:
var maxValue : real
maxValue := inf