Интуиция необязательного типа, подобного этому, Maybe Intзаключается в том, что либо нет Int (то есть он Nothingесть), либо существует некоторое Int; там что-то есть
Для меня имеет смысл, что мы вызываем конструктор типов для «отрицательного» случая Nothing, поскольку это означает именно то, что там его нет Int. Но зачем использовать слово « Просто» в том случае, когда акцент делается на том, что на самом деле есть ?
Для меня слово «просто» несет в себе смысл того, что то, что оно описывает, меньше альтернативы; противоположность чего-то на самом деле существующего там; например,
A: Вы делаете что-нибудь сегодня вечером?
Б: Нет; Я просто останусь и посмотрю телевизор.
A: Вы исследовали жуткие призрачные звуки вокруг вашего дома?
Б: Да, оказывается, это была просто сова.
Очевидно, мне не хватает интуиции, на которой был основан этот выбор имен. Что это такое? Потому что для меня слово Just означает противоположность тому, как оно используется в Maybeтипе.
Maybeв качестве монады, они, вероятно, использовали бы returnи, вероятно, что-то вроде mzeroвместо Nothing. Когда Justиспользуется напрямую, обычно Maybeне используется в монадическом стиле в этот момент.
Optionтипом. Дизайнеры Haskell, вероятно, сочли, что foo x = Just x«читают» лучше, чем foo x = Some x. Точно так же определение data Maybe a = Just a | Nothingчитается очень хорошо, как « Maybe aесть Just aили есть Nothing». Someтам неплохо читает, но Noneне для data Option a = Some a | None.