Confundido sobre el subtipo de funciones.
Estoy tomando un curso sobre lenguajes de programación y la respuesta a "cuándo es una función un subtipo de otra función" es muy poco intuitiva para mí.
Para aclarar: supongamos que tenemos la siguiente relación de tipo:
bool<int<real
Por que es la funcion(real->bool)
un subtipo de(int->bool
)? ¿No debería ser al revés?
Espero que los criterios para las funciones de sub escritura sean: f1 es un subtipo de f2 si f2 puede tomar cualquier argumento que f1 pueda tomar, y f1 solo devuelve los valores que f2 devuelve. Claramente hay valores que f1 puede tomar, pero f2 no puede.