Два года в /fg/. Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

Всё начинается с того что мудак-функциональщик читает какую-нибудь «умную» книгу типа Little Schemer. Ну обычно хуже того: поциент узнает про самый лучший в мире язык хаскель. И во всяких быдлосайтах и говноблогах типа хабры он черпает свои знания.
Он долго тужится, пытаясь вникуть в суть буковок и однажды он вроде что-то там понимает. И тут начинается срашное: эта пиздота лезет на форумы и выплескивает свой ментально-функциональный гной на ничего не подозревающих окружающих, обязательно делая это наиболее ублюдочным способом: на языке хаскель или лисп.

«Ах, вы знаете господа я давеча читал про комбинатор неподвижной точки. Ах, ах, божественно! Ах, какая прелесть лябмда-исчисление! Какой блеск, функции высшего порядка, рекурсия. Ах! Ах! Высший класс! Циклы? Ах, глупости! Императивщина. Фи, как скучно!»

Просто и понятно ответить на законный вопрос недоумевающих читателей «зачем это простому человеку» тупой функциональный пиздюк не может. Вместо этого он начинает с важным видом дристать многабукав о том как всё нетривиально, и тупым идиотам на том форуме куда он пришёл конечно не понять генитальных задумок. Но как говорил Лев Толстой: «Самый верный признак истины — простота и ясность. Ложь всегда сложна и многословна.»

Практического применения очередной абстрактной хуиты, функциональная мразь найти не может. Вместо того чтобы показать пользу от мозговыносящего уёбищного сгустка замыканий мудак начинает рассказывать басни о том как он научился считать факториалы и числа Фибоначчи, используя бесконечные ряды функций, которые генериуют и постоянно вызывают сами себя.
Однако попроси применить Y-комбинатор, чтобы решить какую-нибудь нешаблонную задачку: найти бесконечную же сумму всех натуральных чисел, как тут же следует неловкая тишина и пердеж в лужу.

#1QBJZA (13+2) / @ninesigns / 2847 дней назад

