Информация об изменениях

Сообщение Re[12]: Опциональные типы от 27.02.2017 16:46

Изменено 27.02.2017 16:56 vdimas

Re[12]: Опциональные типы
Здравствуйте, VladD2, Вы писали:

V>>Не надо меня перевирать:

VD>Помилуй! Никто и не собирался перевирать. Вот твои исходные утверждения:
VD>

VD>Например, в ФП языках некий Т был value-тип (ну вот так компилятор решил), а после заворачивания F(T) всегда получаем ссылочный тип. Итого, храним лишнюю ссылку вместо значения.

VD>Я тебе показал используемый на практике ValueOption в функциональном языке, что полностью опровергает твои утверждения.

Самое смешное тут то, что про ОСaml тебе несколько лет назад говорил именно я, предлагая возможность описывать variant value SomeVariant и даже давал пример мапинга такого описания на потенциальный генерируемый код.

В общем, OCaml — это не чистый ФП. Это гибридный язык, с мутабельностью, ООП и даже unsafe в шаговой доступности, как и Nemerle — тоже гибридный язык.

В общем, я одно время подробно изучал как унутре работают языки из семейства Standard ML и Хаскель — варианты представлены обычными ссылочными типами, над которыми трудится GC.

Ну и, справедливости ради, у тебя не F(T) из исходного утверждения:

По такой формуле: F(T) = T + 1. Здесь + это сумма типов.

Записи — это произведения, суммы — алгебраики.

К тому же, ты малость потерял контекст. Следующее в той же ветке моё сообщение:
http://www.rsdn.org/forum/philosophy/6705449.1
более подробно раскрывает мою мысль:
можно использовать ссылочные типы как nullable, а для non-nullable ввести ДРУГОЙ тип.

И там же далее по ветке токается та идея, что для боксированного представления Some и None последний можно представить просто через null. Именно для обоснования такой идеи я напомнил, что в ФП-языках алгебраики почти всегда ссылочные.

В общем, ты вырвал утверждение из контекста.
Оно было не само по себе, а в кач-ве аргумента для описанного решения.
Re[12]: Опциональные типы
Здравствуйте, VladD2, Вы писали:

V>>Не надо меня перевирать:

VD>Помилуй! Никто и не собирался перевирать. Вот твои исходные утверждения:
VD>

VD>Например, в ФП языках некий Т был value-тип (ну вот так компилятор решил), а после заворачивания F(T) всегда получаем ссылочный тип. Итого, храним лишнюю ссылку вместо значения.

VD>Я тебе показал используемый на практике ValueOption в функциональном языке, что полностью опровергает твои утверждения.

Самое смешное тут то, что про ОСaml тебе несколько лет назад говорил именно я, предлагая возможность описывать variant value SomeVariant и даже давал пример мапинга такого описания на потенциальный генерируемый код.

В общем, OCaml — это не чистый ФП. Это гибридный язык, с мутабельностью, ООП и даже unsafe в шаговой доступности, как и Nemerle — тоже гибридный язык.

В общем, я одно время подробно изучал как унутре работают языки из семейства Standard ML и Хаскель — варианты представлены обычными ссылочными типами, над которыми трудится GC.

Ну и, справедливости ради, у тебя не F(T) из исходного утверждения:

По такой формуле: F(T) = T + 1. Здесь + это сумма типов.

Записи — это произведения, суммы — алгебраики.

К тому же, ты малость потерял контекст. Следующее в той же ветке моё сообщение:
http://www.rsdn.org/forum/philosophy/6705449.1
более подробно раскрывает мою мысль:
можно использовать ссылочные типы как nullable, а для non-nullable ввести ДРУГОЙ тип.

И там же далее по ветке толкается та идея, что для боксированного представления Some и None последний можно представить просто через null. Именно для обоснования такой идеи я напомнил, что в ФП-языках алгебраики почти всегда ссылочные.

В общем, ты вырвал утверждение из контекста.
Оно было не само по себе, а в кач-ве аргумента для описанного решения.