使用Reason显示类型和值

Ari*_*ide 5 ocaml types read-eval-print-loop reason

OCaml REPL显示任何表达式的值和类型.例如,评估:

let rec map f = function
    | [] -> []
    | x::l -> f x :: map f l;;
Run Code Online (Sandbox Code Playgroud)

得到:

val map : ('a -> 'b) -> 'a list -> 'b list = <fun>
Run Code Online (Sandbox Code Playgroud)

这对于教授语言来说是无价的.

我正在考虑转换为Reason,但是你会如何获得相同的信息?

let rec map = (f) =>
  fun
  | [] => []
  | [x, ...l] => [f(x), ...map(f, l)];
Run Code Online (Sandbox Code Playgroud)

尝试Reason不显示任何类型,我不确定是否存在REPL for Reason.

gle*_*nsl 4

rtop是一个随 一起提供的顶级(OCaml 术语中的 REPL)reason-cli,而这实际上只是 的一个薄包装utop。它会打印这样的类型:

let map: (('a) => 'b, list('a)) => list('b) = <fun>;
Run Code Online (Sandbox Code Playgroud)

在 VSCode 中,merlin 还会在每个绑定上方显示的“CodeLens”中为您提供 let 绑定的类型。

在此输入图像描述