При этом каждое поле по отдельности может отсутствовать, но нельзя, чтобы отсутствовали сразу оба. Это можно как-то закодировать в типе?
Maybe (Maybe a, Maybe b) ?
тут может быть Just (Nothing, Nothing)
Either (Maybe a, b) (a, Maybe b)
Left (Just a, b) и Right (a, Just b) — это разные значения?
ну типа да, но нет
b | (a, Maybe b)
zipper?
Either (a,b) (Either (a,()) ((),b)) ?
вот этот лучший пока что
В смысле зипперы посчитают тебе тип с одной дыркой для любого типа без дырок. Нужно просто от типа производную посчитать
https://hackage.haskell.org/package/these
а если поля три, то может быть одно, два или три, но не 0?
Выпрямил спину?
Обсуждают сегодня