Intuicja opcjonalnego typu jak Maybe Int
to, że albo nie ma żadnego Int (w ten sposób, nie Nothing
istnieje), albo że istnieje jakiś Int; coś tam jest.
Ma dla mnie sens, że nazywamy konstruktor typu dla przypadku „negatywnego” Nothing
, ponieważ oznacza to dokładnie to, że tam nie Int
ma. Ale po co używać słowa Właśnie w przypadku, gdy nacisk kładziony jest na coś, co rzeczywiście tam jest ?
Dla mnie słowo „po prostu” niesie ze sobą konotację, że rzecz, którą opisuje, jest mniejsza niż alternatywa; przeciwieństwo czegoś, co faktycznie tam jest; na przykład,
Odp .: Czy robisz coś dziś wieczorem?
B: Nie; Jestem po prostu będzie pobyt i oglądać telewizję.
Odp .: Czy badałeś przerażające dźwięki duchów w twoim domu?
B: Tak, okazuje się, że to była po prostu sowa.
Najwyraźniej brakuje mi jakiejkolwiek intuicji, na której opiera się ten wybór nazw. Co to jest? Ponieważ dla mnie słowo Po prostu oznacza przeciwieństwo tego, w jaki sposób jest używane w tekście Maybe
.
Maybe
jako monada, prawdopodobnie użyłby return
i prawdopodobnie coś podobnego mzero
zamiast Nothing
. Kiedy Just
jest używany bezpośrednio, zwykle Maybe
nie jest w tym momencie używany w stylu monadycznym.
Option
typu. Projektanci Haskell zapewne uważali, że foo x = Just x
„czytają” lepiej niż foo x = Some x
. Podobnie definicja data Maybe a = Just a | Nothing
brzmi całkiem dobrze jako „ Maybe a
jest albo Just a
albo Nothing
”. Some
czyta się tam dość dobrze, ale None
tak nie jest data Option a = Some a | None
.