是否有数学符号或其他简洁的符号来表示选项值(OCaml 的option
类型,Haskell 的Maybe
......)?
它在函数式编程中经常出现,以至于我希望为这种类型找到一个简洁的语法,就像列表有一些标准[]
的符号,函数有->
符号等等一样。
我知道在更正式的上下文中,可能会使用部分函数表示法,但在大多数情况下,它不如 Some/None(或 Just/Nothing)的某些显式符号那么合适。
理想情况下,我想写一些类似的东西:
This function returns #42 if the input is valid, @ otherwise.
其中#42
代表Some 42
和@
代表None
,但以标准方式,大多数读者(或至少具有一定数学背景的读者)易于理解。