Nello Schema, posso scrivere una funzione:Posso definire una funzione OCaml che restituisce sé stessa?
(define (eat-line line)
eat-line)
quale ho potuto utilizzare in un ciclo come:
(define (loop op)
(let ((line (read-line))
(loop (op line))))
In OCaml ho cercato di definire una funzione:
let rec eat_line line = eat_line
Ma ho ricevuto l'errore:
Error: This expression has type 'a -> 'b
but an expression was expected of type 'b
The type variable 'b occurs inside 'a -> 'b
È possibile definire tale funzione in OCaml o è impedita dal sistema di tipi? Se è così, perché?
Grazie per la risposta sorprendentemente rapida! –
Per i lettori: questo è stato discusso 15 anni fa: http://caml.inria.fr/pub/old_caml_site/caml-list/2040.html –