Парни, я вчера видел на улице лиспера. Ну вы знаете, как это обычно бывает - идет вам на встречу человек бомжеватого вида, а когда подходит ближе у него на лбу можно разглядеть 2 скобки и большую лямбду между ними.
Но в это раз передо мной был ребенок, на вид лет 14-16 от роду. И знаете, что самое удивительное? Мне стало его жалко. Чисто по-человечески жалко, вы понимаете. "Такой молодой, а уже лиспер" - на секунду подумал я и тут же отвернулся. Потом повернуля обратно и догнал юнца.
Как тебя зовут? Где ты живешь? Кто твои родители?
ERROR: Unbound variable: Как
Пришлось переспрашивать.
"Скобка. Как тебя зовут? Где ты живешь? Кто твои родители? Скобка. " -
"Мандрюшей меня зовут. Родителей нет, живу в парке Горького."
Скобка. Пошли ко мне, Мандрюша. Поживешь некоторое время у меня, накормлю, найду тебе работу и жилье на первое время. Скобка.
Нет, не пойду. Меня друзья-лисперы потеряют! Мы с ними каждую пятницу собираемся в Буране и читаем вслух SICP. А сегодня как раз пятница. Я не могу пропустить.
Загоревшись интересом посмотреть на это зрелище, я спросил, можно ли мне присуствовать. Получив утвердительный ответ, мы вдвоем направились в прямиком в парк Горького.
На месте сразу бросилось в глаза: привычная для этого места очередь на аттракцион куда-то пропала. Касса с билетами - тоже. Только внутри горел свет.
"Только тихо, и ничего не говори про теорию типов" - неожиданно предупредил Мандрюша.
"Хорошо" - сказал я.
Мы вошли внутрь. Сказать, что я сильно удивился - значит не сказать ничего. На стенах висели портреты разных известных лисперов, вроде Рича Хикки и Джона Маккарти, разбавляя бесконечное море листингов на лиспе и его диалектах. Нас ждало около 30 человек, чьим запахом, как мне тогда казалось, можно было травить тараканов. Среди них были женщины, дети и старики.
"И сказал Сассман: не продавайте Библий, а ловите лулзы! И да будет так! Пусть всегда будет так! Lambda!" - доносилось из хвостовой части.
"Но ведь Сассман - жид! Жид, родные, жид, ребята! Негоже жидам угнетать настоящих людей, нас, русских людей, построивших этот Буран, венец человеческого творения!" - воскликнул какой-то лысый толстяк поблизости. Из толпы сразу вышли несколько человек с горбатыми носами, которые вытолкали смутьяна на улицу.
ЭНе обращайте внимание, мои lambda-братья" - продолжал голос их хвоста - "Сегодня мы собрались обсудить построение абстракций при помощьи данных. Сестра с зелеными волосами, подойдите, возьмите книгу и читайте! Читайте же!"
"Ой вы знаете, я хочу сначала на листочке завести трекер, чтобы можно было отслеживать где я прочитала. Вы и сами можете отписываться на нем, отслеживая свои дела. Знаете, это должно быть очень весело!" - неожиданно ответила деловитым тоном невысокая девушка с необычно большими глазами и зелеными, как газон после дождя, волосами.
- Читайте уже, милая - сказал загадочный голос и девушка начала неспешно и размеренно читать вслух.
Пока она читала, я присмотрелся в Главного, который все это время находился в хвосте, внимательно: на нем была синяя футболка с изображением гну, борода с крошками, белые шорты, желтые резиновые тапки и длинные волосы. Он внимательно посмотрел на меня. "Вы, да вы, подойтите , пожалуйста сюда" - громко сказал он - "Я вас вижу на наших собраниях первый раз. Представьтесь пожалуйста! Расскажите, чем вы занимаетесь"
Я немного замялся, но просьбу выполнил - прошел в хвост, куда устремили свой взгляд все присуствующие.
Меня зовут Семен, я работаю в Microsoft, программистом - начал я.
А на каких языках вы пишите? - поинтересовался Главныйю
на C#, F#, Haskell - ответил я без задней мысли.
Вдруг наступила тишина. Девушка-чтец выранила книгу из рук. Мандрюша нервно скукожился. Глаза Главного налились кровью. Тишину прервал резкий крик из толпы: "СТАТИКОПЕТУХ, БРАТЦЫ! БЕЙ ЕГО". В меня сразу же полетели несколько советсикх калькуляторов МК-61, ящик котрых стоял рядом с кабиной пилота. Чудом уклонившись от них, я завернулся в монаду. Теперь лисперы не могли меня достать. "Кто его привел? Кто привел этого Статикопетуха?" - закричал главный - "пусть он тогда ответит за все!". Мандрюша икнул. Для него было все кончено. 30 лисперов сейчас стояли и смотрели на него, как на живой труп. Впрочем, Мандрюша про себя думал тоже самое. Резким рывком, я прыгнул через 3-х лисперов и оказался возле Мандрюши. " Скобка. Сейчас будет немного больно. Скобка. " сказал я и завернул его в Maybe-монаду. И снова наступила тишина. Злыми глазами на меня смотрели лисперы. Обалдевший от такой наглости на меня смотрел Мандрюша.
Тишину разрезал смех. "Вы не выйдете отсюда, глупые статикодилы! Какой-то статикодебил однажды пытался завернуть этот корабль в State монаду, и теперь вам нужен трансформер, чтобы выйти отсюда!".
Неожиданный поворот. В один миг все оказалось кончено. Развернуться из монады означало сдать себя на корм голодным лисперам. Не разворачиватья - просидеть в этом памятнике человеческой мысли до тех пор, пока кто-то не узнает про инцидент.
Неожиданно для всех, в носовой части открылась дверь и зашел тот самый толсяк, который до этого кричал про жидов.
Жиды, вы все жиды. Вы должны умереть чтобы очистить русскую землю от жидовской заразы! - закричал он и подключился с ноутбука к бортовому компьютеру.
Я написал специальный язык на лиспе, с помощью которого запущу это аппарат в космос! - еще более громко закричал он - Три! Два! Один! Пуск!
Громкий гул раздался в хвосте. В одно мгновение стало очень жарко. Дверь у кабины закрылась и космический аппарат поехал в сторону Крымского Вала. Немного оторвавшись от земли, он процарапал своим шасси несколько машин, стоявших в пробке у моста, упав из-за этого в реку.
Как сообщили потом новости, аппарат упал из-за того, что в управляющей программе случился сегфолт - сказался недостаток тестов для всех возможных вариантов RealWorld - не была учтена возможность тарана нескольких машин в пробке. Из всех невольных пассажиров выжило лишь двое - я и Мандрюша. После этого инцидента он больше не пишет на лиспе, нашел работу C#-девелопером и обходит других лисперов стороной. Я же пишу историю здесь по тому, что официальные СМИ ее умалчивают. Большинство новоствных агенств ссылается на личную просьбу некоего Давида Моисеевича.

