是否有数学符号或其他简洁的符号来表示选项值(OCaml的option
类型,Haskell的Maybe
...)?
在函数式编程中经常出现这种情况,我希望找到这种类型的简洁语法,同样的方式列表有一些标准的[]
符号,函数有->
符号,所以上。
我知道在更正式的上下文中,可能会使用部分函数表示法,但在大多数情况下,它不适合Some / None(或Just / Nothing)的某些显式符号。
理想情况下,我想写一些类似的东西:
This function returns #42 if the input is valid, @ otherwise.
其中#42
代表Some 42
而@
代表None
,但标准方式,大多数读者(或至少具有某些数学背景的读者)都可以轻松理解。
答案 0 :(得分:0)
我没有看到任何这样的具体表示法。我所知道的最接近的是使用数学符号来表达类型:α ⊕ 1
。这里⊕代表类型的直接和(不相交联合),1代表单位类型。
这种表示法用于类别理论或打字系统。