Die Intuition eines optionalen Typs wie Maybe Intist, dass entweder kein Int vorhanden ist (also vorhanden ist Nothing) oder dass es ein Int gibt; da ist etwas.
Für mich ist es sinnvoll, den Typkonstruktor für den "negativen" Fall zu nennen Nothing, da dies genau bedeutet - dass es dort keinen Intgibt. Aber warum das Wort nur für den Fall verwenden, dass der Schwerpunkt auf etwas liegt, das tatsächlich da ist ?
Für mich hat das Wort "Just" die Konnotation, dass das, was es beschreibt, weniger als die Alternative ist; das Gegenteil von etwas, das tatsächlich da ist; beispielsweise,
A: Machst du heute Abend etwas?
B: Nein; Ich werde einfach bleiben und fernsehen.
A: Hast du die gruseligen Geistergeräusche in deinem Haus untersucht?
B: Ja, es stellte sich heraus, dass es eigentlich nur eine Eule war.
Offensichtlich fehlt mir die Intuition, auf der diese Namenswahl beruhte. Was ist es? Denn für mich bedeutet das Wort Just genau das Gegenteil davon, wie es in dem MaybeTyp verwendet wird.
Maybeals Monade verwendet würde, würde er wahrscheinlich verwenden returnund wahrscheinlich so etwas wie mzeroanstelle von Nothing. Wenn Justes direkt verwendet wird, Maybewird es zu diesem Zeitpunkt normalerweise nicht im monadischen Stil verwendet.
OptionTyp gewesen. Die Designer von Haskell hatten wahrscheinlich das Gefühl, dass foo x = Just xsie besser "lesen" als foo x = Some x. In ähnlicher Weise data Maybe a = Just a | Nothingliest sich die Definition ziemlich gut als " Maybe aist entweder Just aoder es ist Nothing". Someliest sich dort einigermaßen gut, Nonetut es aber nicht für data Option a = Some a | None.