같은 옵션 형태의 직관 Maybe Int
중 하나 없다는 것입니다 더 지능 (따라서, 거기 Nothing
가) 또는이 있다는 일부 지능; 뭔가가 있습니다.
우리가 "부정적"사례에 대한 타입 생성자를 호출한다는 것은 나에게 의미가 있습니다 Nothing
. 왜냐하면 그것은 그것이 존재하지 않는다는 것을 의미하기 Int
때문입니다. 그런데 왜 단어를 사용 그냥 강조 뭔가에있는 경우에 실제로 거기 ?
나에게 "그냥"이라는 단어는 그것이 묘사하는 것이 대안보다 적다 는 의미를 내포 하고있다. 실제로 거기에있는 것의 반대; 예를 들어
A : 오늘 밤에 뭐하세요?
B : 아니오; 난 그냥 머물면서 TV를 볼거야.
A : 집 주변의 소름 끼치는 유령 소리를 조사 했습니까?
B : 네, 실제로이었다 밝혀 단지 올빼미.
분명히이 명명 선택의 기반이 된 직관이 부족합니다. 무엇입니까? 나에게 그냥 단어라는 단어 가 Maybe
형식 에서 사용되는 방식과 반대되는 것을 의미합니다 .
4
이 경우, Scala는 None 과 반대로 (Scala의 발명이라고 말하지 않는) Some 이라는 더 나은 이름으로 갔다고 생각합니다 .
—
Andres F.
@AndresF. 그것은 Odersky가 확실히 매우 친숙했던 ML로 돌아갑니다.
—
데릭 엘 킨스가
@RobertHarvey Haskeller가
—
Derek Elkins가 SE
Maybe
모나드 로 사용 하고 있다면 아마도을 대신 사용 return
했을 것 mzero
입니다 Nothing
. 를 Just
직접 사용하는 경우 일반적으로 Maybe
해당 시점에서 모나드 스타일로 사용되지 않습니다.
역사적 선례가 그
—
데릭 엘 킨스가
Option
유형 이었을 것 입니다. Haskell의 설계자들은 아마도 foo x = Just x
"읽는 것"보다 낫다고 느꼈을 것 foo x = Some x
입니다. 마찬가지로, 정의 data Maybe a = Just a | Nothing
는 " Maybe a
is Just a
or it 's Nothing
" 로 잘 읽 힙니다 . Some
거기에 합리적으로 잘 읽지 만에 대한 None
것은 아닙니다 data Option a = Some a | None
.
그들은 여전히 살아있다. Phil Wadler 나 Simon Peyton Jones와 같은 사람들에게 이메일을 보내서 물어볼 수 있습니다. 또는 Haskell-Cafe 메일 링리스트를 사용해보십시오.
—
Derek Elkins가 SE