Я думаю, Вы не правы. За отказом от пользовательских ридер-макр стоит вполне разумное желание сделать код более понятным для других. Если бы каждый пользователь мог плодить какие-угодно reader macro, то это усложнило бы чтение его кода для его коллег, да и вполне вероятно, для него самого через некоторое время. К ним нужно относится как статическим элементам синтаксиса, не более.
А писать свои обычные макросы — прошу, никаких запретов тут конечно же нет.
Да нет же, #() — это стандартное reader macro — макрос, который разворачивается на первом же проходе кода, до того, как его увидит компилятор. Reader macro — это сокращения для часто используемых операций, их нельзя обьявлять самому, и их существует немного стандартных.
С помощью того же ридер макро лямбду (fn[x y] (+ x y)) можно записать как #(+ %1 %2). Вообще, их использование поощряется только там, где они совершенно прозрачны и ускоряют чтение, но ни в коем случае не запутывают.
Вектора записываются через квадратные скобки. Например: [1 2 3 4 5].
А лямбды определяются именно с помощью fn. То есть выглядеть такая лямбда это будет точно как вы написали:
(fn[] *username*)
Вы имеете в виду хвостовую рекурсию? Да, в ANSI Common Lisp поддержка хвостовой рекурсии не заявлена. Другое дело — Scheme или Clojure, их тоже порой лиспами называют.
Попробуйте TeX, и вам больше никогда не придется уставать от любого мышкотыканья в любых wysiwig редакторах.
А так же от игры с оформлением, от проблем с большими документами, о переоформлении документа при вставке его в другой.
И при этом — имеет богатейшую историю, большое сообщество и находится в public domain.
Я не понимаю, почему при переходе на Lisp синтаксис называют сложностью? С точностью до наоборот, синтаксис учится за 1.5 часа. Скобка, скобка, пробел да кавычка для quotation. Как писал человек ниже, сложна смена парадигмы и переход на языки с кардинально другой семантикой. Вот с С++ на Java\C# переход не так уж прост, хоть и синтаксис похож. Человеку, который всю жизнь мыслил указателями и ручным управлением памяти, будет сложно поначалу привыкнуть к новому подходу.
По-вашему, человек перестает «говнокодить», прочитав Фуллера и GoF?
Паттерны — уже давно не silver bullet, а общая практика. Так что в этом топике не вижу ничего нового.
Правда? Может вы назовете научной работой то бессвязное словоблудие, которое такие недалекие лицемеры, как Макграт, называют «богословием». Теология не может называться наукой просто потому, что она противоречит науке.
И простите, но ваше мнение не может считаться критерием «учености» научной работы. Как и мое впрочем, но я следую мнению преобладающего большинства ученого мира. Чьему мнению следуете вы?
Докинз — микробиолог и этолог, автор научно-полулязитарского бестселлера «Эгоистичный ген» и других книг в области исследования эволюции и фенотипа. Или Вас не устраивают эти научные работы, потому что они не перемещают из точки А в точку Б? ;)
Под смертью ЖЖ вы скорее подразумеваете «жжшечку», а не сам блогинг в целом. Вещи по делу (статьи\howto\описание мелких твиков и возможностей софта или чего угодно) все еще удобнее писать в виде блога.
Для меня откровением стал просмотр Firefly в оригинале. Признаюсь, смотрел с английскими субтитрами — акцент большинства актеров был для меня слишком сложен, но такого количества новых речевых оборотов и конструкций (чаще, конечно, сленговых, не деловых) я не встречал ни в одном сериале\фильме.
А писать свои обычные макросы — прошу, никаких запретов тут конечно же нет.
С помощью того же ридер макро лямбду (fn[x y] (+ x y)) можно записать как #(+ %1 %2). Вообще, их использование поощряется только там, где они совершенно прозрачны и ускоряют чтение, но ни в коем случае не запутывают.
А лямбды определяются именно с помощью fn. То есть выглядеть такая лямбда это будет точно как вы написали:
(fn[] *username*)
Clojure:). Вместо ридер макры можно было (fn[x] (* x x))
Не получается прикрепить картинку.
А так же от игры с оформлением, от проблем с большими документами, о переоформлении документа при вставке его в другой.
И при этом — имеет богатейшую историю, большое сообщество и находится в public domain.
Паттерны — уже давно не silver bullet, а общая практика. Так что в этом топике не вижу ничего нового.
И простите, но ваше мнение не может считаться критерием «учености» научной работы. Как и мое впрочем, но я следую мнению преобладающего большинства ученого мира. Чьему мнению следуете вы?