On Fri, Oct 16, 2015 at 01:33:51AM +0300, Artem Chuprina wrote: ... > Я иногда тоже хочу параметров по умолчанию, но сильно подозреваю, что > это пережиток языков с duck typing. На практике, учитывая, что язык > компилируемый, всегда можно либо добавить пару параметров и поменять все > (найденные компилятором) вхождения вызовов, добавив туда дефолтные > значения, либо, что чаще, одновременно со вводом дополнительных > параметров переименовать функцию, а старое имя определить как > каррирование нового. А что если параметров десяток-два?
И, прошу прощения за невежество, что в языках с duck typing хуже по сравнению с языками со статической типизацией, если не считать размер объектного кода из-за проверок типа? Не знаю за другие языки (и даже за другие лиспы), дюже не пробовал, но в guile scheme (который я пытаюсь начать осваивать в последние пару лет) вопрос размера объектного кода сейчас во многом решается на этапе прекомпиляции (если я правильно понял одного из авторов), причём работа в этом направлении идёт масштабная. ... > DK> Сейчас я работаю в основном на Racket Scheme, Emacs/Common Lisps и > DK> Ocaml. Последний выглядит для меня примерно как Haskell, только без > DK> ленивости. Синтаксис выразительный, но логика вычислений проще поддаётся > DK> осмыслению, и дебаг также не вызывает трудностей. > > Мозги разные? Для меня логика вычислений на хаскеле на порядок (по > основанию явно больше 2, но не 10) проще для осмысления. Именно в силу > функциональности. Ведь императивный алгоритм - это инструкции для Ээээмм, ещё раз прошу прощения... А разве названные языки не- (недо-?) функциональные?

