Il nostro professore ci ha chiesto di pensare a una funzione in OCaml che ha il tipo
'a -> 'b
cioè una funzione di un argomento che potrebbe essere qualsiasi cosa e che può restituire qualsiasi cosa diversa.
Ho pensato di usare raise
una funzione che ignora il suo argomento:
let f x = raise Exit
Ma il professore ha detto che c'era una soluzione che non richiede alcuna funzione nella libreria standard. Sono confuso: come puoi fare un 'b
se non ne hai uno in primo luogo?
Sto chiedendo qui piuttosto che su Stack Overflow perché voglio capire cosa sta succedendo, non voglio vedere solo un programma senza spiegazioni.
raise
avrebbe funzionato, quindi sappiamo come spiegare meglio perché la soluzione che il tuo prof sta cercando (che funzionerà per gli stessi motivi che raise
funzionano) funziona.
raise : exn -> 'a
modo da poter ottenere il valore restituito, ho semplicemente ignorato l'argomento.