Благодаря отличным ответам здесь, я понимаю (явно ограниченным образом) цель Haskell Maybe
и что ее определение
data Maybe a = Nothing | Just a
однако я не являюсь понятным, почему именно Just
является частью этого определения. Насколько я могу судить, именно здесь определяется Just
, но соответствующая документация ничего не говорит об этом.
Правильно ли я думаю, что основное преимущество использования Just
в определении Maybe
, а не просто
data Maybe a = Nothing | a
заключается в том, что он позволяет сопоставлять шаблоны с Just _
и для полезных функций, таких как isJust
и fromJust
?
Почему Maybe
определяется первым, а не последним?