Notre professeur nous a demandé de penser à une fonction dans OCaml qui a le type
'a -> 'b
c'est-à-dire une fonction d'un argument qui pourrait être n'importe quoi, et qui peut retourner un autre chose.
J'ai pensé à utiliser raise
dans une fonction qui ignore son argument:
let f x = raise Exit
Mais le professeur a dit qu'il y avait une solution qui ne nécessite aucune fonction dans la bibliothèque standard. Je suis confus: comment pouvez-vous en faire un 'b
si vous n'en avez pas en premier lieu?
Je demande ici plutôt que sur Stack Overflow parce que je veux comprendre ce qui se passe, je ne veux pas simplement voir un programme sans explication.
raise
cela fonctionnerait, nous savons donc comment expliquer au mieux pourquoi la solution recherchée par votre prof (qui fonctionnera pour les mêmes raisons que celles qui raise
fonctionnent) fonctionne.
raise : exn -> 'a
afin que je puisse obtenir la valeur de retour, j'ignore simplement l'argument.