Чому тип Scala Option не називається Можливо, так само, як і в Haskell? [зачинено]


13

Чому тип Scala Option не називається Можливо, так само, як і в Haskell?

Можливо, має для мене набагато більше "смислового сенсу", але, можливо, у Варіанта є інша поведінка, про яку я не знаю.

Чи є якась конкретна причина, чому Варіант у Скалі не називався Можливо?

Відповіді:


23

Scala також натхненний Ocaml, який використовує Option .

Параметри - це стандартний тип Ocaml, який може бути None(невизначеним) або Some xде x може бути будь-яким значенням. Параметри широко використовуються в Ocaml для представлення невизначених значень (трохи схожий на NULL в C, але безпечним для типу та пам'яті) ...

Я думаю, що обране ім’я - це питання смаку.


8
F # теж. Сторінка у Вікіпедії - це en.wikipedia.org/wiki/Option_type . Здається, це більш стандартне ім'я, ніжMaybe
KChaloux

2
Ocaml отримує ім'я від SML. Швидким оглядом через «Наступні 700 мов програмування» Ладіна я не помітив тип варіанту, тому SML може бути походженням назви.
Пітер Тейлор

1
Аргументом на користь Optionє те, що це optionalзначення (або ви його отримуєте, або не маєте). Maybeпередбачає певну ступінь невизначеності з боку програміста. Можливо, є цінність? Я не знаю .. Чи варто отримувати цінність? Формулювання optional valueна мою думку звучить більш навмисно.
Йохім Куджперс

6

Тут краще питання, чому називається тип опції Haskell Maybe. Тип опції ML - це, мабуть, онук усіх типів варіантів, і він називається option.

У будь-якому випадку це термінологічне запитання, тому принципова відповідь не матиме. Людям, які вибрали ім’я в Haskell, сподобалось це краще, ось і все.


2
Що вам довело повторювати інформацію в новій відповіді, яка вже добре висвітлена прийнятою відповіддю та її основними коментарями?
Роберт Харві

4
@RobertHarvey ML, встановивши прецедент, є новою інформацією, справжня проблема полягає в тому, що відповідь передбачає навіть це.
djechlin

ДОБРЕ. У вас є довідка чи щось більше, ніж просто думка? Тому що думки краще представити як коментарі, а не відповіді. Особливо ваш другий абзац.
Роберт Харві

2
Деф. Варіант: акт вибору; вибір. Деф. Можливо; можливо; Невизначеність; Невпевнена відповідь. Мені важко сказати Можливо, це набагато краща назва з чисто мовної точки зору. "Варіант" означає, що існують (кілька) варіантів, в той час як монадійна назва "Можливо" набагато більше: одна річ чи нічого. Але так, ML (і, отже, Варіант) прийшов першим, так що це може бути причиною поганого іменування хабіта (І дивіться коментар Пітера Тейлора до правильної відповіді вище - він посилається на ML).
fnl

@fnl Дивіться мій коментар до іншої відповіді; Я думаю, що є розумний випадок, щоб optionце було абревіатурою optional. У такому випадку вибір (декілька) зменшується до двох: або він є, або його немає.
Йохім Куджперс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.