A intuição de um tipo opcional como Maybe Int
é que ou não existe Int (assim, Nothing
existe) ou que existe algum Int; há algo lá.
Faz sentido para mim que chamamos o construtor de tipos para o caso "negativo" Nothing
, pois significa exatamente isso - que não existe Int
lá. Mas por que usar a palavra Apenas no caso em que a ênfase está em algo realmente estar lá ?
Para mim, a palavra "Justo" carrega a conotação de que o que está descrevendo é menor que a alternativa; o oposto de algo realmente estar lá; por exemplo,
A: Você está fazendo alguma coisa hoje à noite?
B: não; Eu só vou ficar e assistir TV.
A: Você investigou os sons de fantasmas assustadores em sua casa?
B: sim, na verdade era apenas uma coruja.
Claramente, não tenho nenhuma intuição em que essa escolha de nomenclatura se baseou. O que é isso? Porque para mim, a palavra Just significa o oposto de como é usada no Maybe
tipo.
Maybe
como mônada, ele provavelmente usaria return
e provavelmente algo como, em mzero
vez de Nothing
. Quando Just
é usado diretamente, geralmente Maybe
não está sendo usado no estilo monádico naquele momento.
Option
tipo. Os designers de Haskell provavelmente sentiram que foo x = Just x
"leram" melhor que foo x = Some x
. Da mesma forma, a definição data Maybe a = Just a | Nothing
lê muito bem como " Maybe a
é um Just a
ou é Nothing
". Some
lê razoavelmente bem lá, mas None
não para data Option a = Some a | None
.