Haskellのように、Scala OptionタイプがMaybeと呼ばれないのはなぜですか?[閉まっている]


13

Haskellのように、Scala OptionタイプがMaybeと呼ばれないのはなぜですか?

多分私にはもっと「意味論的」になりますが、Optionには私が知らない別の動作があるかもしれません。

ScalaのOptionがMaybeと呼ばれなかった特別な理由はありますか?

回答:


23

ScalaはOptionを使用するOcamlにも影響を受けています。

オプションは、Ocamlの標準タイプであり、None(未定義)またはSome xxは任意の値になります。オプションは、未定義の値を表すためにOcamlで広く使用されています(CのNULLに少し似ていますが、型とメモリセーフな方法で)...

選択した名前は好みの問題だと思います。


8
F#も。ウィキペディアのページはen.wikipedia.org/wiki/Option_typeです。より標準的な名前のようですMaybe
KChaloux

2
OcamlはSMLから名前を取得します。LandinのThe Next 700 Programming Languagesをざっと見てみると、オプションタイプに気付かなかったので、SMLが名前の由来かもしれません。
ピーターテイラー

1
賛成の議論Optionは、それがoptional値であるということです(あなたはそれを得るか、または得ない)。Maybeプログラマー側のある程度の不確実性を意味します。価値があるのでしょうか?わからない..値を取得する必要がありますか?optional value私の意見では、文言はより意図的に聞こえます。
Jochem Kuijpers

6

ここでのより良い質問は、Haskellのオプションタイプが呼び出される理由Maybeです。MLのオプションタイプはおそらくすべてのオプションタイプのgrandaddyであり、と呼ばれていoptionます。

いずれにせよ、これは用語上の質問なので、原則的な答えは得られません。Haskellで名前を選んだ人々は、それをより気に入った、それだけです。


2
受け入れられた回答とその根底にあるコメントですでに十分にカバーされている新しい回答で情報を繰り返す必要がありましたか?
ロバートハーヴェイ

4
先例を設定した@RobertHarvey MLは新しい情報であり、本当の問題は答えがそれでさえ推測しているということです。
-djechlin

OK。参照、または単なる意見以上のものがありますか?意見は回答ではなくコメントとして表現する方が適切だからです。特に2番目の段落。
ロバートハーヴェイ

2
Def。オプション:選択する行為。選択。Def。おそらく; おそらく; 不確実性; 不確かな返信。私にとっては、たぶん、純粋に言語的な観点から言うと、もっと良い名前かもしれません。「オプション」は、(複数の)選択肢があることを意味しますが、モナド名の「たぶん」は、もっと重要なことです。しかし、はい、ML(したがってOption)が最初に来たので、それが悪い命名習慣の理由かもしれません(そして、上記の正しい答えに対するPeter Taylorのコメントを参照-彼はMLを参照します)。
-fnl

@fnl他の回答に関する私のコメントをご覧ください。のoption略語である合理的なケースがあると思いますoptional。その場合、(複数の)選択肢は2つだけに削減されます:存在するか、存在しないかのどちらかです。
Jochem Kuijpers
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.