のようなオプションの型の直感は、Int Maybe Int
がない(つまり、そこにNothing
ある)か、Int があるということです。そこに何かがあります。
それは私たちが「負」の場合の型コンストラクタを呼び出すように私には理にかなってNothing
何もありませんということ-それは正確にすることを意味するので、Int
そこに。しかし、なぜ実際にそこにある何かに重点が置かれている場合にだけ、単語を使用するのですか?
私にとって、「Just」という言葉には、説明しているものが代替品よりも少ないという意味が含まれています。実際にそこにある何かの反対。例えば、
A:今夜何かしますか?
B:いいえ。私はただ滞在してテレビを見ます。
A:あなたの家の周りの不気味な幽霊の音を調査しましたか?
B:ええ、実際には単なるフクロウでした。
明らかに、この命名の選択の根拠となった直感が欠けています。それは何ですか?私にとって、「Just」という言葉は、Maybe
タイプでの使用方法の反対を意味します。
4
この場合、私は、Scalaはより良い名前と一緒に行ったと思いますいくつかのとは対照的に、なし(それはScalaの発明だとは言いません)。
—
アンドレスF。17年
@AndresF。それは、少なくともOderskyが非常によく知っていたMLに遡ります。
—
デレクエルキンズは南東部を去り
@RobertHarvey Haskellerが
—
デレクエルキンズは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 or it's Nothing
"であるため、かなり読みやすいです。Some
そこはかなりよく読みますが、None
そうではありませんdata Option a = Some a | None
。
彼らはまだ生きています。Phil WadlerやSimon Peyton Jonesのような人にメールをして、尋ねることができます。または、Haskell-Cafeメーリングリストを試してください。
—
デレクエルキンズはSEを去り、