ocaml - 如何请求变量的类型类?

标签 ocaml reason bucklescript

我正在尝试学习 ReasonML,并且我正在做一些 koans 来帮助我完成这项任务。我尝试编写的其中一个 koans 是关于在将列表转换为数组后询问列表的类型。我知道在某些语言中有运算符,例如 Haskell (:t),我们可以在其中询问变量的类型。 ReasonML 是否有任何等同于 :t 的东西?或者检查 Array.of_list 是否返回数组是没有意义的,因为编译器确保...

最佳答案

我不太了解 Reason,但是 utop(改进的 OCaml REPL)提供了 #typeof 指令来检查表达式的类型:

let a = 42;;
val a : int = 42

#typeof "a";;
val a : int

请注意,这只是一个 REPL 工具。在 OCaml 中,类型在运行时不可用:它们在编译期间被剥离。您可以了解更多有关 OCaml 编译过程的信息 here .


正如 @Rizo 指出的那样在注释中,还有 #show 指令,它甚至在标准 OCaml REPL 中可用:

let a = 43;;
val a : int = 43

#show a;;
val a : int

关于ocaml - 如何请求变量的类型类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48064442/

相关文章:

javascript - 如何构造一个js对象并用js_of_ocaml调用它的方法?

module - 是否可以不导出 BuckleScript 中的模块?

monads - ReasonML 是否具有等效于 F# 的计算表达式?

ocaml - 什么是 PPX?

reason - Reason 中的 .() 和 .{} 有什么区别?

reason - 绑定(bind)带有选项参数的函数

pattern-matching - OCaml:匹配另一个表达式中的表达式?

c - Ocaml-> .so-> Golang

compiler-errors - 命令代码中的语法错误

javascript - 如何在 ReasonML 中进行 protobuf?