История изменений
Исправление Nervous, (текущая версия) :
Ты смысл не понял вообще
Ничоси, проспался шоле %)
Да как это сделать то нормально
Да руками, ё-моё. Куча макросов имеет сайд-эффекты (def<shit>
макросы по определению сайд-эффектят — модифицируют текущее окружение, это смысл вообще их существования) и никто не делает из этого драмы.
Кстати, не ясно, откуда ты взял, что макросы в кложе могут раскрываться несколько раз. И даже если могут — почему программист не может этот факт учесть при написании макроса.
Clojure это кривой урезанный недокоммонлисп. Еще раз. Урезанный
Давай скажем честно — это не Clojure урезанный, а борщелисп неоправданно (с практической точки зрения) переусложнён. Все эти лютые eval-when
, перекладывающие головную боль с автора языка на программиста, или этот лего-адок в обобщённых функциях, куда за каким-то хреном затащили чуть ли не целый специализированный фреймворк для элементарной вещи — композиции функций, и до кучи приколотили туда свою реализацию ООП. И, что самое смешное, гораздо более простые мультиметоды в кложе (которые позволяют диспетчеризацию по произвольной функции от списка аргументов) в итоге оказываются не только более понятными, но и более общими и, соответственно, выразительными.
И такого говна там вагонами. Получается, что если ты не сын Зевса, то эти конюшни проще обойти стороной и приобщиться к идеям лиспа, не погружаясь с головой в исторически обусловленные и одобренные комитетом кровькишки — то есть используя более современные реализации лиспа. Какую-то из схем (если интерес больше академический), кложу (если более практический), или даже какое-то из кложеподобных поделий, которых нынче развелось превеликое множество (если интерес слегка извращённый, но недостаточно, чтобы таки да заныривать в кровькишки).
Исправление Nervous, :
Ты смысл не понял вообще
Ничоси, проспался шоле %)
Да как это сделать то нормально
Да руками, ё-моё. Куча макросов имеет сайд-эффекты (def<shit>
макросы по определению сайд-эффектят — модифицируют текущее окружение, это смысл вообще их существования) и никто не делает из этого драмы.
Кстати, не ясно, откуда ты взял, что макросы в кложе могут раскрываться несколько раз.
Clojure это кривой урезанный недокоммонлисп. Еще раз. Урезанный
Давай скажем честно — это не Clojure урезанный, а борщелисп неоправданно (с практической точки зрения) переусложнён. Все эти лютые eval-when
, перекладывающие головную боль с автора языка на программиста, или этот лего-адок в обобщённых функциях, куда за каким-то хреном затащили чуть ли не целый специализированный фреймворк для элементарной вещи — композиции функций, и до кучи приколотили туда свою реализацию ООП. И, что самое смешное, гораздо более простые мультиметоды в кложе (которые позволяют диспетчеризацию по произвольной функции от списка аргументов) в итоге оказываются не только более понятными, но и более общими и, соответственно, выразительными.
И такого говна там вагонами. Получается, что если ты не сын Зевса, то эти конюшни проще обойти стороной и приобщиться к идеям лиспа, не погружаясь с головой в исторически обусловленные и одобренные комитетом кровькишки — то есть используя более современные реализации лиспа. Какую-то из схем (если интерес больше академический), кложу (если более практический), или даже какое-то из кложеподобных поделий, которых нынче развелось превеликое множество (если интерес слегка извращённый, но недостаточно, чтобы таки да заныривать в кровькишки).
Исправление Nervous, :
Ты смысл не понял вообще
Ничоси, проспался шоле %)
Да как это сделать то нормально
Да руками, ё-моё. Куча макросов имеет сайд-эффекты (def<shit>
макросы по определению сайд-эффектят — модифицируют текущее окружение, это смысл вообще их существования) и никто не делает из этого драмы.
Кстати, не ясно, откуда ты взял, что макросы в кложе могут раскрываться несколько раз.
Clojure это кривой урезанный недокоммонлисп. Еще раз. Урезанный
Давай скажем честно — это не Clojure урезанный, а борщелисп неоправданно (с практической точки зрения) переусложнён. Все эти лютые eval-when
, перекладывающие головную боль с автора языка на программиста, или этот лего-адок в обобщённых функциях, куда за каким-то хреном затащили чуть ли не целый специализированный фреймворк для элементарной вещи — композиции функций, и до кучи приколотили туда свою реализацию ООП. И, что самое смешное, гораздо более простые мультиметоды в кложе (которые позволяют диспетчеризацию по произвольной функции от списка аргументов) в итоге оказываются не только более понятными, но и более общими и, соответственно, выразительными.
И такого говна там вагонами. Получается, что если ты не сын Зевса, то эти конюшни проще обойти стороной и приобщиться к идеям лиспа, не погружаясь с головой в исторически обусловленные и одобренные комитетом кровькишки — то есть используя более современные реализации лиспа. Какую-то из схем (если интерес больше академический), кложу (если более практический), или даже какое-то из кложеподобных поделий, которых нынче развелось превеликое множество (если интерес слегка извращённый, но недостаточно, чтобы таки да заныривать).
Исходная версия Nervous, :
Ты смысл не понял вообще
Ничоси, проспался шоле %)
Да как это сделать то нормально
Да руками, ё-моё. Куча макросов имеет сайд-эффекты (def<shit>
макросы по определению сайд-эффектят — модифицируют текущее окружение, это смысл вообще их существования) и никто не делает из этого драмы.
Кстати, не ясно, откуда ты взял, что макросы в кложе могут раскрываться несколько раз.
Clojure это кривой урезанный недокоммонлисп. Еще раз. Урезанный
Давай скажем честно — это не Clojure урезанный, а борщелисп неоправданно (с практической точки зрения) переусложнён. Все эти лютые eval-when
, перекладывающие головную боль с автора языка на программиста, или этот лего-адок в обобщённых функциях, куда за каким-то хреном затащили чуть ли не целый специализированный фреймворк для элементарной вещи — композиции функций, и до кучи приколотили туда свою реализацию ООП. И, что самое смешное, гораздо более простые мультиметоды в кложе (которые позволяют диспетчеризацию по произвольной функции от списка аргументов) в итоге оказываются не только более понятными, но и более общими и, соответственно, выразительными.
И такого говна там вагонами. Получается, что если ты не сын Зевса, то эти конюшни проще обойти стороной и приобщиться к идеям лиспа, не погружаясь с головой в исторически обусловленные и одобренные комитетом кровькишки — используя более современные реализации. Какую-то из схем (если интерес больше академический), кложу (если более практический), или даже какое-то из кложеподобных поделий, которых нынче развелось превеликое множество (если интерес слегка извращённый, но недостаточно, чтобы таки да заныривать).