Nuestro profesor nos pidió que pensáramos en una función en OCaml que tenga el tipo
'a -> 'b
es decir, una función de un argumento que podría ser cualquier cosa, y que puede devolver una cosa diferente.
Pensé en usar raise
una función que ignora su argumento:
let f x = raise Exit
Pero el profesor dijo que había una solución que no requiere ninguna función en la biblioteca estándar. Estoy confundido: ¿cómo puedes hacer un 'b
si no tienes uno en primer lugar?
Estoy preguntando aquí en lugar de en Stack Overflow porque quiero entender lo que está sucediendo, no quiero ver un programa sin ninguna explicación.
raise
funcionaría, por lo que sabemos cómo explicar mejor por qué funciona la solución que busca su profesor (que funcionará por las mismas razones que raise
funciona).
raise : exn -> 'a
para poder obtener el valor de retorno, simplemente ignoro el argumento.