Nasz profesor poprosił nas o przemyślenie funkcji w OCaml, która ma ten typ
'a -> 'b
tj. funkcja jednego argumentu, który może być czymkolwiek, i który może zwrócić coś innego.
Myślałem o użyciu raisefunkcji, która ignoruje jej argument:
let f x = raise Exit
Ale profesor powiedział, że istnieje rozwiązanie, które nie wymaga żadnej funkcji w standardowej bibliotece. Jestem zdezorientowany: jak możesz to zrobić, 'bjeśli go nie masz?
Pytam tutaj, a nie na temat Przepełnienia stosu, ponieważ chcę zrozumieć, co się dzieje, nie chcę po prostu zobaczyć programu bez wyjaśnienia.
raiseto zadziała, więc wiemy, jak najlepiej wyjaśnić, dlaczego rozwiązanie, którego szuka twój profesor (które zadziała z tych samych powodów, które raisedziała) działa.
raise : exn -> 'awięc mogę uzyskać wartość zwracaną, po prostu zignoruję argument.