编译时是否可以使ocamlc产生自定义警告?我有一些未完成的代码,我想提醒一下它还没有完成。例如:我要编写一个reverse函数。我现在不费心思想如何进行编码,所以我只写了一些类型检查的东西。

let reverse xs = xs


我想写点东西

let reverse xs = Compiler_Warning "TODO: reverse"; xs


那可能吗?我很想听到实现类似结果的任何技巧。

最佳答案

一个常见的技巧是使用failwith "not implemented"或仅使用assert false引发异常。

如果未实现的函数中有未使用的参数,这将给您一个警告。虽然,默认情况下它们是禁用的。因此,您需要添加-Wall选项以启用它们。

另外,您可以在实现中添加一个故意未使用的变量,例如:

let reverse xs =
  let unimplemented = () in
  xs

关于ocaml - OCaml自定义编译器警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23612621/

10-10 18:35
查看更多