在Scheme中,我可以编写一个函数:
但是我遇到了错误:
在OCaml中定义这样的函数是否可能,或者被类型系统阻止了?如果是这样,为什么?
(define (eat-line line)
eat-line)
我可以在循环中使用它,例如:
(define (loop op)
(let ((line (read-line))
(loop (op line))))
在OCaml中,我尝试定义一个函数:
let rec eat_line line = eat_line
但是我遇到了错误:
Error: This expression has type 'a -> 'b
but an expression was expected of type 'b
The type variable 'b occurs inside 'a -> 'b
在OCaml中定义这样的函数是否可能,或者被类型系统阻止了?如果是这样,为什么?