#RYVVLZ (10+4) / @ninesigns / 3313 дней назад

Костылик чтобы искать 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

#OTNHVD (0) / @ninesigns / 3577 дней назад

Самая душное видео по лиспу, которое я видел.
http://www.youtube.com/watch?v=tXukFEXyChA

#AKWJFD (2) / @ninesigns / 3654 дня назад
> Today I am happy to make the first release of the Common Lisp implementation “Clasp”. Clasp uses LLVM as its back-end and generates native code. Clasp is a super-set of Common Lisp that interoperates smoothly with C++. The goal is to integrate these two very different languages together as seamlessly as possible to provide the best of both worlds. The C++ interoperation allows Common Lisp programmers to easily expose powerful C++ libraries to Common Lisp and solve complex programming challenges using the expressive power of Common Lisp. Clasp is licensed under the LGPL. лан // пошел думать почему у Racket JIT не на llvm.
#R3JCPT (2) / @ninesigns / 3705 дней назад

http://vk.com/topic-1111_29782781

LISP▼
Небольшой свод правил.
Запрещено:
1) Мат;
2) Сочувствие, поддержка, и всё что связано с геями.
Нежелательно:
1) Заувалированый мат;
2) оскорбления прямым текстом.
Не преветствуется:
1) холливар на тему лиспов.

Интересная нынче лиспошколота.

#AZVBWM (7) / @ninesigns / 3883 дня назад

Теперь заживем:

/Yalo is a Lisp OS running on bare metal x86-64 hardware. The system programming language is Ink, a new Lisp dialect which combines the elegance of Scheme and powerfulness of Common Lisp/

https://github.com/whily/yalo

#LRMS3E (3) / @ninesigns / 3952 дня назад

О, очередной пылкий вьюноша со «скобочным вебом»!

Ну, попробуй реализуй скобочный веб, чо. Только сперва тебе придется написать свой валидирующий pull-парсер для S-выражений. Стандартный лисповый ридер не вернет AST, пока не распарсит все до последней скобки, а в вебе надо начинать интерпретировать по возможности сразу же.

Затем ты напишешь разборщик и валидатор своих DSL-аналогов HTML и CSS и начнешь реализовывать рендерер. В этот момент обнаружится, что для лиспа нет качественных биндингов к современным GUI-тулкитам. Сперва ты возьмешься за cffi-cairo и cl-cairo2, но выяснится, что они заточены под старые версии Cairo и не работают.

Ты станешь допиливать Cairo-биндинги, но однажды решишь, что Cairo семантически чужд лисп-парадигме и возьмешься писать свою кросс-платформенную библиотеку для поддержки высокопроизводительной векторной графики. Затем ты реализуешь аналог протокола HTTP, только на S-выражениях (назовем его SXTP), потому что HTTP с его убогими URL'ами и методами семантически чужд лисп-парадигме.

После этого встанет вопрос о написании веб-сервера, поддерживающего SXTP. Попутно ты напишешь template engine, аналоги XPath, XSLT, а также ORM и MVC-фреймворк. В этот момент выяснится, что традиционные SQL-базы данных семантически чужды лисп-парадигме, и ты начнешь разрабатывать собственную лисп-ориентированную БД.

В этот момент ты поймешь, что Common Lisp перегружен и недостаточно выразителен, его стандарт раздут, а макросы негигиеничны; что Scheme слишком минималистична и академична; что остальные диалекты лиспа либо маргинальны, либо требуют .NET/JVM. Тут тебе в голову придет идея создать собственный лисп. Ты потратишь несколько лет на разработку стандарта, реализацию языка и переписывание всего вышеперечисленного на твоем новом языке. После этого окажется, что все ужасно тормозит. И это, разумеется, исключительно по той причине, что операционные системы стандарта POSIX семантически чужды лисп-парадигме. Ты начнешь разрабатывать LISP OS.

В процессе разработки выяснится, что эффективная LISP OS для x86/ARM/MIPS не может быть создана в принципе, так как их семантика чужда лисп-парадигме. Ты возьмешься за изучение System C, Verilog, VHDL и в один прекрасный день создашь лисп-машину на FPGA.

