Functional programming 什么';s是“的简明符号”;选项值;?

Functional programming 什么';s是“的简明符号”;选项值;?,functional-programming,Functional Programming,是否有数学符号或其他简洁的符号来表示选项值(OCaml的选项类型,Haskell的可能…) 它经常出现在函数式编程中,我希望能找到这种类型的简洁语法,就像列表有一种标准的[]表示法,函数有->表示法,等等 我知道,在更正式的上下文中,可能会使用部分函数表示法,但在大多数情况下,它不像某些/None(或只是/Nothing)的显式符号那样适合 理想情况下,我想写一些如下内容: 如果输入有效,此函数返回#42,否则返回@。 其中#42代表一些42和@代表无,但以一种标准的方式,大多数读者(或至少有一

是否有数学符号或其他简洁的符号来表示选项值(OCaml的
选项
类型,Haskell的
可能
…)

它经常出现在函数式编程中,我希望能找到这种类型的简洁语法,就像列表有一种标准的
[]
表示法,函数有
->
表示法,等等

我知道,在更正式的上下文中,可能会使用部分函数表示法,但在大多数情况下,它不像某些/None(或只是/Nothing)的显式符号那样适合

理想情况下,我想写一些如下内容:

如果输入有效,此函数返回#42,否则返回@。


其中
#42
代表
一些42
@
代表
,但以一种标准的方式,大多数读者(或至少有一些数学背景的读者)很容易理解。我所知道的最接近于使用数学符号来表示类型:
α⊕ 1
。在这里⊕ 表示类型的直接和(不相交并集),1表示单位类型


这个符号用于分类理论或打字系统。

如果你想问是否有这样的符号,显然没有一个是任何读者都能理解的;你是对的,我重新考虑了“一些数学背景的读者”,这可能是我所缺乏的。也许有某种语言,其中空/非空引用共享某种类似的符号?我考虑过使用问号“?”,但它们在正则表达式中使用,因此,我不确定它们是否是正确的表示法。对于问号:存在一种类似于C#的表示法,它转换为
Nullable
,但这非常具体(仅适用于值类型),并且不会出现在值级别(您可以只写
1
null
,而不是
#1
)。