相关疑难解决方法(0)

"One or Both"是否有规范的haskell类型?

我发现自己需要的数据结构可能包含一个A,也许是一个B,而且肯定是其中之一.如果我要破解这个东西的一般数据类型,它可能看起来像:

data OneOrBoth a b = A a | B b | AB a b

maybeA :: OneOrBoth a b -> Maybe a
maybeB :: OneOrBoth a b -> Maybe b
eitherL :: OneOrBoth a b -> Either a b -- Prefers a
eitherR :: OneOrBoth a b -> Either a b -- Prefers b
hasBoth, hasExactlyOne, hasA, hasB :: OneOrBoth a b -> Bool
Run Code Online (Sandbox Code Playgroud)

这个数据结构有名字吗?是否有规范的方法来处理Haskell中的一个或两个结构?

haskell

26
推荐指数
3
解决办法
1153
查看次数

标签 统计

haskell ×1