В этот момент мозаика чудесным образом сложится. У тебя будут лисп-машина, лисп-OS, лисп-сервер и лисп-браузер. Ты восторженно оглянешься вокруг, и обнаружишь, что половина человечества уже переселилась на Gliese 581, а оставшаяся половина забыла про HTML/CSS/etc., как про страшный сон, и давно пользуется квантовыми компьютерами и квантовыми сетями. Но все это уже будет не важно. У тебя ведь будет лисп-браузер и полноценная замена HTML/CSS на S-выражениях.

Да и жить тебе останется не так и долго, потому что к этому моменту ты уже будешь дряхлым стариком.

#4FBDZ0 (11+1) / @ninesigns / 4025 дней назад

Какой умалишенный будет делать сайт на CL или clojure с полурабочими либами, когда есть похапы, руби и ASP.NET?
Не понимаю это быдлофанатсво, хотя сам лиспоблядь.

http://www.linux.org.ru/forum/web-development/9401460

#SY15EJ (3) / @ninesigns / 4137 дней назад

Fear of Macros.
Неплохой туториал по макросам.

http://www.greghendershott.com/fear-of-macros/index.html

#6381U0 (7) / @ninesigns / 4209 дней назад

Кто принимает участие -> http://lispinsummerprojects.org/ ?

#38N58X (0) / @ninesigns / 4212 дней назад

Хочу начать костылять интерпретатор elisp на racket.
Дальше в планах - реализация недоемакса.

Чят, отговори.

#EPA3ZB (62) / @ninesigns / 4239 дней назад

General Parser Combinators in Racket
https://github.com/epsil/gll

#LXWV5F (0) / @ninesigns / 4262 дня назад

На лоре спросили:
/можно ли написать на Racket такую функцию, чтобы внутри неё (в её динамическом окружении) делений на 0 возвращало 0, а не прерывало вычисления/

Короче, да:

(define-syntax-rule (try-or-zero body ...)
(let/cc k (with-handlers ([exn? (λ _ (k 0))])
body ...)))

(define (testl l)
(if (null? l)
'()
(cons (try-or-zero (/ 1 (car l)))
(testl (cdr l)))))

(testl '(1 2 3 0 5))

#J5GWTF (0) / @ninesigns / 4267 дней назад

настало время факториалов.

мемоизация на ракете.
nothing special.

lang racket

; replace define with a memoized version
(define-syntax define-memoized
(syntax-rules ()
[(_ (f args ...) bodies ...)
(define f
; store the cache as a hash of args => result
(let ([results (make-hash)])
; need to do this to capture both the names and the values
(lambda (args ...)
((lambda vals
; if we haven't calculated it before, do so now
(when (not (hash-has-key? results vals))
(hash-set! results vals (begin bodies ...)))
; return the cached result
(hash-ref results vals))
args ...))))]))

; example, fibonacci with memoization
(define-memoized (mfib n)
(cond
[(< n 1) 1]
[else (+ (mfib (- n 1)) (mfib (- n 2)))]))

#RJI5OH (1) / @ninesigns / 4270 дней назад
Хорошая видяшка про racket с презентацией. http://www.infoq.com/presentations/Racket
#F4OX89 (0) / @ninesigns / 4291 день назад
Больше ада! Куда спрятались Lisp, Refal и Prolog? Теперь всюду бестолковые Хаскелли и Агды. Если вы посещали http://0chan.hk/c/, то читали что я работаю над Symta - объединением Lisp и Refal в один язык с упором на практичность и лаконичность. Даже реализовал на нём клон Warcraft 2: http://ru-declarative.livejournal.com/10.....l#comments
#H8V0ZY (1) / @ninesigns / 4309 дней назад
> ShenRuby 0.10 Они чо там совсем поехали?
#QAYCZ0 (0) / @ninesigns / 4311 дней назад
Собрал racket-5.3.1 под текущий debian testing Не знаю зачем выкладываю, вдруг кому понадобится. http://ompldr.org/vZ3lkMQ
#VET1VQ (0) / @ninesigns / 4338 дней назад
Встречайте феерическое NENUZHNO. рейтресер на ракете. https://github.com/4DA/racktracer/blob/master/rt.rkt Фичи: никаких фич, только сферы, только ортогональная проекция, только хардкор. Освещение, прозрачность, тени? we don't need them! Плюс еще дико тормозит. Зато рендерит в окошечко и не надо геморроиться с чтением битмапов.
#ACAHIF (0) / @ninesigns / 4391 день назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.