Re[39]: Есть ли вещи, которые вы прницпиально не понимаете...
От: alex_public  
Дата: 12.02.14 16:33
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>Нет, не существует. Вы вообще-то процитировали ответ на ваш вопрос — см.выше.


Интересно, тогда что это у нас, например здесь http://ru.wikipedia.org/wiki/Singleton#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80_.D0.BD.D0.B0_C.23?)

K>Конкретно в текстовом редакторе:

K>Rope в котором хранится редактируемый текст. Дерево — монада, порядок текстовых блоков — моноид.
K>Лейаут виджетов — моноид.
K>Последовательность нажатий на клавиши — функтор.
K>Ширина окна — аппликативный функтор.
K>Сериализатор/десериализатор файла настроек — аппликативный функтор.
K>Парсер для подсветки кода — монада.
K>IOC-контейнер — монада.
K>и т.д.

Хы, ну если заменить слово монада на слово процедура, то классический ООП код тоже спокойно будет попадать под такое определение. )))

K>Именно тут я про пользу ничего не говорил. Просто объяснил почему этот код аналогом не является и почему на C++ аналог написать нельзя.


Угу, угу. аналога написать нельзя, но пользы от этого не имеющего аналогов нет. Я приблизительно так себе и представлял... )

K>Польза, впрочем, в обсуждаемом примере уже очевидна — оптимизатор выкинул несколько ненужных копирований (все кроме одного), в результате разницы по производительности между "наивным" примером с иммутабельными массивами и примером с мутабельными почти нет.


Польза в виде борьбы с проблемами, вызванными неудачным дизайном язык — это конечно очень интересно. )))

K>В чем же его "вынужденная кривизна"?


Ууу, там много всего. Хотя первоисточник проблемы общий. Ну если взять этот наш конкретный код... Как насчёт записать его в виде чего-то типа "M.write a 1 (M.read a 1)^2"? )
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.