Всё начинается с того что мудак-функциональщик читает какую-нибудь «умную» книгу типа Little Schemer. Ну обычно хуже того: поциент узнает про самый лучший в мире язык хаскель. И во всяких быдлосайтах и говноблогах типа хабры он черпает свои знания.
Он долго тужится, пытаясь вникуть в суть буковок и однажды он вроде что-то там понимает. И тут начинается срашное: эта пиздота лезет на форумы и выплескивает свой ментально-функциональный гной на ничего не подозревающих окружающих, обязательно делая это наиболее ублюдочным способом: на языке хаскель или лисп.
«Ах, вы знаете господа я давеча читал про комбинатор неподвижной точки. Ах, ах, божественно! Ах, какая прелесть лябмда-исчисление! Какой блеск, функции высшего порядка, рекурсия. Ах! Ах! Высший класс! Циклы? Ах, глупости! Императивщина. Фи, как скучно!»
Просто и понятно ответить на законный вопрос недоумевающих читателей «зачем это простому человеку» тупой функциональный пиздюк не может. Вместо этого он начинает с важным видом дристать многабукав о том как всё нетривиально, и тупым идиотам на том форуме куда он пришёл конечно не понять генитальных задумок. Но как говорил Лев Толстой: «Самый верный признак истины — простота и ясность. Ложь всегда сложна и многословна.»
Практического применения очередной абстрактной хуиты, функциональная мразь найти не может. Вместо того чтобы показать пользу от мозговыносящего уёбищного сгустка замыканий мудак начинает рассказывать басни о том как он научился считать факториалы и числа Фибоначчи, используя бесконечные ряды функций, которые генериуют и постоянно вызывают сами себя.
Однако попроси применить Y-комбинатор, чтобы решить какую-нибудь нешаблонную задачку: найти бесконечную же сумму всех натуральных чисел, как тут же следует неловкая тишина и пердеж в лужу.
Парни, я вчера видел на улице лиспера. Ну вы знаете, как это обычно бывает - идет вам на встречу человек бомжеватого вида, а когда подходит ближе у него на лбу можно разглядеть 2 скобки и большую лямбду между ними.
Но в это раз передо мной был ребенок, на вид лет 14-16 от роду. И знаете, что самое удивительное? Мне стало его жалко. Чисто по-человечески жалко, вы понимаете. "Такой молодой, а уже лиспер" - на секунду подумал я и тут же отвернулся. Потом повернуля обратно и догнал юнца.
Как тебя зовут? Где ты живешь? Кто твои родители?
ERROR: Unbound variable: Как
Пришлось переспрашивать.
"Скобка. Как тебя зовут? Где ты живешь? Кто твои родители? Скобка. " -
"Мандрюшей меня зовут. Родителей нет, живу в парке Горького."
Скобка. Пошли ко мне, Мандрюша. Поживешь некоторое время у меня, накормлю, найду тебе работу и жилье на первое время. Скобка.
Нет, не пойду. Меня друзья-лисперы потеряют! Мы с ними каждую пятницу собираемся в Буране и читаем вслух SICP. А сегодня как раз пятница. Я не могу пропустить.
Загоревшись интересом посмотреть на это зрелище, я спросил, можно ли мне присуствовать. Получив утвердительный ответ, мы вдвоем направились в прямиком в парк Горького.
На месте сразу бросилось в глаза: привычная для этого места очередь на аттракцион куда-то пропала. Касса с билетами - тоже. Только внутри горел свет.
"Только тихо, и ничего не говори про теорию типов" - неожиданно предупредил Мандрюша.
"Хорошо" - сказал я.
Мы вошли внутрь. Сказать, что я сильно удивился - значит не сказать ничего. На стенах висели портреты разных известных лисперов, вроде Рича Хикки и Джона Маккарти, разбавляя бесконечное море листингов на лиспе и его диалектах. Нас ждало около 30 человек, чьим запахом, как мне тогда казалось, можно было травить тараканов. Среди них были женщины, дети и старики.
"И сказал Сассман: не продавайте Библий, а ловите лулзы! И да будет так! Пусть всегда будет так! Lambda!" - доносилось из хвостовой части.
"Но ведь Сассман - жид! Жид, родные, жид, ребята! Негоже жидам угнетать настоящих людей, нас, русских людей, построивших этот Буран, венец человеческого творения!" - воскликнул какой-то лысый толстяк поблизости. Из толпы сразу вышли несколько человек с горбатыми носами, которые вытолкали смутьяна на улицу.
ЭНе обращайте внимание, мои lambda-братья" - продолжал голос их хвоста - "Сегодня мы собрались обсудить построение абстракций при помощьи данных. Сестра с зелеными волосами, подойдите, возьмите книгу и читайте! Читайте же!"
"Ой вы знаете, я хочу сначала на листочке завести трекер, чтобы можно было отслеживать где я прочитала. Вы и сами можете отписываться на нем, отслеживая свои дела. Знаете, это должно быть очень весело!" - неожиданно ответила деловитым тоном невысокая девушка с необычно большими глазами и зелеными, как газон после дождя, волосами.
- Читайте уже, милая - сказал загадочный голос и девушка начала неспешно и размеренно читать вслух.
Пока она читала, я присмотрелся в Главного, который все это время находился в хвосте, внимательно: на нем была синяя футболка с изображением гну, борода с крошками, белые шорты, желтые резиновые тапки и длинные волосы. Он внимательно посмотрел на меня. "Вы, да вы, подойтите , пожалуйста сюда" - громко сказал он - "Я вас вижу на наших собраниях первый раз. Представьтесь пожалуйста! Расскажите, чем вы занимаетесь"
Я немного замялся, но просьбу выполнил - прошел в хвост, куда устремили свой взгляд все присуствующие.
Меня зовут Семен, я работаю в Microsoft, программистом - начал я.
А на каких языках вы пишите? - поинтересовался Главныйю
на C#, F#, Haskell - ответил я без задней мысли.
Вдруг наступила тишина. Девушка-чтец выранила книгу из рук. Мандрюша нервно скукожился. Глаза Главного налились кровью. Тишину прервал резкий крик из толпы: "СТАТИКОПЕТУХ, БРАТЦЫ! БЕЙ ЕГО". В меня сразу же полетели несколько советсикх калькуляторов МК-61, ящик котрых стоял рядом с кабиной пилота. Чудом уклонившись от них, я завернулся в монаду. Теперь лисперы не могли меня достать. "Кто его привел? Кто привел этого Статикопетуха?" - закричал главный - "пусть он тогда ответит за все!". Мандрюша икнул. Для него было все кончено. 30 лисперов сейчас стояли и смотрели на него, как на живой труп. Впрочем, Мандрюша про себя думал тоже самое. Резким рывком, я прыгнул через 3-х лисперов и оказался возле Мандрюши. " Скобка. Сейчас будет немного больно. Скобка. " сказал я и завернул его в Maybe-монаду. И снова наступила тишина. Злыми глазами на меня смотрели лисперы. Обалдевший от такой наглости на меня смотрел Мандрюша.
Тишину разрезал смех. "Вы не выйдете отсюда, глупые статикодилы! Какой-то статикодебил однажды пытался завернуть этот корабль в State монаду, и теперь вам нужен трансформер, чтобы выйти отсюда!".
Неожиданный поворот. В один миг все оказалось кончено. Развернуться из монады означало сдать себя на корм голодным лисперам. Не разворачиватья - просидеть в этом памятнике человеческой мысли до тех пор, пока кто-то не узнает про инцидент.
Неожиданно для всех, в носовой части открылась дверь и зашел тот самый толсяк, который до этого кричал про жидов.
Жиды, вы все жиды. Вы должны умереть чтобы очистить русскую землю от жидовской заразы! - закричал он и подключился с ноутбука к бортовому компьютеру.
Я написал специальный язык на лиспе, с помощью которого запущу это аппарат в космос! - еще более громко закричал он - Три! Два! Один! Пуск!
Громкий гул раздался в хвосте. В одно мгновение стало очень жарко. Дверь у кабины закрылась и космический аппарат поехал в сторону Крымского Вала. Немного оторвавшись от земли, он процарапал своим шасси несколько машин, стоявших в пробке у моста, упав из-за этого в реку.
Как сообщили потом новости, аппарат упал из-за того, что в управляющей программе случился сегфолт - сказался недостаток тестов для всех возможных вариантов RealWorld - не была учтена возможность тарана нескольких машин в пробке. Из всех невольных пассажиров выжило лишь двое - я и Мандрюша. После этого инцидента он больше не пишет на лиспе, нашел работу C#-девелопером и обходит других лисперов стороной. Я же пишу историю здесь по тому, что официальные СМИ ее умалчивают. Большинство новоствных агенств ссылается на личную просьбу некоего Давида Моисеевича.
Подходящего решения не нашёл, правда особо не искал, потому что это довольно просто сделать самому
http://archimag.lisper.ru/2015/10/23/Парсим_ODS
Вся суть лисперов: у них настолько мощный язык, что можно закрыться в своём мирке костылей и носа не показывать. Забавно.
Fortran 77 2 common lisp
Костылик чтобы искать grep-ом во всех каталогах, в которых открыты файлы в текущей сесси emacs:
```
(require 'cl)
(defun get-buf-dirs ()
(mapconcat 'identity
(delete-dups
(reduce (lambda (lst b)
(append lst
(list (file-name-directory
(or (buffer-file-name b) "")) '())))
(buffer-list)
:initial-value '()))
" "))
(defun find-grep/dirs (what)
(interactive "SWhat: ")
(find-grep (format "find %s -type f -exec grep -nH -e %s {} +" (get-buf-dirs) what)))
```
Зовется так:
M-x find-grep-dirs
Самая душное видео по лиспу, которое я видел.
http://www.youtube.com/watch?v=tXukFEXyChA