是否有一个可以像这样实现的函数的简写OCaml表示法:
match e with
Mycons ( _ ) -> true
| _ -> false
我在想typeof(e) == Mycons
,但我还没有找到任何东西。
答案 0 :(得分:6)
我经常想要这样的东西,虽然“类型相等”并不是一个好名字(恕我直言)。 Mycons
是一个值构造函数;它代表的是一种不是类型的价值。对于nullary构造函数,您可以使用((=) None)
之类的东西,但除此之外我还没有找到更简洁的方法来编写它。
答案 1 :(得分:4)
有一个较短的符号:
let isMycons a = function | Mycons(_) -> true | _ -> false
是一个单一的班轮,像匹配一样优雅。