【发布时间】:2020-11-23 16:32:02
【问题描述】:
对于以下代码,是否可以在 Haskell 中组合绑定?这是原始代码:
Either1 a b = Left1 a | Right1 b
either1 :: Either1 () ()
either1 = Left1 ()
either2 :: Either1 () ()
either2 = Right1 ()
我想要的是这样的:
Either1 a b = Left1 a | Right1 b
either1 :: Either1 () ()
either1 = Left1 () || Right1 ()
这可能吗?如果是这样,如何正确完成?上面对预期类型大喊大叫。
我想知道我是否可以创建一个可以导致两个选项中的任何一个的绑定。我只是想知道这是否有可能。
【问题讨论】:
-
您希望您的
either1表现如何?你为什么要这个?你要求什么功能?你问“这可能吗?”但我很不清楚“this”是什么意思。 -
我想知道我是否可以创建一个可以导致两个选项之一的单个绑定。我只是想知道这是否有可能。我认为答案是否定的,但我是 Haskell 的新手,所以只想仔细检查