Здравствуйте, Klapaucius, Вы писали:
_>>Интересно, тогда что это у нас, например здесь 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>В приведенном вами примере по ссылке метапрограммирование используется, так о чем мы все-таки говорим?
Какое ещё метапрограммирование в C#?
K>В данном случае разговор о том, что аналог написать нельзя — только и всего.
Ну да, конечно. Аналог написать нельзя, потому что в других языках нет контроля эффектов. А какая польза у нас тут от контроля эффектов? ) Никакой, но всё равно аналог написать нельзя. Угу.
K>Неудачность дизайна вовсе ниоткуда не следует. Вы ее вводите исключительно потому, что в плюсах дизайн совсем другой, ну и для оправдания монадофобии. Иммутабельность как прием вполне полезна и рекомендуется даже в языках, где вовсе никак не поддерживается (т.е. с дизайном "удачным" по вашему, иммутабельность не поощряющем). В хаскеле она поддерживается, в том числе имеются и обсуждаемые средства уменьшения издержек.
Не стоит путать факультативную иммутабельность (есть почти во всех языках) и обязательную (типа как в Хаскеле). Так же как не стоит путать факультативную чистоту (как в D) и обязательную (как в Хаскеле). Я весьма интенсивно использую первое во всех языках, если оно доступно. А вот обязательный вариант мне кажется бредовым и только мешающим. Точнее я вполне могу допустить вариант когда мы будем писать не const у иммутабельных, а наборот mutable у мутабельных (а остальные будут по дефолту иммутабельными) — тоже вполне себе вариант. Но в Хаскеле то даже такого нет.
K>синтаксические затраты на лифтинг безусловно есть, я их не отрицаю, я утверждаю, что они компенсируются синтаксической легковесностью остального. Т.е. применений и определений функций, лямбд, сечениями, паттерн мэтчингом и т.д.
Ну так я нигде и не возражал тому, что классический (вне монад) Хаскель является вполне симпатичным языком. Только вот он как бы не для реального применения такой... )))