A
、おそらくB
、そして間違いなく1つのデータ構造を必要としています。私はこの事のための一般的なデータ型をハックした場合、それはおそらく次のようになります。このデータ構造"OneまたはBoth"の正規のhaskell型はありますか?
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
ない名前がありますか?ハスケルで1つまたは両方の構造を扱う標準的な方法はありますか?
なぜ2種類で停止:
組み合わせ演算子は楽しいですか! 3 4、 ...? :-) –
「1 + A + B + A * B =(1 + A)*(1 + B)」または「(おそらくA、おそらくB ) '。 – rampion