Сохранен F 514
https://2ch.hk/pr/res/517479.html
Прошлые домены больше не функционируют, используйте адрес ARHIVACH.HK.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Лиспотред №1

 Аноним 20/07/15 Пнд 02:48:52 #1 №517479 
14373497324880.png
14373497324891.png
14373497324902.png
Прошлый тонет тут >>415839
Шапка - http://collabedit.com/tyt9a, текущая версия - http://pastebin.com/0tBCv2Bi

Лисп - семейство языков программирования. Характерные особенности лиспов: динамичность, гомоиконность (код как данные), программируемость.

Основные диалекты
Common Lisp - разрабатывался как промышленный язык, пригодный для широкого спектра применения, из-за чего имеет достаточно объемную спецификацию. Является мультипарадигменным (процедурщина, функциональщина, ооп (CLOS)), с сильной, динамической типизацией. Есть опциональная декларация типов и, в некоторых реализациях (sbcl, например), частичный их вывод.
Описание особенностей: http://habrahabr.ru/post/143490
Основные реализации:
+ свободные: SBCL (нативный код), Clozure CL (нативный код), ECL (через сишку), Clisp (байт-код; небольшой размер образа; похоже, заброшен), ABCL (байт-код JVM), gcl, cmucl
+ коммерческие: LispWorks, Allegro CL, Scieneer CL, mocl (для программирования под ведро и ios)
Scheme - это минималистичный лисп, пригодный в основном для обучения, исследований, DSL'ей. Тем не менее Racket, который основывается на схеме, вполне практичен. Racket включает в себя много подъязыков (typed racket, lazy racket, frtime racket), включая схему стандартов r5rs и r6rs.
Clojure - Стильный, модный, молодежный лисп с бóльшим уклоном в функциональщину, иммутабельными структурами данных, поддержкой параллельщины с транзакционной памятью, агентами. Ориентированность главным образом на JVM сказалась на дизайне языка, что многим не нравится.
Emacs Lisp - его область применения ограничивается емаксом. Является наследником ТОГО САМОГО MacLisp'а.
Tcl - скриптовый язык, оче удобен для написания скриптиков с окошками или edsl
Rebol
PicoLisp - Наркоманская хуита
newLISP - Скриптовый лисп с компактным и быстрым интерпретатором и батарейками на любой случай жизни. В первую очередь предназначен для скриптоты, которую обычно пишут на perl, python, tcl, sh: обработка текстов, работа с сетью, базами данных, взаимодействие с ОС, построение графиков и т.п.
Список возможностей: http://www.newlisp.org/index.cgi?Features
Отличия от других диалектов: http://www.newlisp.org/index.cgi?page=Differences_to_Other_LISPs


Что читать?
Common Lisp
+ Practical Common Lisp http://www.gigamonkeys.com/book/ или русский перевод — http://lisper.ru/pcl/
+ On Lisp http://www.paulgraham.com/onlisp.html
+ Common Lisp HyperSpec http://www.lispworks.com/documentation/HyperSpec/Front/ — стандарт языка
+ Art of Metaobject Protocol — подробное описание MOP и CLOS
Алсо, годная статья про проектирование eDSL'ей на CL http://swizard.info/articles/solitaire/article.html

Scheme
+ http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html
+ Racket Guide
+ SICP (это скорее вводные лекции по программированию, а не учебник по схеме, но тоже пойдет)

Clojure
+ Programming Clojure, 2nd edition (для новичков)
+ The Joy Of Clojure, 2nd edition (есть есть бэкграунд в Лиспе или ФП)

Tcl/Tk
+ Официальный учебник http://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html
+ Документация по tcl http://www.tcl.tk/man/tcl8.6/TclCmd/contents.htm и tk http://www.tcl.tk/man/tcl8.6/TkCmd/contents.htm
+ Статьи про Tcl и Tk на wikibooks с примерчиками https://en.wikibooks.org/wiki/Category:Tcl_Programming
+ TkDocs с примерами на tcl, perl, ruby http://www.tkdocs.com/tutorial/index.html


Среды разработки
Одно из основных преимуществ лиспа в сравнении с языками с циклом разработки "написал → перекомпилировал → запустил в отладчике" - поддержка интерактивно-итеративного метода разработки. Но без инструментария, обеспечивающего полноценное взаимодействие с реплом, оно сводится на нет. Поэтому писать без использования нормальной среды - значит упустить важную особенность языка.

Common Lisp
+ Emacs + SLIME - самый лучший вариант.
+ vim + SLIMV
+ LispWorks
+ AllegroCL IDE упаси боже
+ Eclipse + cusp
+ <Что-нибудь для сублайма/атома уже запилили, наверное>

Scheme
+ Emacs + geiser
+ drracket

Clojure
+ Emacs + CIDER
+ LightTable
+ Vim-fireplace
+ Cursive Clojure (IntelliJ plugin)
+ Counterclockwise (Eclipse plugin)

Tcl
+ Emacs + tcl-mode (только подсветка синтаксиса и простенькое взаимодействие с реплом, но жить можно)

Чтобы не пердолиться с емаксом, можно взять уже преднастроенный spacemacs ( https://github.com/syl20bnr/spacemacs ) или prelude ( https://github.com/bbatsov/prelude ).
Аноним 20/07/15 Пнд 08:48:50 #2 №517510 
Есть какие-нибудь диалекты Лиспа со строгой статической типизацией?
Аноним 20/07/15 Пнд 09:39:23 #3 №517520 
Есть смысл начать со Scheme, чтобы потом перейти на Clojure?
Аноним 20/07/15 Пнд 11:14:58 #4 №517545 
>>517510
Есть:
http://www.shenlanguage.org/
Аноним 20/07/15 Пнд 11:19:05 #5 №517546 
>>517520
Зачем?
Аноним 20/07/15 Пнд 11:25:08 #6 №517547 
>>517520
Норм вариант, я именно так и делал.
Ещё один момент, если не знаешь джаву, то нужно будет познакомится с базовыми типами и некоторыми частям стандартной библиотеки: I/O, работой со строками, регекспам, частично математикой, если нужен высокий перформанс то ещё с массивами (с коллекциями не нужно, они в clojure свои).
Аноним 20/07/15 Пнд 11:38:30 #7 №517549 
>>517510
Есть всякие typed racket, typed clojure, но они не нужны.
Аноним 20/07/15 Пнд 12:35:56 #8 №517561 
>>517479
Забыл добавить про https://www.quicklisp.org/beta/ и http://cliki.net/Current%20recommended%20libraries
Аноним 20/07/15 Пнд 13:07:38 #9 №517569 
>>517547
Спасибо!
Аноним 20/07/15 Пнд 13:10:19 #10 №517571 
Для чего вы используете Лисп?
Аноним 20/07/15 Пнд 13:34:35 #11 №517581 
>>517571
Я использую cl для веба в основном.
Аноним 20/07/15 Пнд 13:38:20 #12 №517583 
>>517571
Ещё использовал его, когда игрался с опенгл. Оче удобно, когда без остановки программы просто перекомпилировал какую-то функцию и сразу же увидел результат.
Аноним 20/07/15 Пнд 14:04:46 #13 №517598 
>>517583
А вот это уже интересно. Использовали cl-opengl?
Аноним 20/07/15 Пнд 14:18:15 #14 №517601 
>>517598
lispbuilder-sdl + cl-opengl
Аноним 20/07/15 Пнд 14:20:04 #15 №517603 
>>517549
Лиспобратишки любят кушать динамодрисню?
Аноним 20/07/15 Пнд 14:24:49 #16 №517604 
>>517598
Есть ещё какой-то https://github.com/BradWBeer/CLinch , но я его не использовал.
Аноним 20/07/15 Пнд 14:33:55 #17 №517609 
>>517603
А зачем она нужна в лиспе? К тому же, она не только сильно усложнит язык, но ещё и лишит его основных преимуществ.
Аноним 20/07/15 Пнд 14:36:23 #18 №517610 
>>517609
>она
статическая типизация т.е.
Аноним 20/07/15 Пнд 14:42:23 #19 №517613 
>>517609
> А зачем она нужна в лиспе?
Работает быстрее и отлавливает ошибки неверного типа данных на этапе компиляции.
> но ещё и лишит его основных преимуществ
Основное преимущество Лиспа в его синтаксисе и представлении программы в виде списков. Каким образом типизация атомов сделает его хуже? Ну многословнее может быть, но не более того.
(def fact((n Number)) (cond ((eq n 0) 1) (T (fact (- n 1))))) - типа так
Аноним 20/07/15 Пнд 14:49:12 #20 №517617 
>>517613
>n Number
Не в стиле Лиспа. "n" - глагол, что ли, такой?
Аноним 20/07/15 Пнд 14:52:24 #21 №517621 
>>517617
Параметр функции. Без типизации будет (def fact (n) (cond ... ))
Аноним 20/07/15 Пнд 15:36:58 #22 №517639 
14373958181590.png
>>517613
>Работает быстрее
Хуита. SBCL и без неё хорошо справляется.
>отлавливает ошибки неверного типа данных на этапе компиляции
Во-первых, в нормальных лиспах нет этапа компиляции, т.к. компилятор - часть рантайма.
Во-вторых, модель разработки и предупреждения компилятора (sbcl умеет в частичный вывод типов) помогают выявить большинство таких ошибок практически сразу.
>Основное преимущество Лиспа в его синтаксисе и представлении программы в виде списков.
Не только. Лисп - динамическая, программируемая система. А статическая типизация в таковой была бы лютым костылем.
>(def fact((n Number)) (cond ((eq n 0) 1) (T (fact (- n 1))))) - типа так
Этак ты и сейчас, и 20 лет назад писать можешь.
http://clhs.lisp.se/Body/d_type.htm
Аноним 20/07/15 Пнд 15:38:13 #23 №517641 
>>517639
Бля, там небольшой обосрамс в коде.
Аноним 20/07/15 Пнд 15:39:00 #24 №517642 
14373959406020.png
>>517621
Поздравляю сээр, вы токо что изобрели guard'ы.
См. также: Joe Armstrong, «Programming Erlang: Software for a Concurrent World».
Аноним 20/07/15 Пнд 15:41:01 #25 №517644 
>>517641
Неважно, кому надо — разберётся.
declare — тот же guard, в принципе.
Аноним 20/07/15 Пнд 15:45:12 #26 №517652 
>>517644
Guard скорее http://www.lispworks.com/documentation/HyperSpec/Body/m_check_.htm
А декларация типов больше для оптимизаций используется.
Аноним 20/07/15 Пнд 16:06:40 #27 №517670 
>>517642
Что за наркоманская хуита на пикче?
Аноним 21/07/15 Втр 11:00:21 #28 №518207 
>>517479
Хочу для обучения написать игорь на SDL на каком-нибудь лиспе, умеющем в параллельщину и с хорошим к нему (SDLю) биндингом. Что кроме clojure посоветуете?
Аноним 21/07/15 Втр 12:44:17 #29 №518277 
>>518207
> Что кроме clojure посоветуете?
Очевидный common lisp
>умеющем в параллельщину
Не так хорошо, конечно, как у кложуры, но тоже пойдет.
Для работы с потоками есть bordeaux-threads
>с хорошим к нему (SDLю) биндингом.
lispbuilder-sdl
Аноним 21/07/15 Втр 13:20:18 #30 №518341 
>>518277
lispbuilder-sdl разве не на старой версии sdl?
Аноним 21/07/15 Втр 13:53:23 #31 №518362 
>>518207
>игорь на SDL
Очевидная Symta очевидна.
Аноним 21/07/15 Втр 14:23:21 #32 №518379 
>>518277
Годно, пасиб
>>518341
Не удалось найти в документации.
>>518362
Это дохуя классный лишп?
Аноним 21/07/15 Втр 14:45:01 #33 №518400 
>>518341
https://github.com/lispbuilder/lispbuilder/issues/18
Поддержку sdl-2.x ещё не запилили. Некому.
Аноним 21/07/15 Втр 14:47:00 #34 №518404 
>>518379
>Это дохуя классный лишп?
Это построенное поверх лиспа говноподелие местногоHульчąновского антисемита-лиспофанатика.
Аноним 22/07/15 Срд 13:08:20 #35 №519046 
Что сейчас самое приличное для работы с сокетами? iolib? usocket?
Аноним 22/07/15 Срд 14:26:05 #36 №519071 
Почему tcl - лисп, а Perl - нет?
Аноним 22/07/15 Срд 15:04:23 #37 №519086 
>>519071
Потому что перл таковым не явдяется.
мимо-кэп
Аноним 22/07/15 Срд 15:26:29 #38 №519093 
>>519086
А тикль тоже не является
Аноним 22/07/15 Срд 15:32:28 #39 №519098 
>>519093
Почему ты так решил? Тикиль такой же лисп, но только со строками вместо s-exp'ов
Аноним 22/07/15 Срд 16:19:03 #40 №519125 
>>519098
В перле тоже можно пидарасить строки и евалить их.
Аноним 22/07/15 Срд 16:38:22 #41 №519129 
Блин, лиспаны, я немного на лиспе писал и вынес оттужа много полезного. Но я никак не могу вернуться назад. Пытался недавно делать софт для проверки нескольких алгоритмов, которые верртятся в голове пару месяцев, но в иитоге соснул даже с тривиальной задачей как проекция n-мерного массива на пространство размерности < 1 (простыми словами получить из 3d 2d матрицу-срез). aref, сука, хочет полный вектор. А для меня это вообще очевидным было сразу. В итоге решил делать на NumPy. Какие задачи прикладные программы пописать посоветуете, чтобы проникнуться еще раз?
Аноним 22/07/15 Срд 17:22:13 #42 №519145 
>>519125
Это далеко не то же самое.
Аноним 22/07/15 Срд 17:26:15 #43 №519147 
>>519125
Короче, в перле нет гомоиконности.
Аноним 22/07/15 Срд 17:27:36 #44 №519148 
>>519147
А в тикле есть? Покажи.
Аноним 22/07/15 Срд 18:59:25 #45 №519199 
14375807654740.png
>>519148
Ты тикиля в глаза не видел что ли?
Очевидный пример работы с кодом - bind
Ему передается код, в котором потом обычными строковыми (любой код в тикиле - строка из слов) операциями производится замена %W, %x, %y и прочих в соответствии с документацией http://www.tcl.tk/man/tcl8.6/TkCmd/bind.htm#M24
Аноним 22/07/15 Срд 20:38:37 #46 №519241 
>>519199
В каком месте гомоиконность?
Аноним 22/07/15 Срд 21:12:58 #47 №519249 
>>519199
Вон в раби тоже можно метапрограммировать, раби лиспом же не становится.
А твой бинд вообще только для окон каких-то
Аноним 22/07/15 Срд 23:28:21 #48 №519297 
>>519241
Ты не знаешь, что такое гомоиконность? Или код на тикиле тебе не понятен?
Аноним 22/07/15 Срд 23:35:13 #49 №519300 
>>519249
В руби есть метапрограммирование, но он не является гомоиконным.
Аноним 22/07/15 Срд 23:51:35 #50 №519304 
>>519297
Ну, просвети, чтоже такое гомоиконность.
>>519300
Такое же гомоиконное, как и твой тикаль
Аноним 23/07/15 Чтв 00:09:43 #51 №519316 
>>519304
>Ну, просвети, чтоже такое гомоиконность.
Т.е. ты полез спорить без всякого представления о предмете спора? Предлагаю тебе самому просветиться и тогда уже вернуться с аргументами или осознанием своей неправоты, иначе диалог обещает проходить в том же режиме.
>Такое же гомоиконное
Как ты пришёл к такому выводу, если не знаешь, что такое гомоиконность?
>твой тикаль
Наш. Он общий.
Аноним 23/07/15 Чтв 00:11:56 #52 №519317 
>>519316
> если не знаешь, что такое гомоиконность?
у меня есть представление о гомоиконности, гомоиконен лисп со скобочками, потому что все (почти все) данные и код представляются одинаково. В тикле такого нет, как нет и в руби
Аноним 23/07/15 Чтв 00:13:26 #53 №519319 
Okay, wiki:
> If a language is homoiconic, it means that the language text has the same structure as its abstract syntax tree (i.e. the AST and the syntax are isomorphic).
Не вижу в примерах с тиклем этого
Аноним 23/07/15 Чтв 00:29:33 #54 №519327 
>>519317
В тикиле код и его ast имеют одинаковый вид. В примере выше это хорошо видно. Bind, если что, - самая обычная функция, а код, ей передаваемый, - просто строка
Аноним 23/07/15 Чтв 00:30:51 #55 №519328 
>>519327
И чо? В руби я тоже могу блок кода передать.
Аноним 23/07/15 Чтв 00:38:42 #56 №519331 
>>519328
Чтоб тебе было понятнее, в примере записано что-то вроде: (bind .с #<l> '(setq x %x))
Т.е. передается не функция/блок кода, а, грубо говоря, аст.
Аноним 23/07/15 Чтв 00:41:32 #57 №519332 
>>519328
Ознакомься с описанием синтаксиса тикиля (на вики было нормаьное), тогда все сразу поймешь.
Аноним 23/07/15 Чтв 23:36:32 #58 №519804 
14376837925800.png
Elisp боярин вкатывается в тред. Самый лучшая среда для разработки в мире, лисп, что еще нужно для счастья?
Аноним 24/07/15 Птн 02:02:23 #59 №519867 
14376925431040.png
>>519804
> 2015
> Emacs
Аноним 24/07/15 Птн 02:07:00 #60 №519869 
>>519867
ШГ
Аноним 24/07/15 Птн 03:07:40 #61 №519878 
>>519804
Заголовки говно. Надо будет свой конфиг вам выложить.
Аноним 24/07/15 Птн 03:08:07 #62 №519879 
>>519867
Ты прав, но идея ещё хуже.
Аноним 24/07/15 Птн 08:20:15 #63 №519902 
14377152158300.png
>>519879
дело не в идее, а в прыщах вместо ОС
у меня везде шрифты заебись :)
Аноним 24/07/15 Птн 13:41:13 #64 №519983 
>>519902
Теперь ты попиздовал гуглить fontconfig-ultimate, а потом нахуй.
Аноним 24/07/15 Птн 14:44:29 #65 №520003 
>>519878
Дефолтный i3. Нормальные заголовки. Один хуй я на них не смотрю почти.
Аноним 24/07/15 Птн 16:19:22 #66 №520041 
>>519902
В прыщах все нормально со шрифтами. Это жабоговно в нативные шрифты не может, если swt не использовать
Аноним 24/07/15 Птн 16:41:24 #67 №520052 
>>520041
Алсо после пяти лет прыщей, на виндовые шрифты вообще смотреть не могу. Особенно мне нравятся патчи космонавта. Сколько не пердолился об инфинатили, мыльной маковской говно получается.

(Ах, (да, (это) (жи лисп) тред)).
Аноним 24/07/15 Птн 22:01:19 #68 №520214 
14377644793860.png
>>519902
>>519867
>>519804
Вы все хуи и не лечитесь
Аноним 24/07/15 Птн 22:04:30 #69 №520215 
>>520214
Я вот не юзаю вим-моды потому что 99% няшный плюшек имакса повязаны на его дефолтные хоткеи. Как с этим дела в этого шатла?
Аноним 24/07/15 Птн 23:45:24 #70 №520248 
>>520215
Хоткеи вима для редактирования текста. Для управления редактором свои собственный наборы сочетаний клавиш, начинающихся с модификатора.

> Spacemacs organizes key bindings into mnemonic groups. For example, commands to operate on the buffer are prefixed by <SPC> b, and commands to operate on the project are under <SPC> p
Аноним 24/07/15 Птн 23:49:22 #71 №520249 
>>520248
Я джва года юзал вим. Потом перекатился на имакс, и уже наверное года 3 или 4 на нем сижу. Тестил все мыслимые и немыслимые вим-моды, но чет как-т приуныл. Дефолтные хоткеи меня вполне устраивают.

Алсо да, я ебанько который перехуярисл себе раскладку клавы: ктрл на альт, алт на капс. Зависимость есть, брат жив.
Аноним 24/07/15 Птн 23:50:19 #72 №520250 
>>520249
Алсо дефолтные ктрл+ц/в/х нажимать когда ктрл на месте альта — одно удовольствие.
Аноним 25/07/15 Суб 00:07:00 #73 №520254 
>>520250
Хуйня. У меня контрол на капсе, намного удобнее

> дефолтные ктрл+ц/в/х

Виндоблядь спалилась
Аноним 25/07/15 Суб 00:08:45 #74 №520255 
>>520254
Ты капс чем жмешь? Мизинцем.
А я альт чем жму? БОльшим пальцем.
По твоему в прыщах у фурифокса какие-то другие хоткеи?
Аноним 25/07/15 Суб 00:09:30 #75 №520256 
14377721701520.jpg
>>520255
Алсо вот:
Аноним 25/07/15 Суб 00:38:20 #76 №520263 
>>520255
Мизинцем, но при этом я его не подгибаю, а ты большой палец подгибаешь, чтобы отвести его от пробела к альту.
В фурифоксе не надо хоткеить, выделил текст мышкой… всё, он скопировался. Хотя это я настроил, чтобы у меня один буфер был, так-то их в линуксе обычно двое. Ну и чтобы даже мышкой не возить, у меня там пентадактиль с режимами.
Все, завязываю оффтопить.
Аноним 25/07/15 Суб 00:51:10 #77 №520266 
>>520263
На капсе у меня мизинец уставал не намного меньше чем на альте. Алсо купил себе механику без цифрового блока — охуенно просто.
Все вим-моды для фурифокса отвратно работают с переключенной раскладкой. Я так и не распробовал ни одного из них.
Аноним 26/07/15 Вск 02:28:05 #78 №520902 
14378668855810.jpg
Товарищи, расскажите нынешние реалии ТСЛя.
Я на нем лет 10 назад отжигал себе в удовольствие, потом жизнь закрутила.

Суть вот в чем. Я был молодой и не разбирался - лисп там или не очень. Просто перло от того, что все, что угодно пихаешь куда ни попадя, а оно и работает. И к тому же - хуяк и в продакшн. шелл даже написал на нем же для него же

Только потом узнал, что ЛИСП это типа труъ, для бородатых гошпод, а вот только сейчас узнал, что ТСЛ имеет какое-то отношение к лиспу.

Короче. Что сейчас как? Пользуются ли им? Стоит ли допиливать вещи?
Аноним 26/07/15 Вск 14:34:40 #79 №521010 
>>520902
>Что сейчас как?
Развивается потихоньку. Не так давно вот сопрограммы добавили, теперь писать асинхронщину стало ещё удобнее.
Количество и качество батареек возросло. JIT запилили.
Tk на линуксе до сих пор выглядит как говноmotif, хотя какие-то попытки исправить ситуацию были.
>Стоит ли допиливать вещи?
Конечно.
Аноним 27/07/15 Пнд 16:53:51 #80 №521573 
http://picolisp.com/wiki/?rcsim
Аноним 27/07/15 Пнд 17:28:54 #81 №521590 
>>521573
Круто, конечно, но всё равно этот пиколисп какой-то СТРАННЫЙ
Аноним 27/07/15 Пнд 18:52:05 #82 №521629 
Для общего развития занялся js. Судя по тому, что я прочитал, он очень похож на лисп, только со словарями вместо списков. Я прав?
Аноним 27/07/15 Пнд 19:57:07 #83 №521643 
>>521629
Если так рассуждать, то все динамические яп похожи на лисп наличием одного (на крайняк двух-трех) универсального yoba-контейнерного типа.
Аноним 28/07/15 Втр 00:01:49 #84 №521786 
14380309095370.jpg
>>521629
http://javascript.crockford.com/javascript.html
Функции высшего порядка, замыкания, динамическая типизация, eval'ы.
Да, это лисп.
Аноним 28/07/15 Втр 00:05:53 #85 №521789 
>>521786
Есть почти во всех динамических языках, например в питоне. А в руби еще и континуации есть.
Аноним 28/07/15 Втр 00:06:18 #86 №521790 
>>521786
Даже в пхп есть.
Аноним 28/07/15 Втр 00:54:06 #87 №521813 
>>521786
А еще есть масивы. Как известно, масивы это мандады, значит жс это хаскель.
Аноним 28/07/15 Втр 01:41:52 #88 №521824 
>>521786
Ты забыл про главное - гомоиконность. Которой в js нет.
Аноним 28/07/15 Втр 02:16:58 #89 №521837 
>>521824
Так это же си с указателями! Не?

a (b)
Аноним 28/07/15 Втр 02:17:41 #90 №521838 
>>521837
там звездочки перед а и б зафейлил - фикс.
Аноним 28/07/15 Втр 10:35:35 #91 №521907 
>>521824
Но ведь программа на js - это просто json'ы и методы на них. А js'ное АСТ - это json. Или я плохо понял суть js?
Аноним 28/07/15 Втр 11:12:02 #92 №521921 
>>521907
>программа на js - это просто json'ы
[code lang=js]
var array = [1, 2, 3, 4, 5],
sum = 0,
prod = 1;
for (i = 0; i < array.length; i += 1) {
sum += array;
prod *= array;
}
[/code]
Где ты тут json видишь?
Аноним 28/07/15 Втр 11:12:09 #93 №521922 
>>521907
json это всего лишь подмножество js кода, в нём даже нет функций.
Аноним 28/07/15 Втр 11:13:55 #94 №521924 
>>521922
>подмножество js кода
Не кода, а синтаксиса. JSON код не описывает, только данные.
LispOS Аноним 28/07/15 Втр 19:40:22 #95 №522254 
14381016220790.png
14381016220941.png
ОС, полностью написанная на общелиспе
https://github.com/froggey/Mezzano
Аноним 28/07/15 Втр 19:44:00 #96 №522258 
>>522254
Да можно хоть на анусе написать.
Аноним 28/07/15 Втр 19:59:01 #97 №522267 
>>522258
ОС в 40к строк на анусе не уместишь.
А тут уместили не только ОС, но ещё и свою реализацию CL, а стандарт у него весьма объемный.
Аноним 28/07/15 Втр 23:06:40 #98 №522411 
14381140000900.jpg
>>522254
nethack (рогалик со 2го пика) тоже уже на лиспе?
Аноним 28/07/15 Втр 23:08:36 #99 №522413 
>>522411
>тоже уже на лиспе?
А на чем ещё?
Аноним 29/07/15 Срд 02:31:33 #100 №522497 
14381262933440.jpg
Доброго времени суток, господа скобкари!
Начал аутировать в лисп недавно, поэтому топор, сразу извиняюсь за глупые вопросы, коих я к вам принес целых джва.
Первый:
defstruct'ом определена дата (в целях тренировки леплю велосипед для работы с датами), определена функция печати для вывода в формате "2015-07-28". если пробовать задать джве даты (2015-07-28 и 2015-08-05) и объединить их в список, то repl выдает дичь:"2015-07-282015-08-05( )". Это только в repl так? Или так и должно быть?
Если функцию печати не определять, то repl пишет:"(#S(LD-DATE :YEAR 2015 :MONTH 7 :DAY 28) #S(LD-DATE :YEAR 2015 :MONTH 8 :DAY 5))", то есть нормально списком.
Второй, теоретический:
если в качестве аргумента функции передается атом, который мы хотим использовать как ключ, как это сделать?
пример:
(defun foo (&key (x 10) (y 15))
(/ x y))

(defun bar (m n)
(foo :m n))

то есть в функции bar мы как m передаем символ x или y. Как для ключа его использовать?

Огромное спасибо за помощь, всем добра!
Аноним 29/07/15 Срд 11:05:16 #101 №522582 
>>522497
>если пробовать задать джве даты (2015-07-28 и 2015-08-05) и объединить их в список, то repl выдает дичь:"2015-07-282015-08-05( )"
Это ты там где-то накосячил. http://ideone.com/6aubWp
>то есть в функции bar мы как m передаем символ x или y. Как для ключа его использовать?
Так и пишешь (foo m n)
Ключевые слова, чтобы ты понимал, — это просто символы, принадлежащие пакету keyword, а :m — это синтаксический сахар к 'keyword:m. Там же на ideone я попытался это тебе продемонстрировать.
Аноним 29/07/15 Срд 19:51:09 #102 №522976 
Листаны, решил вернуться к своей второй главе сикп. Охуел от того как я обимперативел за два месяца питона, не могу написать нихуя. Получается очень уродливо, голова как деревянная.
Например, есть список, надо применить функцию к каждому элементу, и если функция возвращает #f, тогда весь результат будет #f.
Пока сделал короч let res = (map fn lst), а потом (if (not (member #f res)) ...)
Но как-то всё равно хуёво. Есть andmap, но он возвращает только последний элемент в случае успеха, а мне надо весь список.
Аноним 29/07/15 Срд 19:52:55 #103 №522980 
>>522976
Алсо, использую Racket которого толком не знаю, но местами есть удобное дерьмо типа let* или letrec. Насколько это зашквир с точки зрения обучения и вообще?
Аноним 30/07/15 Чтв 11:57:58 #104 №523241 
>>522976
Для таких случаев удобно использовать продолжения.
[code lang=scheme](define (test f xs)
(let/cc cont
(map (lambda (x)
(or (f x) (cont #f))) xs)))

(display (test odd? '(1 2 3 4)))
(display (test odd? '(1 3 5 7)))
[/code]

Другой вариант - написать свой map.
Аноним 02/08/15 Вск 09:41:17 #105 №524455 
>>522976
Бамп
Аноним 02/08/15 Вск 10:44:19 #106 №524462 
Вы бы еще пролог изучали.
Аноним 02/08/15 Вск 10:48:54 #107 №524463 
>>524462
Лишь бы не кобол
Аноним 02/08/15 Вск 12:32:34 #108 №524471 
>>524462
я изучаю, и чё?
Аноним 02/08/15 Вск 16:05:04 #109 №524541 
>>524462
Как будто что-то плохое. Это ж не кобол.
Аноним 06/08/15 Чтв 14:09:50 #110 №526377 
Бамп
Аноним 10/08/15 Пнд 20:03:32 #111 №527961 
Пацаны, поясните мне за емакс-лисп. Он как бы тру, или как бы не оче?
Аноним 10/08/15 Пнд 20:43:12 #112 №527979 
>>527961
Там наконец-то завезли lexical scope (начиная с emacs 24) и портировали многую годноту из Clojure (dash.el).
Так что сейчас на нём вполне можно писать.
Аноним 10/08/15 Пнд 20:56:03 #113 №527989 
>>521824
Есть же Function.prototype.toString
Аноним 10/08/15 Пнд 21:58:31 #114 №528011 
>>527979
А теперь поясни для пацанов в двух словах, что это за хуйня и чем она должна спасти мир?
Аноним 11/08/15 Втр 13:59:35 #115 №528260 
>>527989
Это называется рефлексией, а не гомоиконностью.
Аноним 12/08/15 Срд 00:03:47 #116 №528666 
>>528653
Очевидный SICP.
Аноним 12/08/15 Срд 06:15:21 #117 №528737 
А причем тут ребол? Загуглил картинку кода, там не скобки.
Аноним 12/08/15 Срд 12:59:34 #118 №528871 
>>528737
А может сходство не синтаксическое? Попробуй ещё хотя бы статью на вике про ребол почитать.
Аноним 12/08/15 Срд 13:29:14 #119 №528888 
14393753548680.jpg
Требую пример не очень сложной, но полезной ,а не очердного курсоча программы на хаскелле.
Аноним 12/08/15 Срд 15:21:43 #120 №528929 
>>528888
Ты тредом ошибся. очевидный darcs
Аноним 12/08/15 Срд 15:36:21 #121 №528937 
>>528888
В порядке убывания полезности:
http://pandoc.org/
http://xmonad.org/
http://steamcommunity.com/sharedfiles/filedetails?id=107105028
https://github.com/ahushh/Monaba (но есть подозрение, что автор лошара неосилил кеширование)
http://darcs.net/
Ящитаю, darcs (как и mercurial и svn и прочая параша) ненужен когда есть git и github, а вот pandoc и xmonad находят своих пользователей, потому что у первого вроде и альтернатив нет, а второй - лучший программируемый вм для тех, кому такая гибкость нужна. Мне ненужна и я пользуюсь i3wm, но на linux.org.ru полно иксмонадчиков.
Аноним 12/08/15 Срд 16:36:10 #122 №528982 
>>528937
Открывал код хмонада.
я-нихуя-не-понял.пнг
Аноним 12/08/15 Срд 16:43:44 #123 №528986 
>>528937
>Monaba
говнокод/10
Аноним 12/08/15 Срд 20:05:48 #124 №529125 
>>528982
Там код простой, тащемта
Аноним 12/08/15 Срд 23:25:16 #125 №529214 
>>529210
Ты все правильно понял.
Гугли про хвостовую рекурсию. В том же SICP(книжке) про это есть.
Аноним 12/08/15 Срд 23:41:06 #126 №529219 
>>529218
Есть варианты. В том же схеме можно делать внутренние функции (по сути замыкания), которые будут общие переменные использовать из окружения.

Обычно рекурсивные алгоритмы имеют небольшую асимптотическую сложность (тот же поиск по дереву за log(n), поэтому не так все страшно. Хотя, конечно, поймать stackoverflow вполне реально.
Аноним 13/08/15 Чтв 00:03:16 #127 №529227 
>>529221
Это типа как замыкания. Читай/смотри дальше, короче.
Аноним 13/08/15 Чтв 09:03:37 #128 №529318 
>>529210
>Если я правильно понимаю, каждый вызов рекурсивной процедуры занимает место в памяти. Это значит, в данном случае, что все 4 операнда будут занимать новую память каждый вызов процедуры.
Нет. Все вызовы в схеме являются хвостовыми, т.к. код преобразовывается к CPS.
Аноним 13/08/15 Чтв 16:29:48 #129 №529500 
>>528937
Двачую xmonad. Охуенный WM.
Аноним 13/08/15 Чтв 16:34:59 #130 №529505 
>>529500
i3 в целом покрывает 146% моих подребностей.
Что такого есть в хмонаде, ради чего его стоит осилить?
Аноним 13/08/15 Чтв 16:49:18 #131 №529520 
>>529461
>>529219
> поймать stackoverflow вполне реально
Можно словить out of memory от разросшейся лямбды, но никак не переполнение стека.
Аноним 13/08/15 Чтв 16:50:34 #132 №529521 
>>529505
xmonad-contrib
Аноним 13/08/15 Чтв 17:02:26 #133 №529534 
>>529505
Мне удобны способ переключения между мониторами и воркспейсами, гибкая настройка тайлинга, в том числе возможность жесткого задания положения окон на воркспейсах, огромное число хоткеев, нескучные обои. I3 не использовал, ничего про отличия сказать не могу.
Аноним 14/08/15 Птн 20:43:39 #134 №530043 
>>530023
Код где?
Аноним 15/08/15 Суб 08:43:19 #135 №530410 
>>530083
На рэкете с #lang racket и с #lang r5rs работает.
У тебя, наверное, режим Advanced Student установлен, в нем тело функции не может иметь больше одного выражения.
Аноним 16/08/15 Вск 00:49:56 #136 №530847 
>>530810
Любой.
Ебля с монетками Аноним 19/08/15 Срд 16:48:30 #137 №532533 
14399921104390.png
Анон, поясни за фокус с монетками.

Вроде:

Число способов разменять сумму a с помощью n типов монет равняется
- числу способов разменять сумму a с помощью всех типов монет, кроме первого,
плюс
- число способов разменять сумму a − d с использованием всех n типов монет, где d — достоинство монет первого типа.


это потому, что из комбинаторики в общем случае - см. пикрил.

Комбинаторику в институте я проебал мудак, порекомендуй книгу для начинающих мамкиных программистов. Желательно на английском.

Вот эту рекомендуют, годная ли? Mathematics with Combinatorics, James A. Anderson
Ебля с монетками Аноним 19/08/15 Срд 16:49:27 #138 №532535 
14399921675420.png
Анон, поясни за фокус с монетками.

Вроде:

Число способов разменять сумму a с помощью n типов монет равняется
- числу способов разменять сумму a с помощью всех типов монет, кроме первого,
плюс
- число способов разменять сумму a − d с использованием всех n типов монет, где d — достоинство монет первого типа.


это потому, что из комбинаторики в общем случае - см. пикрил.

Комбинаторику в институте я проебал мудак, порекомендуй книгу для начинающих мамкиных программистов. Желательно на английском.

Вот эту рекомендуют, годная ли? Mathematics with Combinatorics, James A. Anderson
Аноним 19/08/15 Срд 16:57:22 #139 №532541 
>>532535
Пиздец, что с бордой?!
Аноним 19/08/15 Срд 17:53:13 #140 №532573 
>>532535
И в чем фокус?
Аноним 19/08/15 Срд 20:28:55 #141 №532669 
>>532573

1. Как подступиться, принцип.
2. Итеративный метод вычисления, общий случай приведения к хвостовой рекурсии.
3. Годная ли книга, где скачать.
Аноним 19/08/15 Срд 21:35:44 #142 №532699 
>>532669
1) тупо рекурсивно считай, да.
2) ну можешь попердолиться
3) не знаю
Аноним 19/08/15 Срд 21:51:50 #143 №532707 
>>532535
Но ведь неправильно, лол, разве нет?
Число способов разменять сумму a с помощью n типов монет равняется
-числу способов разменять сумму a − d1 с использованием всех n типов монет, где d1 — достоинство монет первого типа плюс
-числу способов разменять сумму a − d2 с использованием всех n типов монет, где d2 — достоинство монет второго типа... и т.д.
Аноним 19/08/15 Срд 22:03:51 #144 №532721 
14400110312980.png
>>532707

>неправильно
Аноним 19/08/15 Срд 22:09:23 #145 №532728 
14400113630260.png
>>532699
> тупо рекурсивно считай
Аноним 19/08/15 Срд 22:15:24 #146 №532733 
>>532699
> ну можешь попердолиться
ну, я и не против, направление бы.
Аноним 19/08/15 Срд 22:17:56 #147 №532735 
>>532707
+
-числу способов разменять сумму a − dn с использованием всех n типов монет, где dn — достоинство монет n-го типа
+
1 (пустое подмножество. Тоже считается за способ).
Аноним 19/08/15 Срд 22:18:27 #148 №532737 
>>532721
Понял, что проебался. Пошел думать
Аноним 19/08/15 Срд 23:08:32 #149 №532768 
>>532733
Говорят Конкретная Математика Кнута неплохая
Аноним 19/08/15 Срд 23:45:51 #150 №532775 
>>532768
Спасибо!
И еще.
Простите за нубский вопрос, но:
как отслеживать этапы вычисления в DrRacket?
Например, мне надо узнать сколько вызовов sqrt-iter в примере из SICP.
Аноним 20/08/15 Чтв 12:53:45 #151 №532924 
>>532535
Но ведь твой пик совсем про другое соотношение.
Аноним 20/08/15 Чтв 14:06:11 #152 №532952 
>>532775
дебаггер?
Аноним 20/08/15 Чтв 14:06:33 #153 №532953 
>>532775
Вроде и профайлер был какой-то
Аноним 20/08/15 Чтв 14:07:44 #154 №532954 
Кстати, мы переехали на http:// (ноль) c h a n.cc/c/ . Можете там срать в любом месте. Мы вас любим.
Аноним 20/08/15 Чтв 15:38:44 #155 №532989 
>>532954
>http:// (ноль) c h a n.cc/c
Отлично, быдло съебало.
Аноним 20/08/15 Чтв 15:42:51 #156 №532992 
>>532924
Вовсе нет. Отними 1 от всех коэффициентов. Получится:
(n k) = (n-1 k) + (n-1 k-1)
А точнее,
(n k) - Число способов разменять сумму n с помощью k типов монет равняется
(n-1 k-1) - числу способов разменять сумму n с помощью всех типов монет, кроме первого,
плюс
(n-1 k) - число способов разменять сумму n − k с использованием всех n типов монет, где d — достоинство монет первого типа.
Аноним 20/08/15 Чтв 16:48:25 #157 №533021 
>>532992
>(n k) - Число способов разменять сумму n с помощью k типов монет
У тебя все монеты номинала 1 чтоли?
Аноним 20/08/15 Чтв 17:49:51 #158 №533085 
>>532989
на сосач, быдло
Аноним 20/08/15 Чтв 18:50:51 #159 №533154 
>>533021
Затрудняюсь понять с чего ты это взял...
> k типов монет
> k номиналов
Например:
Дана сумма S, и два номинала a и b, причем a < b.

Давай посчитаем все варианты размена, но без повторений.
Итак:
1. Размен S только с помощью a, обозначим это как S(a).
2. Размен S только с помощью b, обозначим это как S(b).
3. Размен S с помощью a и b вместе, обозначим это как S(a,b).

Обрати внимание, что все эти множества не пересекаются.

Но в множестве 3. есть интересный нюанс:
Если b кратен a, то в это множество входят и те варианты, в которых b разменен с помощью a. Но! Если мы разменяем все b помощью a, то это будет повторять множество 1.! Как этого избежать? А вот так - потребуем, чтобы в тех подмножествах (вариантах), где b разменен с помощью a, был использован как минимум один b!

Что получается?
Множество 3. можно разделить на два подмножества:
3.1 Размен S с помощью максимального количества b, а остаток - с помощью a. Это будет максимум один вариант.
3.2 Размен S с помощью поэтапного уменьшения (максимального количества b), а остаток - с помощью a. Это значит, что каждый b мы поэтапно размениваем с помощью a. Пока не останется один b, а остальное - a.

Обрати внимание, что если чуть-чуть попердолиться, то можно объявить множества таким образом, что 3.1 == 2., а 3.2 == 1.

Ты понял?
Аноним 20/08/15 Чтв 18:51:42 #160 №533157 
>>532952
Извини, мне это ни о чем не говорит. Есть пример?
Аноним 20/08/15 Чтв 19:02:54 #161 №533168 
>>533154
>если чуть-чуть попердолиться
Ахтыжблядь, совсем даже не чуть-чуть. Продолжаю наблюдение.
Аноним 20/08/15 Чтв 19:16:52 #162 №533179 
>>533154
Продолжаю.
Итак, 3.2.
Это очень хитрое подмножество. Обрати внимание, чтобы множества 1., 2. и 3. не пересекались, там должен быть минимум один b. Что это значит?
Это значит, что если b есть во всех вариантах 3.2, то можно его не учитывать. И далее, расчитывать варианты для (S-b) вместо S! Дада, рекурсия уже близко!
Но для этого нужно
> объявить множества таким образом, что 3.1 == 2., а 3.2 == 1.
Аноним 20/08/15 Чтв 20:06:51 #163 №533204 
>>533157
http://docs.racket-lang.org/drracket/debugger.html
sageАноним 20/08/15 Чтв 22:25:28 #164 №533317 
14400987287600.jpg
Идите в хуй, кароч. Мертвый тред.
sageАноним 21/08/15 Птн 00:19:27 #165 №533407 
>>532768
Анон, счастья тебе и здоровья за подсказку книги. Неплохая?! Да она охуенна! В списке литературы есть ссылка на такое охуенное решение задачи про монетки, что я сорвал нофапафон!
Мне дико доставило, что я был на правильном пути!
Добра тебе.
Аноним 21/08/15 Птн 00:19:51 #166 №533409 
>>533407
Сага почему-то приклеилась.
Аноним 24/08/15 Пнд 21:11:51 #167 №534624 
https://groups.google.com/forum/?hl=en#!topic/racket-users/yjRuIxypUQc
А чего добился ты?
Аноним 27/08/15 Чтв 13:01:21 #168 №535451 
Расскажите мне про использование лиспа в качестве встраиваемого языка. Скажем, я хочу сделать для игрового сервера возможность писать логику для предметов/мобов на какой-нибудь схеме. Норм затея или не выебываться и смотреть в сторону луа?
Аноним 27/08/15 Чтв 14:25:59 #169 №535477 
>>535451
ECL
Аноним 27/08/15 Чтв 14:45:17 #170 №535484 
Привет, коданы. Я изучаю SICP.Пишу на Racket.
Что прочесть по Схеме чтобы я перестал путаться в этих скобках? Какие-нибудь трюки с IDE? Есть кнопочка "обернуть выражение в скобки?"
Аноним 27/08/15 Чтв 15:00:49 #171 №535500 
>>535451
Если хочешь встроить общелисп - ecl (код транслируется в сишку и компилится в .so), схему - guile (компилится в байткод, jit'а нет)
Аноним 27/08/15 Чтв 15:10:14 #172 №535506 
>>535484
> Какие-нибудь трюки с IDE?
В емаксе всякие rainbow-delimiters, highlight-parentheses
>Есть кнопочка "обернуть выражение в скобки?"
В том же емаксе smartparens.

Рекомендую использовать spacemacs, в котором всё это уже настроено.
Добавишь только racket, scheme, auto-completion и т.д. в dotspacemacs-configuration-layers в ~/.spacemacs и готово.
Аноним 27/08/15 Чтв 16:01:25 #173 №535537 
>>535506
Блджад, я понимаю что писать на лиспе в лиспе это весело, но я под виндой живу, сменить OS не могу, хоть и хочу.
Ты предлагаешь мне неделю еще и с имаксом ебаться под виндой.
Аноним 27/08/15 Чтв 16:20:41 #174 №535552 
14406816410450.png
>>535537
spacemacs и под виндой нормально работает. Просто следуй инструкции https://github.com/syl20bnr/spacemacs#windows
Ну и тебе скорее всего потом придется задать полный путь к racket.exe через M-x customize-group geiser-racket как на изображении.

Ну или используй drRacket. Он хоть и не такой удобный, как емакс, но пользоваться можно.
Аноним 27/08/15 Чтв 18:05:54 #175 №535592 
>>535500
Плюсы минусы обоих вариантов?
Мне надо чтобы код можно было на лету перезагрузить.
Аноним 28/08/15 Птн 10:42:18 #176 №535842 
>>519098
> Тикиль такой же лисп

Строки списков?
Строки строк?
Многомерные строки?
Произвольное увеличение мерности строк?
Ой-ой...
Аноним 30/08/15 Вск 16:00:24 #177 №536855 
14409396246950.jpg
Надо же, в моем мухосраннике работа на Clojure
Аноним 30/08/15 Вск 20:02:50 #178 №536987 
>>536855
Не хилый такой разброс:
>глубокое знание java
>глубокое знание js
Аноним 30/08/15 Вск 20:49:21 #179 №537011 
>>536987
Там же написано "одного из"
Аноним 30/08/15 Вск 22:50:45 #180 №537050 
>>537011
Т.е. по-твоему, уровень людей с глубокими познаниями в java или js не будут особо различаться?
Аноним 31/08/15 Пнд 09:32:31 #181 №537218 
>>537050
Фасолине припекло?
Аноним 31/08/15 Пнд 16:51:28 #182 №537436 
>>537218
Отнюдь, сэр.
Аноним 31/08/15 Пнд 17:04:20 #183 №537453 
>>518400
Хуево. Что делать?
Аноним 01/09/15 Втр 00:29:01 #184 №537681 
>>537453
Пилить поддержку, очевидно.
Аноним 01/09/15 Втр 23:07:01 #185 №538136 
>>535842
Да, именно так всё и есть.
Аноним 02/09/15 Срд 11:48:47 #186 №538352 
>>537050
Я согласен, различие огромное.

Глубокое знание js предполагает глубокое знание предметной области, т.е. знание HTML и CSS, знание стандартов и понимание направления их развития, умения оптимизировать производительность сайтов и многое другое.

Глубокое знание java предполагает толерантность к монструозным фреймворкам, умение сидеть на жопе ровно в кубике и принимать на себя вину за ошибки менеджеров.
Есть один код. Аноним 10/09/15 Чтв 09:53:12 #187 №541125 
[code lang="lisp"]
(setq sel (ssget))
(setq i 0)
(while (< i (sslength sel)) (progn
(setq content (entget (ssname sel i) ))
(if (= (cdr(assoc 0 content)) "MTEXT") (progn
(setq str (cdr(assoc 1 content)) )
( setq index (1- (strlen str)) )
(while (and (> index 0) (/= (substr str index 1) ";") ) (setq index (1- index)) )
(setq str (substr str index (- (strlen str) index) ))
(subst (list 1 . str) content sel)
(entmod sel)
))
(setq i (1+ i ))
))
[/code]
Пытаюсь написать маленький скрипт для автокада, но эта тварь не с того не с сего перестала входить в главный цикл while, то есть вообще, ошибок не выдаёт, проверку условия не делает, просто заканчивает работу скрипта после второй строчки, пёс. В чём вообще может быть дело?
Аноним 13/09/15 Вск 14:19:09 #188 №542480 
>>541125
sslength возвращает 0?
Аноним 14/09/15 Пнд 08:14:38 #189 №542825 
>>538352
Front-end кафельщик не палится.
Аноним 14/09/15 Пнд 08:30:57 #190 №542828 
>>542480
Нехера не возвращает он, я же писал что он даже условия не проверяет когда пошагово отлаживаю, до этого всё норм было потом я внутри цикла сделал изменения и он перестал его запускать. Ставлю брекпоинт на самое начало жму следующая инструкция дохожу до цикла и выполнение заканчивается.
Аноним 14/09/15 Пнд 12:29:37 #191 №542890 
>>517479 (OP)
Как то в школе от нечего делать нашёл в библиотеке древние книжки по лиспу и прологу. Пролог тогда показался интереснее своей концепцией и про лисп я забыл. Вскоре осознал, что одно уже мертво, а второе мне никогда не понадобится.
Аноним 14/09/15 Пнд 14:34:24 #192 №542914 
>>542828
Не может она ничего не возвращать, это ж функция.
В репле протестируй (sslength (ssget))
Аноним 14/09/15 Пнд 15:29:57 #193 №542928 
>>542890
>Пролог тогда показался интереснее своей концепцией
http://franz.com/support/documentation/current/doc/prolog.html
Видимо, концепция лиспа в той книжонке вообще не раскрывалась.
Аноним 14/09/15 Пнд 15:40:33 #194 №542930 
>>517479 (OP)

Почему не запилят лисп под .net???
Аноним 14/09/15 Пнд 15:42:48 #195 №542932 
>>542930
Была вроде реализация cl под дотнет
Аноним 14/09/15 Пнд 15:56:15 #196 №542938 
>>542930
А с кложурой что не так?
Аноним 14/09/15 Пнд 15:57:11 #197 №542939 
>>542938

Надо чистый лисп.
Аноним 14/09/15 Пнд 15:58:31 #198 №542940 
>>542938
clojure /= clojure.clr /= clojurescript же
Аноним 14/09/15 Пнд 16:01:29 #199 №542941 
>>542930
http://weitz.de/rdnzl/
либо через COM и https://github.com/Lovesan/doors
Аноним 14/09/15 Пнд 16:05:03 #200 №542944 
>>542941

> COM

[тугая струя блевотины с жидким бульканьем ударила в переполненный таз]
Аноним 14/09/15 Пнд 16:06:49 #201 №542945 
>>542944
Технологии МС - они такие, да.
Аноним 14/09/15 Пнд 16:26:51 #202 №542954 
>>542914
Нашел проблему, помимо программных ошибок была синтаксическая: (list 1 . str) не создаёт валидный элемент словаря, а является синтаксической ошибкой, но ошибок при этом никаких не выдавалось, АвтоКАД молча игнорил тело цикла с ошибкой. Такие дела.
Аноним 14/09/15 Пнд 22:23:54 #203 №543129 
Просто захотел зафорсить мелкоборду и запостить ссылку в более-менее адекватном треде /зк. Еще там админ прикрутил кодкапчу в зк, на заходите аллчан.су
Аноним 16/09/15 Срд 01:26:22 #204 №543644 
Кто кложуру юзает для веб-разработки? Стоит изучать?
Аноним 16/09/15 Срд 12:11:55 #205 №543768 
>>543644
Юзает много американских стартапов. В Европе в основном всякая хипстота.
Изучать стоит, в двух случаях:
1. Хочешь делать хобби-проекты в одно рыло и иметь охуительную продуктивность.
2. Уже знаешь какой-то веб-стек и хочешь расширить горизонты и заглянуть в будущее.
Аноним 16/09/15 Срд 12:15:59 #206 №543769 
14423949591960.png
>>542939
> чистый лисп

Ну давай, расскажи мне что такое чистый лисп.
Может быть это лисп из статью Маккарти 1960 года где нет нихуя кроме листов и символов?
Аноним 16/09/15 Срд 12:17:55 #207 №543770 
>>542825
Чини детектор, на бэкенде я работал гораздо больше чем на фронтенде.
Аноним 16/09/15 Срд 12:21:00 #208 №543771 
>>542890
Пролог мёртв, но дело его живёт.
Есть такая охуительная вещь - miniKanren. Это чистый логический язык программирования (более чистый чем Prolog), который изначально разрабатывался как встраиваемый в другие языки. Реализаций для разных языков овердохуя:
http://minikanren.org/
Аноним 17/09/15 Чтв 14:47:40 #209 №544463 
14424904606150.png
Кто-нибудь уже использовал Woo https://github.com/fukamachi/woo ?
Производительность впечатляет, но насколько он готов для полноценного использования?
Алсо, не знал, что нодажс - такой тормоз, что даже golang дает ей на клыка.
Аноним 17/09/15 Чтв 15:02:44 #210 №544475 
>>544463
> 2015
> вестись на бенчмаркетинг
Аноним 17/09/15 Чтв 15:10:19 #211 №544481 
>>544475
Что плохого конкретно в этом бенчмарке?
Аноним 17/09/15 Чтв 17:33:40 #212 №544545 
>>544481
Очень много чего.
1. Не написано как и что меряли.
2. Нет ссылки на исходный код.
3. Какой-то рандомный выбор фреймворков, среди которых явно нет самых производительных по версиям других бенчмарков.
Вот самый вменяемый бенчмарк веб-фреймворков:
https://www.techempower.com/benchmarks/#section=data-r10&hw=peak&test=json
(и даже он мало о чём говорит, на самом деле)
Аноним 17/09/15 Чтв 17:42:40 #213 №544548 
>>544545
>1. Не написано как и что меряли.
>2. Нет ссылки на исходный код.
Написано всё https://github.com/fukamachi/woo/tree/master/benchmark
>бенчмарк веб-фреймворков
Woo - веб-сервер, а не фреймфорк, тащемта.
Аноним 18/09/15 Птн 14:51:24 #214 №545089 
14425770844570.png
>>544548
Ты посмотрел на бенчмарк от techempower? Там тоже много веб-серверов, всё что обозначено как "Plt" (platftorm) - это по сути веб сервера.
И на главный вопрос ты не ответил, почему этот Woo сравнивается с какими-то бомжами, вместо нормальных веб-серверов/фреймворков, например топ-5 бенчмарка techempower?
Аноним 18/09/15 Птн 15:01:35 #215 №545096 
>>545089
>Ты посмотрел на бенчмарк от techempower?
Нет, зачем он нужен, если там нет интересующих меня платформ?
>И на главный вопрос ты не ответил
Потому что обратился ты с ним не по адресу.
>вместо нормальных веб-серверов
nginx и ко явно из другой весовой категории
Аноним 18/09/15 Птн 15:04:53 #216 №545097 
>>545096
А раз он "из другой весовой категории" по отношению к нормальным веб-платформам, то зачем хвастаться бенчмарками?
Аноним 18/09/15 Птн 15:08:53 #217 №545099 
>>545097
Блять, ну ты и зануда.
Потому что в своей весовой категории он намного эффективнее аналогов.
Аноним 18/09/15 Птн 16:03:53 #218 №545152 
>>545099
Вот это и есть бенчмаркетинг:
Наш веб-сервер самый быстрый (сноска маленьким шрифтом: среди бомжей).
Если авторы прибегают к таким приёмам, то доверие к ним сразу как-то пропадает.
Аноним 18/09/15 Птн 16:09:26 #219 №545165 
>>545152
Когда выпускают самую быструю семейку, ты тоже кукарекаешь, что сравнение - хуйня, надо было со спорткарами сравнивать?
Аноним 18/09/15 Птн 16:22:49 #220 №545193 
>>545165
Не понял про какую "семейку" ты говоришь.
Попробую по-другому сказать:
Если бы у авторов была цель показать, какое место их веб-фреймворк/платформа занимает среди других, то они бы взяли самый известный бенчмарк который есть на данный момент (тот на который я давал ссылку выше), и отправили бы туда пулл-реквест.
А если у авторов цель любыми способами убедить кого-то пользоваться своим поделием, то оно возьму случайную выборку низкопроизводительных фреймворков и скажут "смотрите, на этом фоне мы не так плохо смотримся".
Очевидно, что авторы woo выбрали именно второй вариант. Пользоваться платформой от таких авторов мне как-то не хочется.
Аноним 18/09/15 Птн 16:27:54 #221 №545201 
>>545193
Основная цель была сравнить с ханчентутом, вуки и ещё парочкой аналогов из экосистем других языков.
Нгинксы-хуинксы из того сравнения в данном случае не только не интересны, но ещё и не к месту.
Аноним 18/09/15 Птн 16:48:25 #222 №545225 
>>545201
> и ещё парочкой аналогов из экосистем других языков.
И эта парочка была подобранна именно так, чтобы woo смотрелся выгодно. Если бы они добавили в бенчмарк, например, netty (отнюдь не топ-1, но встречается довольно часто даже в энтерпрайзе), то было бы видно, что сравниваются сорта говна.
Аноним 18/09/15 Птн 16:57:17 #223 №545238 
>>545225
>например, netty
/o\ Он точно не из той оперы.
Аноним 22/09/15 Втр 18:24:04 #224 №547475 
А тем временем вышла новая версия ABCL http://abcl-dev.blogspot.ru/2015/09/abcl-133-released.html
Интересно было бы сравнить его эффективность с кложурой, но мне лень :(
Аноним 23/09/15 Срд 05:29:42 #225 №547748 
>>543771
Ну дык и в эрланге кусочек пролога есть.
А вообще, пролог своим примером и так покащал практическую несостоятельность такого рода языков. Это всё забавно, но ненужно для 95% задач, а для ИИ есть нейронные сети.
Аноним 23/09/15 Срд 09:19:09 #226 №547780 
>>543771
Не знаю, по-моему ничего живее, чем Mercury нет, но это такой Prolog + Haskell.

>>547748
В эрланге от пролога только синтаксис, не больше.

>А вообще, пролог своим примером и так покащал практическую несостоятельность такого рода языков.
Просто у них весьма специфическая область действия - экспертные системы и решение логических задач. Понятно, что в мире, где 95% программирования это формочки и круды он не прижился. Хотя в своё время под управлением одного из диалектов пролога некоторые хуёвины даже летали в космос.

>а для ИИ есть нейронные сети.
Там другой род задач совсем. ИИ это всё таки комплексная область. Например, для распознавания внешнего мира Пролог вряд ли бы подошёл, но вот построить на нём дедуктивную систему ИИ - хорошая идея.
Аноним 23/09/15 Срд 15:19:28 #227 №547914 
Ребят, сколько будет (+ 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1) ?
Аноним 23/09/15 Срд 15:50:08 #228 №547929 
>>547914
http://ideone.com/eciX7v
Аноним 23/09/15 Срд 15:55:50 #229 №547931 
>>547929
Что за отсебятину ты мне прислал тут? При чём тут умножение? Я тебя просил додумывать за меня задачу? Нет. Тогда хули ты выёбываешься тут?
Аноним 23/09/15 Срд 15:59:39 #230 №547932 
>>547931
Где ты умножение увидел, наркоман?
Аноним 24/09/15 Чтв 00:01:16 #231 №548156 
>>547914
единица с копейками, как и в любом другом языке. А что?
Аноним 24/09/15 Чтв 00:10:53 #232 №548160 
>>548156
>единица с копейками
Зависит от типа, тащемта >>547929
Аноним 25/09/15 Птн 22:10:53 #233 №549094 
http://blog.quicklisp.org/2015/09/september-2015-quicklisp-dist-update.html
Аноним 25/09/15 Птн 22:51:21 #234 №549111 
>>549094
https://github.com/capitaomorte/snooze/
Что-то этих веб-фреймворков за последнее время как грибов после дождя появилось.
Аноним 03/10/15 Суб 18:37:11 #235 №552772 
[code lang=lisp](bump (find 'лиспотред (threads зэкач) :key #'thread-title))[/code]
Аноним 03/10/15 Суб 19:59:45 #236 №552819 
>>517479 (OP)
Решил вкататиться в етот ваш лисп. С какого диалекта лучше начинать? И вообще посоветуйте энтрилевельной литературы, плес.
Аноним 03/10/15 Суб 20:06:00 #237 №552826 
>>552819
Зависит от твоих предпочтений и целей, каждый диалект - обособленный и самостоятельный язык со своими особенностями.
Литература в шапке.
Аноним 03/10/15 Суб 21:11:13 #238 №552866 
>>552819
Common Lisp. Читать PCL, OnLisp
Аноним 05/10/15 Пнд 20:16:18 #239 №554075 
>>552819
Кто тут ещё грыз/грызёт SICP? Советы или рекомендации есть?
Аноним 05/10/15 Пнд 23:22:48 #240 №554174 
>>554075
А че тут советовать? Делай все упражнения. Потом можешь сверить своё решение с http://community.schemewiki.org/?SICP-Solutions
Аноним 06/10/15 Втр 08:27:36 #241 №554281 
>>554174
Прошло уже 1.5 месяца, я дополз только до 3 главы. Немного устал
Аноним 08/10/15 Чтв 12:38:05 #242 №555186 
14442970854970.jpg
Я не >>552866, но решил обмазаться PCL.
Буду тут писать что к чему и как идет прогресс.
Прочитал первые две главы, воткнул slime, слегка подкрутил его напильником, вполне юзабельная штука. Прочитал/переписал главу номер три, про бд для сидюков. Пока не оче понимаю про макросы, впрочем там многого и не объяснялось.
Аноним 08/10/15 Чтв 13:06:40 #243 №555196 
14442988005720.png
>>555186
Аноним 08/10/15 Чтв 13:27:24 #244 №555205 
>>555186
>macro is a
function that takes s-expressions as arguments and returns a Lisp form that's then evaluated in place
of the macro form
Макрос есть функция принимающая S-выражения в качестве аргументов и возвращающая лисповую форму, которая затем выполняется в месте вызова макроса.

Все правильно перевел?
Аноним 08/10/15 Чтв 14:01:27 #245 №555219 
14443020878650.jpg
>>555186
Прочитал 4 главу. Ничего особо нового не узнал, но написано хорошо, не хотелось зевнуть порвав себе ебало.
Аноним 08/10/15 Чтв 18:41:28 #246 №555360 
Объясните мне тупому на пальцах разницу между dynamic и lexical scoped variables. Кроме того что dynamic это обычная глобальная переменная доступная отовсюду где она не перебита lexical переменной.
Аноним 08/10/15 Чтв 19:40:08 #247 №555392 
14443224084850.png
>>555360
http://ideone.com/gwhJDL
>де она не перебита lexical переменной.
После "перебивания" лексической она не становится, а так и остается динамической, но с новым значением внутри контекста.
>>555196
Есть же перевод на русский.
>macroexpand-1
Палю годноту: slime-macroexpand в емаксе забинжен на C-c RET. Ещё оче удобен slime-inspect по C-c I и slime-disassemble по C-c M-d
Аноним 08/10/15 Чтв 19:49:29 #248 №555395 
14443229694010.png
>>555392
Про самые нужные забыл: slime-compile-defun на C-c C-c и slime-eval-region на C-c C-r.
Странно, что в PCL про них не рассказывается.
Алсо, советую ознакомиться и с остальными возможностями и хоткеями.
Аноним 08/10/15 Чтв 20:13:43 #249 №555408 
ЭЙ НАРОД!!!

Подскажите, как сдохнуть так, чтобы попсать в рай, где можно хуярить на Лиспе?
Аноним 08/10/15 Чтв 20:41:48 #250 №555424 
>>555408
Устройся в grammarly
Аноним 08/10/15 Чтв 23:46:41 #251 №555532 
>>555392
Нахуй русские переводы.
>>555395
По мере необходимости. spacemacs на пике или васяносборочка?
Аноним 08/10/15 Чтв 23:53:23 #252 №555538 
>>555532
>spacemacs на пике
Он самый.
>или васяносборочка?
Будто спэйсмакс таковым не является.
Аноним 08/10/15 Чтв 23:58:04 #253 №555542 
>>555538
Имел ввиду что васян это ты, и что ты сделал свою сборочку. Хуйню написал, но переписывать уже было лень. Что скажешь за OnLisp?
Аноним 09/10/15 Птн 00:08:49 #254 №555545 
>>555542
>Что скажешь за OnLisp?
Это классика, это знать надо! Серьезно, годная книга, хорошо поясняет за lisp-way
Аноним 09/10/15 Птн 00:42:58 #255 №555562 
>>555545
Окау, почитаю после PCL. Бля, у тебя глаза не вытекают от rainbow мода?
Аноним 09/10/15 Птн 00:48:10 #256 №555567 
>>555562
Нет, не вытекают. Подбери менее контрастные цвета.
Аноним 09/10/15 Птн 02:22:19 #257 №555601 
> Лисп - семейство языков программирования. Характерные особенности: [...] программируемость.

ok
Аноним 09/10/15 Птн 02:27:20 #258 №555602 
>>555601
Что не так?
Аноним 09/10/15 Птн 09:57:13 #259 №555657 
>>555602
Кажется, этот дибилушка думает, что под "программируемостью" имеется в виду возможность на лиспе программировать.
Аноним 12/10/15 Пнд 01:56:18 #260 №556776 
>>555186
Как у тебя продвигается?
Аноним 12/10/15 Пнд 15:37:38 #261 №556997 
>>556776
Норм. Читаю 8 главу про написание макросов. Пока все просто.
Аноним 12/10/15 Пнд 18:00:22 #262 №557114 
>>556997
Конечно, лисповы макросы отличаются от сишного препроцессора тем, что работают с лисповыми формами, а не с текстовыми подстановками, но проблемы всплывают те же: не вычисляй значение параметров дважды, не проебывай порядок аргументов, не обосрись с совпадающими именами внутренних переменных. Пока не очень понимаю чем они настолько лучше сишных.
sageАноним 12/10/15 Пнд 19:08:56 #263 №557150 
>>557114
> не обосрись с совпадающими именами внутренних переменных
Про gensym слышал?
Аноним 12/10/15 Пнд 19:10:44 #264 №557152 
>>557114
>что работают с лисповыми формами, а не с текстовыми подстановками
Со списками, а не лисповыми формами.
>не обосрись с совпадающими именами внутренних переменных
В CL макросы негигиеничные, используй with-gensyms.
>не проебывай порядок аргументов
Чочо?
>Пока не очень понимаю чем они настолько лучше сишных.
Произвольные вычисления в compile-time (по сути, в cl нет compile-time как отдельной стадии - компиляция происходит в рантайме), неограниченная вложенность макросов, ast - просто список, поэтому его легко обрабатывать.
Вот тебе пример произвольных вычислений http://ideone.com/V2uHfY Идиотский, но суть понятна.
Аноним 12/10/15 Пнд 19:59:19 #265 №557171 
>>557152
Твой пример подозрительно похож на eval.
Для какой задачи, при выборе инструмента, CL будет очевидно лучшим вариантом?
Аноним 12/10/15 Пнд 20:24:03 #266 №557181 
>>557171
>Твой пример подозрительно похож на eval.
Это потому, что я не модифицировал код, а читал его с stdin в готовом виде. Я хотел показать, что макрос - обычная если не считать некоторых особенностей функция, возвращающая список. И что макроподстановка выполняется до тех пор, пока все не раскроются. В примере макрос yoba раскрывается дважды: (yoba) -> (progn (format ...) (yoba)) -> (progn (format ...) (progn (format ...) (print ...)))
>Для какой задачи, при выборе инструмента, CL будет очевидно лучшим вариантом?
Очевидно лучшим, пожалуй, будет для задач, которые ещё не имеют готовых решений, т.к. с его помощью намного проще и удобнее экспериментировать, прощупывая предметную область.
А так, CL - поистине практичный язык общего назначения, и может быть использован для чего угодно: от ОС, до всяких сайтиков и йоба-игорей, но всё упирается в библиотеки. Хотя с появлением quicklisp их количество и качество возросло.
Аноним 12/10/15 Пнд 20:28:54 #267 №557183 
>>557181
Вот возьмем к примеру йоба-игори. Как быть со сборщиком мусора. Есть приличный профайлер, чтобы можно было найти источник генерации мусора, например?
Аноним 12/10/15 Пнд 20:57:55 #268 №557194 
>>557183
>Как быть со сборщиком мусора.
Ну, в sbcl gc неплохой, но не лишен проблем, свойственных JVM: при сборке мусора лочится весь процесс.
В коммерческих реализациях gc намного лучше. В последней версии allegrocl, например, запилили параллельный гц, теперь вообще заебись.
>Есть приличный профайлер, чтобы можно было найти источник генерации мусора, например?
Есть, но у каждой реализации свой. В sbcl - sb-prof
Аноним 12/10/15 Пнд 21:15:29 #269 №557204 
Он нам и нахуй не нужон ваш интернет лисп.
А если серьёзно, где он кроме всяких емаксов используется?
Аноним 12/10/15 Пнд 21:17:10 #270 №557207 
>>557204
Не интересовался, но слышал про grammarly и какую-то вьетнамскую поисковую систему.
Аноним 12/10/15 Пнд 21:43:59 #271 №557225 
>>557204
Мы тут вообще про CL говорим. elisp слегка другой зверь, и в его нужности сомневаться не приходится.
>>557194
А как насчет ИИ и вообще?
Аноним 12/10/15 Пнд 21:47:52 #272 №557232 
>>557225
>CL говорим. elisp слегка другой зверь, и в его нужности сомневаться не приходится
Ну ок, а CL где используется?
Аноним 12/10/15 Пнд 21:50:40 #273 №557235 
>>557225
Алсо, вот что нашёл http://habrahabr.ru/post/126543/:
>Традиционно, существует Scheme, который полезен разве что для преподавания в вузах из-за скудности поддерживаемых библиотек, есть также Common Lisp, который представляет из себя ужасную, страшную неразбериху (представьте C++, но с целым морем скобок).

>Clojure, несомненно, самый популярный диалект на сегодняшний день. Некоторые люди даже поспорили бы, что это единственный Lisp, который имеет практическую ценность в настоящее время. В нем появился синтаксический сахар для большого количества типов данных, удачная интеграция с JVM, исчезли все неуклюжие части, характерные для традиционных Lisp-языков.
Аноним 12/10/15 Пнд 22:02:39 #274 №557243 
>>557225
>А как насчет ИИ и вообще?
А что ИИ?
>>557232
-> >>557207
Сам ещё погугли, потом нам расскажешь.
Аноним 12/10/15 Пнд 22:06:24 #275 №557246 
>>557243
Ну разве лисп не для ИИ придумывали? Все эти программы ищущие программы.
Аноним 12/10/15 Пнд 22:17:12 #276 №557254 
>>557246
Ну, ИИ - понятие довольно обширное. Да, LISP делали как язык для исседований, но CL уже как язык промышленного программирования, который должен был заменить существовавший на тот момент зоопарк диалектов.
Аноним 12/10/15 Пнд 22:23:51 #277 №557260 
>>557235
Кложурист. Что с него взять-то? В комментариях его совершенно справедливо обвинили в однобокости и необъективности.
>удачная интеграция с JVM, исчезли все неуклюжие части, характерные для традиционных Lisp-языков
Лол. Удачность аж из всех щелей прет: мало того, что java-way и lisp-way плохо совместимы, так они ещё в угоду интеграции сделали язык скриптования JVM вместо полноценного.
Аноним 12/10/15 Пнд 22:33:41 #278 №557266 
>>557260
Какие-то хейтеры у кложи скучные. Наверное потому что язык не сильно популярен и хейтеры про него знают в-основном по-наслышке.
> мало того, что java-way и lisp-way плохо совместимы,
Никто и не пытается их совмещать. Вообще, по стилю написания кода кложа ближе к ML и Haskell чем к Common Lisp и Scheme - всё иммтутабельно, вместо объектов листы/мапы/сеты и рекорды.
> язык скриптования JVM вместо полноценного.
В сегменте general-purpose языков программирования виртуальные машины давно победили компиляцию в нативный код. Тем кто следит за языками программирования это довольно очевидно.
Аноним 12/10/15 Пнд 22:42:45 #279 №557276 
>>557235
> Алсо, вот что нашёл http://habrahabr.ru/post/126543/:
> 2011
Лол, тогда даже core.async и ClojureScript не было.
Кстати, полезно сравнить прогресс за 4 года в Clojure и аналогичный прогресс (вернее его отсутствие) в CL/Scheme.
Аноним 12/10/15 Пнд 22:54:38 #280 №557286 
>>557266
>Никто и не пытается их совмещать.
Т.е. интероп просто так запилили? А когда всякие AbstractFactorySingletonBean из кложурного кода пердолят - это не считается, да?
>Вообще, по стилю написания кода кложа ближе к ML и Haskell чем к Common Lisp и Scheme
Ближе к схеме, скорей. Вообще, если бы не ориентированность на jvm и полученные в следствие этого родовые травмы, кложура была бы неплохим языком, но увы.
>В сегменте general-purpose языков программирования виртуальные машины давно победили компиляцию в нативный код.
Во-первых, я говорил про то, что кложура не является полноценным, независимым языком, а всего лишь очередной скриптотой для JVM, упрощающей программирование на жаве.
Во-вторых, ЩИТО? Где виртуальные машины победили? Кого? Жава-фанатик штоле?
Аноним 12/10/15 Пнд 23:09:27 #281 №557298 
>>557276
>вернее его отсутствие
О состоянии экосистемы cl ты знаешь по-наслышке, да?
Аноним 12/10/15 Пнд 23:14:48 #282 №557303 
Как фрилансится на лиспах?
Аноним 12/10/15 Пнд 23:16:57 #283 №557304 
>>557303
Нормально. Так же, как и на любом другом языке.
Аноним 12/10/15 Пнд 23:36:21 #284 №557319 
>>557304
Ну хуй его знает. Можешь вот так сходу линкануть работенку?
Аноним 12/10/15 Пнд 23:41:40 #285 №557322 
>>557319
Тебя интересуют исходники или результат? Какого типа?
Аноним 12/10/15 Пнд 23:43:20 #286 №557324 
>>557322
Наверное, имеется ввиду предложение работы.
Аноним 12/10/15 Пнд 23:47:14 #287 №557329 
>>557324
А. Таких, чтобы в требованиях был именно лисп, я встречал только один раз.
Аноним 13/10/15 Втр 00:00:36 #288 №557339 
>>557329
Тогда о каком фрилансе может идти речь?
Аноним 13/10/15 Втр 07:13:25 #289 №557418 
>>557339
Часто заказчику похуй, на чем ты пишешь. Лишь бы работало.
Аноним 13/10/15 Втр 13:23:00 #290 №557560 
>>557418
Предположим тебе очень повезло и ты действительно нашел такого заказчика. Для какой задачи ты выберешь CL?
Аноним 13/10/15 Втр 13:30:28 #291 №557562 
>>557560
Веб-сервер допустим-то.
Аноним 13/10/15 Втр 14:38:44 #292 №557589 
>>557562
Всмысле сам веб-сервер? Но нахуя, если есть готовые решения?
Аноним 13/10/15 Втр 15:17:29 #293 №557621 
>>557286
> А когда всякие AbstractFactorySingletonBean из кложурного кода пердолят
Где ты такое видел? В Кложе спринг никогда не используют, там вместо DI легковесная библиотека для компонентов https://github.com/stuartsierra/component
> Ближе к схеме,
Ой не надо, в схеме постоянно set! используют.
> очередной скриптотой для JVM, упрощающей программирование на жаве
Кложа точно такая же "скриптота для JVM" как и сама Java - компилируется в jvm-байткод. Только Кложа компилируется по маленьким кусочкам и имеет свой небольшой рантайм. Компилятор довольно умный, делает вывод типов чтобы избежать рефлексии. В рантайме никаких dynamic call site'ов нет - вызов метода напрямую компилируется в вызов метода (в отличиии от Groovy, JRuby и прочих).
> Где виртуальные машины победили?
В сегменте general-purpose языков программирования. Какие в последнее время появялись языки общего назначения без виртуальных машин (подчёркиваю - общего назначения, а не языки для переписывания фаерфоксов)
Аноним 13/10/15 Втр 15:18:03 #294 №557623 
>>557298
Давай сойдёмся на том, что я плохо знаю экосистему CL а ты плохо знаешь экосистему Clojure?
Аноним 13/10/15 Втр 15:18:46 #295 №557624 
14447387261860.jpg
>>557303
Отлично, брат!
Аноним 13/10/15 Втр 15:20:33 #296 №557625 
>>557329
Предложение на фриланс где требовался именно лисп?
Аноним 13/10/15 Втр 16:49:01 #297 №557698 
>>557152
Какого хрена with-gensyms нету в стандартном наборе макросов?
Аноним 13/10/15 Втр 17:35:38 #298 №557729 
14447469382750.png
>>556997
Дочитал 9 главу. Очень даже няшно. Маленький тестовый фреймворк на 20 строчек. Красота.
Аноним 13/10/15 Втр 18:10:29 #299 №557749 
>>557729
Что за тема подсветки? давно ищу нечто похожее просто
Аноним 13/10/15 Втр 18:14:06 #300 №557752 
>>557749
Кастомная, все ручками собирал. Впрочем большинство в дефолте.
Аноним 13/10/15 Втр 18:15:18 #301 №557755 
>>522411
На телнете. Да они и сеть там запилили?!
Аноним 13/10/15 Втр 18:39:09 #302 №557772 
>>557286
Вот поэтому в своё время и забил на этот ваш лисп, из-за столь безграмотных и безапеляционных выкриков хотя сам язык-то годен. Всюду виртуальные машины, куда ни плюнь: в питоне, в джаве, в руби, на джаваскрипте (или только в node.js?). C/C++ и подобное сейчас, походу, только там, где нужна производительность и эффективность - embedded, числодробление. Но нет, далёкие от индустрии, будем нести свой манямирок в массы.
Аноним 13/10/15 Втр 19:43:00 #303 №557809 
>>557624
Ну разжуй так сказать, плиз. Если обобщая, вообще на всех лиспах, сиэл, кложуры итп.
Аноним 14/10/15 Срд 02:07:15 #304 №558024 
>>557621
>Где ты такое видел?
В любом более-менее практичном коде. Алсо, даже где-то в примерах с официального сайта без пердолинга говна из жавы не обходилось (то BufferedStream, то ещё какая-то параша).
>Ой не надо, в схеме постоянно set! используют.
Значит, ты видел неидиоматичный код на схеме.
В ocaml'е, кстати, <- и := используются намного чаще.
>Кложа точно такая же "скриптота для JVM" как и сама Java - компилируется в jvm-байткод.
Ты меня опять не понял. Повторяю,
>кложура не является полноценным, независимым языком
Скриптота не в том смысле, что интерпретируемая, а в том, что она предназначена для упрощения программирования на джаве. У кложуры нет ни своих примитивов, ни исключений, никак не скрывается то, что любой объект в кложе имеет жавовскую природу происхождения. В общем, хостед язык - что с него возьмешь?
>Какие в последнее время появялись языки общего назначения без виртуальных машин (подчёркиваю - общего назначения, а не языки для переписывания фаерфоксов)
А какие в последнее время появились языки общего назначения с виртуальными машинами (подчерчиваю - общего назначения, а не скриптота для околоадминских задач и не ынтырпрайзщинаява)
Аноним 14/10/15 Срд 02:14:49 #305 №558027 
>>557772
>в питоне, в джаве, в руби, на джаваскрипте
И что из перечисленного является языком общего назначения? Ладно ещё питон можно со скрипом признать таковым, но остальное... Особенно js порадовал.
>C/C++ и подобное сейчас, походу, только там, где нужна производительность и эффективность - embedded, числодробление
Молодой человек, у вас манямирок протек.
>Но нет, далёкие от индустрии, будем нести свой манямирок в массы.
Это ты точно подметил.
Аноним 14/10/15 Срд 02:17:14 #306 №558029 
>>557560
Веб-сайт, например. Тем более, что чуть менее, чем весь фриланс, состоит из подобного рода заказов.
Аноним 14/10/15 Срд 02:27:59 #307 №558035 
>>557698
Потому что стандарт CL давно пора перелопатить (посоны, кстати, предпринимают попытки http://cl21.org/ ).
Аноним 14/10/15 Срд 09:50:13 #308 №558122 
>>558029
Да ты ебанись. Где ты хостинг то найдешь по CL? Обычно либо жри php5.2 либо соси хуй.
Аноним 14/10/15 Срд 09:55:06 #309 №558127 
>>558122
Как там в нулевых-то?
Аноним 14/10/15 Срд 10:16:29 #310 №558147 
>>558127
(Лампово)
Аноним 14/10/15 Срд 11:29:54 #311 №558183 
14448113949960.jpg
>>557809
ну помнишь в Псковском порно "как в жопе, брат?" "оооо, отлично"
Аноним 14/10/15 Срд 12:26:17 #312 №558204 
14448147777200.png
Поясните мне за паттерн-матчинг. Почему на эту хуиту так фапают переРасты и проче хачкелисты? Что в ней такого охуенного?
Аноним 14/10/15 Срд 15:16:34 #313 №558311 
>>558204
(caaaaaadddddaaaddadaadaddadr this)
Аноним 14/10/15 Срд 15:52:54 #314 №558337 
>>558311
Что сказать то хотел?
Аноним 14/10/15 Срд 15:53:59 #315 №558339 
>>555395
Братиш, ты пользуешься electric-pair-mode? Какого хуя он так криво в слайме работает, аж трисет.
Пишу
(elt "
А эта сука нихуя не работает.
Аноним 14/10/15 Срд 15:57:41 #316 №558341 
>>558337
Очевидно, что ходить по деревьями без паттерн-матчинга довольно неудобно.
мимо
Аноним 14/10/15 Срд 16:02:56 #317 №558346 
>>558341
Ну блять, а где пример на хачкеле или любой другой параше с патерн-матчингом то?

Алсо когда вам вообще приходилось такое делать
Аноним 14/10/15 Срд 16:40:28 #318 №558384 
>>558339
>>558339
>ты пользуешься electric-pair-mode?
Нет. Где ты его вообще откопал? Используй smartparens.
Аноним 14/10/15 Срд 16:51:13 #319 №558401 
>>558384
С версии 24.4 он стал вполне юзабельным. перезапустил slime, вроде отпустило, так что похуй
Аноним 14/10/15 Срд 16:51:19 #320 №558402 
>>558346
Вот тебе эрланг:
"Hui bintui " ++ AnonName = foo(Bar). %- Достаем из списка смиволов, начинающихся на указанные в квачках
foo({blabla, X}) -> ok;
foo({plapla, X}) -> ok. %- выбираем клоз функции на основе первого элемента пришедшего кортежа
Аноним 14/10/15 Срд 17:21:46 #321 №558427 
>>557698
Я бы спросил почему все используют уебищный with-gensym, когда можно написать божественную макру типа defhmacro, где сразу можно указать гигиеничные аргументы.
Аноним 14/10/15 Срд 18:17:42 #322 №558492 
>>558346
[code lang=haskell]
match :: Pattern -> String -> Bool
match [] xs = null xs
match _ [] = False
match ('*':xs) str = any (match xs) $ tails str
match ('?':xs) str = match xs $ tail str
match ('\\':x:xs) (y:ys) = x == y && match xs ys
match (x:xs) (y:ys) = x == y && match xs ys
[/code]
http://ideone.com/cypFd5
Аноним 14/10/15 Срд 20:42:57 #323 №558578 
14448445778030.gif
Сап зк. Решал subset sum problem на досуге не прибегая к учебнику. Путём проб и ошибок вывел очень простой алгоритм, но при попытке переписать его на нормальный язык, сильно пригорел. Проблема возникла в функции перебора, т.к. она сама по себе рекурсивная + надо заменить циклы через рекурсию.
В общем вот работающая функция: https://ideone.com/2QybSy
А вот попытка её воспроизведения на scheme: https://ideone.com/b4G21M

Что делать? Есть подозрение, что fold может спасти ситуацию, в противном случае придётся использовать continuations, а это слишком люто.
Аноним 14/10/15 Срд 20:55:13 #324 №558587 
>>558492
Моя охуенная итеративная версия: http://ideone.com/i6ydvM
третий день за клавиатурой, котаны
Полноценные лисп господины, сделайте нормальную версию, пожалуйста.
Аноним 15/10/15 Чтв 05:20:52 #325 №558786 
>>558587
Если на чистом CL без батареек, то я бы как-то так сделал: http://paste.lisp.org/display/156844
Аноним 15/10/15 Чтв 05:29:26 #326 №558788 
>>558587
У тебя там, кстати, ошибка алгоритмическая.
Например, случай "*?" неправильно обрабатывается.
>>558786
http://ideone.com/KkcOyS
Аноним 15/10/15 Чтв 06:27:33 #327 №558798 
>>558578
https://ideone.com/G7XROA
Аноним 15/10/15 Чтв 06:30:56 #328 №558799 
>>558578
>при попытке переписать его на нормальный язык
На нормальном языке у тебя получилось бы что-то вроде: [code lang=common-lisp]
(defun recombine (left right)
(format t "~{~a~^ ~}~%" left)
(loop :for (value . tail) :on right :do
(recombine (cons value left) tail)))[/code]
Аноним 15/10/15 Чтв 11:13:09 #329 №558858 
>>558788
Почему не правильно? не >>558788
Аноним 15/10/15 Чтв 13:11:18 #330 №558895 
>>558858
Гляди на вывод.
http://ideone.com/UKGpDh
http://ideone.com/qJZogW
Аноним 15/10/15 Чтв 13:50:38 #331 №558915 
>>558895
В твоей версии есть косяк обратный моему.
См. 1 тест:
http://ideone.com/DmySDV
Если у меня убрать эту проверку, будет так же как у тебя:
http://ideone.com/voRikU

Но твой тест работает как-то странно: http://ideone.com/16hBJ1 первый кейс правильно говорит NIL, а твой тест пишет OK. Почему так?
Аноним 15/10/15 Чтв 13:52:28 #332 №558917 
>>558915
А нет, в твоей все ок, но тестовый код лажает на expected = nil
Аноним 15/10/15 Чтв 13:55:19 #333 №558919 
>>558915
>>558917
Fuuuuu, не слушай меня, хуйню несу. Во имя луны.
Аноним 15/10/15 Чтв 14:14:29 #334 №558928 
>>558919
Вот, накостылил еще.
http://ideone.com/9dOWem
Твою версию я чет пока не понимаю.

Господин, хачкель кун, можешь показать как на хачкеле сделать вот такое: http://ideone.com/DZxArH
Аноним 15/10/15 Чтв 14:48:49 #335 №558944 
>>558928
Сломал http://ideone.com/54Hc65
Аноним 15/10/15 Чтв 15:18:20 #336 №558968 
>>558944
Ой все. Очевидно, без any $ tails не обойтись.
Осилил твоё решение, концептуально все тоже самое что на хачкеле, только через цикл со start:end вместо рекурсии, да?
Аноним 15/10/15 Чтв 15:36:51 #337 №558987 
>>558968
>концептуально все тоже самое что на хачкеле
Да.
>только через цикл со start:end вместо рекурсии,
Нет. Функция рекурсивная же.
Вместо хвоста последовательности передается новый start, да.
Аноним 15/10/15 Чтв 15:57:11 #338 №559003 
>>558987
Неправильно сказал. Имел ввиду цикл вместо any $ tails.
CL оптимизирует хвостовую рекурсию?
Аноним 15/10/15 Чтв 16:01:26 #339 №559005 
>>558987
Конечно, практически декларативное решение этой задачи на хачкеле выглядит намного лучше, хотя о нем и сложнее размышлять, по крайней мере мне.

Интересно было-бы посмотреть на >>558928 на хаскеле. Потому что чистая функция чистой функцией, но жить без мутабельности как-то сложновато вне синтетических примеров.
Аноним 15/10/15 Чтв 16:09:59 #340 №559010 
>>559003
>CL оптимизирует хвостовую рекурсию?
По стандарту не должен, но все основные реализации оптимизируют, кроме, может быть, ABCL, который компилирует в байт-код JVM.
http://pastebin.com/ZncggVKq - всего один рекурсивный call #xC504793
Аноним 15/10/15 Чтв 16:13:39 #341 №559011 
>>559010
Во, а теперь нужен ассемблерный листинг для хачкеля.
Аноним 15/10/15 Чтв 18:10:54 #342 №559088 
>>558944
Спиздил код у дедушки Пайка и прадедушки Кернигана.
http://ideone.com/aFS7EN
Аноним 15/10/15 Чтв 18:37:12 #343 №559108 
Все в лиспе хорошо, но блять:
`(setf (gethash 'foo h) 'quux)`
это пиздец конечно по сравнению с
`h['foo] = 'quux
Аноним 15/10/15 Чтв 19:02:43 #344 №559127 
>>559108
Это ж лисп. Запрограммируй себе синтаксис h[foo] или [h foo] вместо gethash.
Аноним 15/10/15 Чтв 19:07:16 #345 №559131 
>>559108
Некоторые наркоманы вон чо делают https://github.com/y2q-actionman/with-c-syntax
Аноним 15/10/15 Чтв 19:10:00 #346 №559134 
>>559108
Напиши макру типа
(defmacro [] (table key &optional f val) (cond ((eq f '=) `(setf (gethash ,key ,table) ,val)))) и добавь операций по вкусу
Аноним 15/10/15 Чтв 19:11:50 #347 №559135 
>>559134
Лучше уж просто функцию/макрос sethash написать.
Аноним 15/10/15 Чтв 19:13:43 #348 №559138 
>>559135
Тут уже дело вкуса и задачи.
Аноним 15/10/15 Чтв 19:28:38 #349 №559149 
>>559088
http://ideone.com/qIAfos
Еще одна Пайко-версия.
Аноним 15/10/15 Чтв 20:16:54 #350 №559172 
>>558798
Спасибо няша :З, ты спас во мне веру в ФП

>>517479 (OP)
Мои 5 копеек, ОП

Репозитории:
http://snow.iro.umontreal.ca/?tab=Packages
http://www.schemespheres.org/spheres
http://wiki.call-cc.org/chicken-projects/egg-index-4.html
http://pkgs.racket-lang.org/
http://planet.racket-lang.org/

IDE:
http://s48.org/sdt/ - мёртвый проект плагина для Eclipse
https://kenai.com/projects/lambdabeans - мёртвый проект плагина для NetBeans
http://sourceforge.net/projects/schemeway/ - живой проект плагина для Eclipse

http://web-artanis.com/ - наиболее развитый веб-фреймворк на scheme
Аноним 15/10/15 Чтв 22:04:23 #351 №559249 
>>559108
На самом деле есть и посерьёзнее проблемы:

bytevector->sint-list bytevector->string bytevector->u8-list bytevector->uint-list bytevector-copy bytevector-copy! bytevector-fill! bytevector-ieee-double-native-ref bytevector-ieee-double-native-set! bytevector-ieee-double-ref bytevector-ieee-single-native-ref bytevector-ieee-single-native-set! bytevector-ieee-single-ref bytevector-length bytevector-s16-native-ref bytevector-s16-native-set! bytevector-s16-ref bytevector-s16-set! bytevector-s32-native-ref bytevector-s32-native-set! bytevector-s32-ref bytevector-s32-set! bytevector-s64-native-ref bytevector-s64-native-set! bytevector-s64-ref bytevector-s64-set! bytevector-s8-ref bytevector-s8-set! bytevector-sint-ref bytevector-sint-set! bytevector-u16-native-ref bytevector-u16-native-set! bytevector-u16-ref bytevector-u16-set! bytevector-u32-native-ref bytevector-u32-native-set! bytevector-u32-ref bytevector-u32-set! bytevector-u64-native-ref bytevector-u64-native-set! bytevector-u64-ref bytevector-u64-set! bytevector-u8-ref bytevector-u8-set! bytevector-uint-ref bytevector-uint-set! bytevector=? bytevector?

Но всё это решаемо
Аноним 16/10/15 Птн 09:03:54 #352 №559500 
>>559249
В схему неймспейсы не завезли?
Аноним 16/10/15 Птн 15:42:36 #353 №559701 
14449993561060.jpg
Какой вариант хуже?
http://ideone.com/J4ZMak
Аноним 16/10/15 Птн 16:11:52 #354 №559718 
>>559701
Первая очевидно хуже, т.к. ведёт себя на некоторых входных данных совсем не так, как ожидается.
Алсо, зачем использовать рекурсию там, где она не нужна? [code lang=common-lisp](defun reverse (xs &aux zs)
(dolist (x xs zs)
(push x zs)))
[/code]
Аноним 16/10/15 Птн 16:39:42 #355 №559733 
>>559718
Хвостовая рекурсия же, просто и понятно. А твой dolist и пуш разворачиваются в какой-то адовый пиздец с GO и TAGBODY. Нехотеть.
Аноним 16/10/15 Птн 16:51:07 #356 №559737 
>>559733
>>559733
>Хвостовая рекурсия же
Которая может не заоптимизироваться на каком-нибудь ABCL
>dolist и пуш разворачиваются в какой-то адовый пиздец с GO и TAGBODY
Никакого пиздеца. Если закрыть глаза на пару let'ов типа (LET ((#:N-LIST893 xs)) ...), то получится вполне приличный код:
[code lang=common-lisp]
(tagbody loop-start
(unless (endp xs)
(let ((x (car xs)))
(setq xs (cdr xs))
(setq zs (cons x zs)))
(go loop-start)))
[/code]
Аноним 16/10/15 Птн 20:23:58 #357 №559877 
>>559718
http://ideone.com/miNwhT
Как написать итеративно?
Аноним 16/10/15 Птн 21:29:24 #358 №559909 
>>559877
Как-то так [code lang=common-lisp]
(defun my-nreverse (list)
(iter (for xs :on list)
(for zs :previous xs)
(setf (cdr xs) zs)
(finally (return zs))))[/code]
Аноним 19/10/15 Пнд 17:37:57 #359 №561627 
Скобкобамп во имя добра.
алсо в треде 1.5 анона, что печально
Аноним 19/10/15 Пнд 17:44:19 #360 №561630 
>>561627
С пару месяцев назад тут было пол-анона.
На лицо рост популярности.
Аноним 19/10/15 Пнд 18:11:42 #361 №561644 
>>561630
Экспоненциальный рост!
Аноним 20/10/15 Втр 16:13:44 #362 №562191 
Clojure-кун в треде,обмазываюсь уже месяц, спрашивайте свои ответы
Аноним 20/10/15 Втр 16:33:18 #363 №562205 
>>562191
Напиши match: >>558492
sageАноним 20/10/15 Втр 17:11:42 #364 №562244 
>>562205
Написал. Даже на гитхаб залил, специально для тебя: https://github.com/clojure/core.match
Аноним 20/10/15 Втр 17:37:32 #365 №562273 
>>562191

Зачем анону связываться с сложуропарашей, если есть sbcl? Нет, на работе ты не сможешь на этом писать, потому что тебя за это выебут никто не может в скобки кроме тебя Никаких профитов в виде гуя оно не дает, на жабе писать гуй -- ебанизм. Зачем?
Аноним 20/10/15 Втр 17:55:23 #366 №562316 
>>562244
Хуя ты даун. Даже не понял что от тебя просят.
Аноним 20/10/15 Втр 18:01:07 #367 №562328 
>>562205
Проверяй:
http://ideone.com/KB9YBU
Аноним 20/10/15 Втр 18:07:58 #368 №562339 
>>562273
> на работе ты не сможешь на этом писать
Американские стартапы с тобой не согласны
> Никаких профитов в виде гуя оно не дает
Свинг вполне можно использовать. Даже удобнее чем из самой Жабы получается.
Аноним 20/10/15 Втр 18:08:21 #369 №562340 
>>562328
>1.68s 335552KB
Кложура, она такая, да.
Аноним 20/10/15 Втр 18:11:38 #370 №562343 
>>562339
>Свинг вполне можно использовать.
Ой, а вот так лучше не делать. Результат получается ещё страшнее, чем если бы использовался motif
Аноним 20/10/15 Втр 18:12:58 #371 №562344 
А в Hibernate эта параша может?
Аноним 20/10/15 Втр 18:13:48 #372 №562347 
>>562344
Зачем нормальному языку гибернейт?
Аноним 20/10/15 Втр 18:14:40 #373 №562348 
>>562344
Нет, и это хорошо.
Аноним 20/10/15 Втр 18:16:07 #374 №562350 
>>562347
>>562348
Ну а как правильные пацаны работают?
Аноним 20/10/15 Втр 18:19:48 #375 №562352 
>>562340
Ну она при каждом старте компилирует и загружает всю свою стандартную библиотеку.
Если интересует время выполнения самой операции, то вот:
http://ideone.com/c8zvZq
(заодно пару ошибок исправил)
Аноним 20/10/15 Втр 18:20:32 #376 №562353 
>>562350
Пишут SQL запросы. Можно их генерировать ещё.
Аноним 20/10/15 Втр 18:21:57 #377 №562355 
>>562353
В кложуру ORM или хотя бы некоторого подобия не завезли?
Аноним 20/10/15 Втр 18:22:54 #378 №562356 
>>562352
>(take (count s) (reductions (fn [s _] (rest s)) s s))
(map rest s) не катит?
Аноним 20/10/15 Втр 18:23:15 #379 №562357 
>>562352
Эти ребята: >>559149 >>559088 >>558492 в голосятину с тебя.
Аноним 20/10/15 Втр 18:25:26 #380 №562362 
>>562350
>>562352
Вот теперь точно исправил
http://ideone.com/SMYj3A
Аноним 20/10/15 Втр 18:28:31 #381 №562367 
>>562344
Конечно может! https://gist.github.com/m0smith/1247851
Аноним 20/10/15 Втр 18:29:10 #382 №562370 
>>562356
(map rest s) возьмёт хвост от каждого элемента, будет совсем не то.
Аноним 20/10/15 Втр 18:32:01 #383 №562372 
>>562370
Бля, перепутал iter и map.
Аноним 20/10/15 Втр 18:33:01 #384 №562374 
>>562357
Ну да, ну да. Циферки отображаемые на ideone это, безусловно, самое важное в языке. Ради них определённо стоит пожертвовать возможностью подключаться к работающей программе и менять её кода на лету. Ведь для олимпиадных задачек это не нужно, а вот циферками перед Васькой похвастаться - это святое.
Аноним 20/10/15 Втр 18:37:12 #385 №562377 
>>562372
А ты прав, через iterate будет нагляднее.
sageАноним 20/10/15 Втр 19:02:45 #386 №562412 
>>562350
http://sqlkorma.com/
Аноним 20/10/15 Втр 19:34:00 #387 №562433 
>>562412
И насколько оно пригодно для использования в реальных проектах?
Аноним 20/10/15 Втр 19:44:48 #388 №562442 
>>562412
От даже автор уже отрёкся
https://twitter.com/ibdknox/status/557236505639665664
Аноним 20/10/15 Втр 23:53:42 #389 №562659 
>>562367
Как-то стремно выглядит.
Аноним 21/10/15 Срд 00:32:15 #390 №562679 
>>562659
Будто на яве лучше.
Аноним 21/10/15 Срд 00:34:51 #391 №562680 
>>562679
Аннотации вроде норм выглядят.
Аноним 21/10/15 Срд 08:42:51 #392 №562798 
>>517510
ML для тебя сто лет как придумали. В лиспе ненужно, ибо противоречит сути языка.
Шапка Аноним 21/10/15 Срд 12:18:35 #393 №562883 
Не за горами перекат, в связи с чем напоминаю о пока ещё существующей возможности внесения поправок, касающихся как содержимого шапки, так и её внешнего вида.
Аноним 21/10/15 Срд 12:34:53 #394 №562891 
>>559172
>IDE:
Самый свежий из них за 2013 год.
Аноним 21/10/15 Срд 16:36:36 #395 №563008 
Для sicp какую схему использовать? Пробовал рэкет, но пишут, что последние версии не поддерживают язык, который используется в сикпе. "IDE" рекетовское -- кривое убогое говно, лучше уж имакс. Брать mit-scheme?
Аноним 21/10/15 Срд 17:40:34 #396 №563066 
>>563008
Разве в sicp'е не обычный r5rs? Скорее всего, подойдет любая реализация более-менее живай реализация.
>"IDE" рекетовское -- кривое убогое говно
Тогда emacs + geiser - твой выбор. Можешь взять уже преднастроенный spacemacs.
Аноним 21/10/15 Срд 18:16:09 #397 №563081 
14454405699800.jpg
Вот с одной стороны код на чистом cl, учитывая что мои познания о нем ограничиваются десятком глав PCL получается чуть более многословным и сложночитаемом, нежели на другой скриптопараше. С другой стороны, некоторые выбешивающие вещи няшно сворачиваются в макросы.

В связи с эти у меня вопрос: каждый лиспер юзает свой юникальны набор макросов, а ля utils.php или все-таки есть некие библиотеки или нечто подобное общее для большинства cl обезьян?
Аноним 21/10/15 Срд 21:22:38 #398 №563193 
>>563081
Если каждый хаскелятор должен написать свой туториал по монадам, то каждый коммонлиспер - свою библиотеку утилит.
Но вообще де-факто стандарт батареек - alexandria. Помимо александрии есть ещё с десяток библиотек: rutils, fare, metatilities, arnesi и т.д.
К тому же, советую обратить внимание на iterate - более крутой и расширяемый аналог макроса loop.
>получается чуть более многословным и сложночитаемом, нежели на другой скриптопараше
Да, лиспу без батареек со скриптопарашей трудно тягаться.
Аноним 21/10/15 Срд 21:24:06 #399 №563194 
>>563193
Что за батарейки, поясни нюфагу?
Аноним 21/10/15 Срд 21:25:50 #400 №563195 
>>563194
Набор библиотек, которые в скриптопараше являются частью стандартной.
Аноним 21/10/15 Срд 21:31:59 #401 №563201 
>>563195
Как-то в 2015 без этого уже стремненько.
Аноним 21/10/15 Срд 21:45:43 #402 №563214 
>>563201
Один японец пытается вот реструктуризировать стандартную библиотеку и интегрировать в неё всякие александрии https://github.com/cl21/cl21
В целом выглядит неплохо, но не слишком эффективно из-за повсеместного использования CLOS. Проблема, конечно, решаема, но было бы кому.

>без этого уже стремненько
Не так уж и стремненько, учитывая что софт на лиспе распространяется либо в виде образа, либо в виде исходников с описанными в *.asd зависимостями, которые сами подтягиваются quicklisp'ом.
Аноним 21/10/15 Срд 22:49:54 #403 №563300 
>>563081
Кстати, про https://www.quicklisp.org/beta/ http://quickdocs.org/ тебе известно?
Аноним 21/10/15 Срд 23:33:19 #404 №563323 
>>563300
Про первый да, но мне бы с основами закончить, так что нечего по пакетам лазать.
sageАноним 23/10/15 Птн 13:55:49 #405 №564237 
>>562433
Ящитаю вопрос неуместен для лиспера. Всё, что есть можно использовать, а если какие-то траблы, то они выправляются своими руками и на радость сообществу.
Аноним 23/10/15 Птн 17:18:43 #406 №564342 
>>564237
>Кложура
>лиспер
Ну ты понел.
Аноним 24/10/15 Суб 00:53:58 #407 №564626 
>>564342
Но это единственный вменяемый лисп. Есть еще схема, но батареек мало, а общелисп — вообще хтоническое чудище из каменного века.
Аноним 24/10/15 Суб 09:08:57 #408 №564717 
Сделал как написано: клонировал spacemacs-репу, запустил емакс, ничего не происходит. ЧЯДНТ?
Аноним 24/10/15 Суб 09:15:09 #409 №564722 
Отвечу сам себе
M-x: load-file ~/.emacs.d/init.el
Аноним 24/10/15 Суб 11:29:50 #410 №564759 
>>564717
>>564722
Убери ~/.emacs, тогда будет само подхватываться.
Аноним 24/10/15 Суб 11:48:04 #411 №564766 
>>564759
О, спасибо. А как доустанавливать в него плюшки?
Аноним 24/10/15 Суб 11:49:16 #412 №564767 
>>564626
Я придерживаюсь диаметрально противоположного мнения. Единственный вменяемый лисп - общелисп. Со схемой и так всё понятно. Кложа - хисптерский суррогат, вундер-ява, но никак не лисп.
Аноним 24/10/15 Суб 11:53:12 #413 №564771 
>>564766
M-m f e d ну или C-x C-f ~/.spacemacs , добавляешь в dotspacemacs-configuration-layers нужные слои, дальше оно само установит нужные пакеты.
M-m f e h -- описание слоёв.
Аноним 24/10/15 Суб 11:59:12 #414 №564775 
>>564766
>>564771
>дальше оно само установит нужные пакеты.
M-m f e R перед этим надо нажать. Ну или просто емакс перезапустить.
Аноним 24/10/15 Суб 12:03:40 #415 №564778 
>>564771
> M-m
У меня в awesome забиндено уже.
Аноним 24/10/15 Суб 12:07:49 #416 №564780 
14456776695930.png
>>564778
Перебинживай или в авесоме, или в емаксе. В последнем это делается в ~/.spacemacs
Аноним 24/10/15 Суб 12:12:23 #417 №564782 
>>564780
А полностью можешь показать свой конфиг spacemacs'a?
Аноним 24/10/15 Суб 12:18:19 #418 №564783 
>>564782
Он от дефолтного отличается только слоями, темами и custom-set-variables
Аноним 24/10/15 Суб 12:20:19 #419 №564784 
>>564783
От какого дефолтного? Дефолтного нету, я его сам создавал и копипастил из .emacs
Аноним 24/10/15 Суб 12:24:18 #420 №564785 
>>564784
Нахуя? Он сам дефолтный создает. Можешь руками скопиравать ~/.emacs.d/core/templates/.spacemacs.template -> ~/.spacemacs
Аноним 24/10/15 Суб 12:25:24 #421 №564786 
>>564784
Алсо, ничего из .emacs копировать не надо. Ну кроме, разве что custom-set-variables
Аноним 24/10/15 Суб 12:26:13 #422 №564787 
>>564785
Угу, уже посмотрел. Таки создает.
> добавляешь в dotspacemacs-configuration-layers нужные слои, дальше оно само установит нужные пакеты
Кажись понял, спасибо. При старте оно лезет в сеть и что-то качает. Где это можно выключить?
Аноним 24/10/15 Суб 12:27:42 #423 №564788 
>>564787
>Где это можно выключить?
Зачем? Это он пакеты необходимые устанавливает через package-install
Аноним 24/10/15 Суб 12:28:55 #424 №564789 
>>564788
Ну вот я запилил конфиг, какой меня устраивает. Больше ничего не хочу. А оно по-прежнему лезет в сеть. Нехорошо это, паранойя меня сожрет.
Аноним 24/10/15 Суб 12:34:11 #425 №564790 
>>564789
Он лезет в сеть только когда есть недостающие пакеты. Дождись, пока всё установит.
Аноним 24/10/15 Суб 12:34:48 #426 №564791 
>>564790
У меня он лезет после каждого перезапуска емакса.
Аноним 24/10/15 Суб 12:36:24 #427 №564793 
>>564791
Странно. Куда лезет-то?
Аноним 24/10/15 Суб 12:38:56 #428 №564794 
14456795366480.png
>>564793
В репы лезет вроде melpa, orgmode. И что-то при каждом запуске устанавливает, а потом что-то одно удаляет. Почему никак не удалит я хз. Уже начинаю паниковать.
Аноним 24/10/15 Суб 12:41:27 #429 №564798 
>>564794
Ты там, случайно, exclude-packages нигде не указывал?
Аноним 24/10/15 Суб 12:44:49 #430 №564799 
>>564798
Нет.
Аноним 24/10/15 Суб 12:45:52 #431 №564800 
>>564798
https://gist.github.com/354b9898b1eb081939a2
Аноним 24/10/15 Суб 12:55:00 #432 №564809 
>>564800
https://github.com/syl20bnr/spacemacs/issues/3534
Ты спрашивал что ли?
Аноним 24/10/15 Суб 12:56:22 #433 №564810 
>>564809
Лол, нет, не я. Но подпишусь. Алсо, я так понял надо найти и отрубить проверку обновления самого spacemacs
Аноним 24/10/15 Суб 12:56:35 #434 №564811 
>>564767
Чем кложур — не лисп?

Общелисп вообще не нужен, у него просто нет ниши. У всех языков есть ниша: хаскель/окамл — компиляторы, статические анализаторы, парсеры всякие, анализ данных и т д, схема/питон — скрипты и обучение, скала/кложура/жаба — бэкенд, ц — системное программированиц, ц++ — матан и всякие игры/графика и т д, всякие ады для военщины и т д.

А общелисп? Для ниши окамла он не годится из-за типизации, как замена цпп — тем более, для бэкенда инфраструктуры нет и деплоить куда сложнее, чем какой-нибудь кложур, для прикладного по или матана слишком медленный, его используют, конечно, но только фанаты, ибо для всех ниш существуют более подходящие языки.
Аноним 24/10/15 Суб 12:57:12 #435 №564813 
14456806323780.png
и еще сделать так
Аноним 24/10/15 Суб 12:57:58 #436 №564814 
>>564810
У спэйспмакса нет автообновления. Ты наткнулся на баг, который уже исправили в ветке develop. Делай git checkout develop и будет тебе счастье.
Аноним 24/10/15 Суб 12:59:09 #437 №564815 
>>564814
Есть. Я только что успел заметить что-то типа Spacemacs is up to date в нижнем статус-баре.
Аноним 24/10/15 Суб 12:59:20 #438 №564816 
>>564813
Тогда мусор не будет удаляться, когда ты, например, отключишь какой-нибудь из слоев.
Аноним 24/10/15 Суб 13:01:10 #439 №564819 
>>564814
> Делай git checkout develop и будет тебе счастье.
Но я ставил через curl, лол.
Аноним 24/10/15 Суб 13:03:44 #440 №564822 
>>564815
Там обычный git pull

Аноним 24/10/15 Суб 13:05:54 #441 №564824 
В общем, надо клонировать репу, сделать checkout develop и ставить все заново, так?
Аноним 24/10/15 Суб 13:11:07 #442 №564828 
>>564767

Судя по рынку труда inb4 КОКОКО КУДАХ ТАХ ТАХ КУКАРЕКУ! это единственный лисп, на котором можно кое-как писать за деньги.
Аноним 24/10/15 Суб 13:13:17 #443 №564830 
https://github.com/syl20bnr/spacemacs/issues/3526
Вот, кстати, анон тоже интересуется.
Аноним 24/10/15 Суб 13:14:53 #444 №564831 
>>564830
На develop он не обновляет репу.
Аноним 24/10/15 Суб 13:15:01 #445 №564832 
>>564819
> Но я ставил через curl
> паранойя
Выбери что-нибудь одно
Аноним 24/10/15 Суб 13:16:05 #446 №564835 
>>564832
Он, как я понял, про скачивание тарбола, а не про curl | sh
Аноним 24/10/15 Суб 13:16:35 #447 №564836 
>>564831
Интересно что ответят. Если ответят.
>>564832
Я сначала посмотрел что там :3
Аноним 24/10/15 Суб 13:17:52 #448 №564837 
>>564828
1. cl тоже используется в продакшене
2. факт существования вакансий не делает язык годным
Аноним 24/10/15 Суб 13:18:55 #449 №564838 
Лиспоняши, если бы вам захотелось написать экспертную систему, то какой из диалектов вы бы взяли? Не срача ради.
Аноним 24/10/15 Суб 13:19:34 #450 №564839 
>>564838
Пролог
Аноним 24/10/15 Суб 13:19:58 #451 №564840 
>>564838
Или пролог в виде edsl внутри общелиспа.
Аноним 24/10/15 Суб 13:21:06 #452 №564841 
>>564837
>cl тоже используется в продакшене

На каждом шагу вообще. Даже схема популярнее в продакшне по-моему, по крайне мере я знал две фирмы, использующие чикенсхем (чувак из одной из них даже писал статью в «Прктика функционального программирования»), ну и нотидоги еще используют схем в своих играх, при этом он еще для скриптов дохуя где используется, см guile.

А общелисп? Покажи вакансии, где продакшн на общелиспе? Нет его, даже по сравнению с эралнгами/окамлами это пустое место, а уж про скалу какую-нибудь я молчу.
Аноним 24/10/15 Суб 13:21:54 #453 №564842 
>>564838
Ocaml.
Аноним 24/10/15 Суб 13:28:55 #454 №564845 
>>564841
Вакансий мало, да. Там, где он используется, всё уже на своих местах.
Речи вообще о трудоустройстве изначально не было. Если тебя этот вопрос интересует, переместись в более подходящее для подобного рода обсуждений место.
Аноним 24/10/15 Суб 13:30:39 #455 №564847 
>>564845
>Вакансий мало, да.

Я тебя не про вакансии спросил, а про то, где в продакшне применяют общелисп, покажи истории успеха.
Аноним 24/10/15 Суб 13:33:05 #456 №564849 
>>564847
>где в продакшне применяют общелисп
Недавно натыкался на Grammarly, например.
>покажи истории успеха
Сам и ищи, меня этот вопрос мало волнует.
Аноним 24/10/15 Суб 13:36:53 #457 №564851 
>>564849
>Врети, не маргинальный язык, его используют!
>Пруфов не будет, верьте мне!
Аноним 24/10/15 Суб 13:39:47 #458 №564854 
>>564847

На лоре есть один хуй, делает какие-то там штуки для финансов, лисп активно использует. Разумеется тоже кукарекает о том, что вакансии по лиспу ЕСТЬ.
Аноним 24/10/15 Суб 13:43:54 #459 №564856 
>>564851
Кокой боевой толстяк. Я не собираюсь тратить время на поиски пруфов ради удовлетворения твоего праздного интереса. Что сходу вспомнил - то назвал.
Аноним 24/10/15 Суб 14:05:30 #460 №564865 
>>564811
>Чем кложур — не лисп?
Тем, что это вундер-ява.
>У всех языков есть ниша
Не неси хуиту, у языков нет ниш.
>окамл — компиляторы, статические анализаторы, парсеры всякие, анализ данных
Удивительно, что ни для одной из своих ниш окамл так и не подошел. Зато стал относительно популярным на бекендах и юникернелах (mirageos).
Это к слову о нишах.
>Для ниши окамла он не годится из-за типизации
Как не годится? А как же mezzano?
>как замена цпп — тем более
Да, цпп-программистов просто так на лисп не пересадить. Хотя можно попробовать им рассказать про лисповое можнозделоть, которое немного круче крестового.
>для бэкенда инфраструктуры нет и деплоить куда сложнее
>для прикладного по или матана слишком медленный
Молодой человек, ты где эти мифы откопал?
Аноним 24/10/15 Суб 14:29:07 #461 №564876 
>>564800
>jedi
python же, а не jedi
Аноним 24/10/15 Суб 14:30:52 #462 №564878 
>>564800
И не go-mode, а просто go. Читай описание слоев, короче.
Аноним 24/10/15 Суб 14:48:13 #463 №564893 
>>564878
> Читай описание слоев
Где?
Аноним 24/10/15 Суб 14:49:37 #464 №564895 
>>564893
M-m f e h
Аноним 24/10/15 Суб 14:57:30 #465 №564897 
>>564895
Я не придумал как перебиндить awesome трогать нельзя :(
Аноним 24/10/15 Суб 14:58:36 #466 №564899 
>>564897
Ты ж на M-z перебиндил.
Аноним 24/10/15 Суб 15:27:45 #467 №564905 
>>564899
А, точно :3
Аноним 24/10/15 Суб 15:33:10 #468 №564908 
>>564905
Наверное, последний вопрос. Можно как-то сделать отображение буферов как вкладки?
Аноним 24/10/15 Суб 15:36:26 #469 №564909 
>>564865
>Кложур не лисп!!!
>Почему?
>Потому что не лисп, мам, ну скажи ему

Ахуенная аргументация.

>у общелиспа нет ниш.

Поправил, не благодари.

>Удивительно, что ни для одной из своих ниш окамл так и не подошел.

Ахуеть. Обе системы доказательства теорем на нем написаны, дохуя компиляторов, например раст, синтаксических анализаторов, например от пейсбука, не подошел, что несет этот борщехлеб.

>mezzano

При чем тут это поделие?

> цпп-программистов просто так на лисп не пересадить.

Разумеется, как ты их пересадишь на язык, у которого рантайм хелловорлда тяжелее ядра ос на си?
Аноним 24/10/15 Суб 15:37:22 #470 №564910 
>>564908
Поставить xemacs, хотя возможно есть костыль какой-нибудь, присоединяюсь к вопросу.
Аноним 24/10/15 Суб 15:38:34 #471 №564911 
>>564910
>>564908
Вопрос снимается, появился tab bar mode в emacs 24.
Аноним 24/10/15 Суб 15:39:09 #472 №564912 
>>564908
Можно, я давно как-то делал с помощью elscreen или чего-то такого.
Но только зачем, когда есть helm-buffer-list, например.
Если тебе нужны воркспейсы, то есть eyebrowse.
Аноним 24/10/15 Суб 15:48:51 #473 №564915 
14456909314400.png
Поставил таббар через M-x package-install tabbar, затем прописал tabbar в dotspacemacs-configuration-layers и снова эта хрень
Аноним 24/10/15 Суб 15:50:06 #474 №564916 
>>564915
Блядь, да прочитай ты уже про слои.
Слой ≠ пакет.
Аноним 24/10/15 Суб 16:14:57 #475 №564926 
>>564916
Не ругайся, няша, там по англицки, я через слово понимаю. Лучше скажи почему когда заускаю емакс из консольки emacs -nw file.lisp он не открывает сразу файл, а предлагает историю редакторивания.
Аноним 24/10/15 Суб 16:19:33 #476 №564929 
>>564909
>Ахуенная аргументация.
С тебя пример беру.
>Обе системы доказательства теорем на нем написаны
Конечно, на чем ещё писать разработчикам окамля. Другие обе системы доказательства теорем написаны на лиспе по тем же причинам.
>например раст
>помесь c++ и ocaml
Ну ты понел.
>дохуя компиляторов
Дохуя компиляторов написано и на сишке, и на куче других язычков. У них, наверное, тоже НИША? А может просто БИЗОН? А на лиспе-то сколько компиляторов написано... как минимум 6 полноценных.
В общем, я к тому, что у языков нет ниш, есть я владею этим языком/наемные программисты владеют и существуют подходящие инструменты или затраты на их создание целесообразны. И критерии эти непосредственно от языка мало зависят. Был мало кому нужный руби с НИШЕЙ "скриптота", запили рельсы - сразу появилась другая НИША.
>Разумеется, как ты их пересадишь на язык, у которого рантайм хелловорлда тяжелее ядра ос на си?
Эт в эпоху-то, когда IDE кое-как умещается в 4гб памяти, а игорям и 16 мало? На самом деле, дополнительные 25 константных мб к рантайму - не так уж и много. Особенно если учесть, какие возможности это дает.
Аноним 24/10/15 Суб 16:30:36 #477 №564933 
>>564926
Эт они сломали, раньше буфер с открытым файлом на переднем плане был.
Могу лишь посоветовать emacsclient'ом. Тем более, что сервер в пейсмаксе запускается сам по-умолчанию. Можешь ещё флажок persistent в конфиге поставить.

А для дополнительных пакетов, как tabbar, есть dotspacemacs-additional-packages
Аноним 24/10/15 Суб 16:48:17 #478 №564946 
>>564933
> Могу лишь посоветовать emacsclient'ом. Тем более, что сервер в пейсмаксе запускается сам по-умолчанию. Можешь ещё флажок persistent в конфиге поставить.
Это как демон его запускать или как клиент-сервер?
> А для дополнительных пакетов, как tabbar, есть dotspacemacs-additional-packages
С этим я кое-как разобрался. Если коротко, то он считает сиротами все пакеты, которые ставились не через dotspacemacs-cofiguration-kayers. Верно?
Аноним 24/10/15 Суб 16:52:54 #479 №564950 
>>564946
>Это как демон его запускать или как клиент-сервер?
Сам emacs - как демон. Там даже флажок есть --daemon. emacsclient - очевидный клиент.
Аноним 24/10/15 Суб 16:55:10 #480 №564951 
>>564946
>Если коротко, то он считает сиротами все пакеты, которые ставились не через dotspacemacs-cofiguration-kayers. Верно?
Что-то типа того. Те, что не прописаны как зависимости в активных слоях или просто как дополнительные пакеты, - мусор.
Аноним 24/10/15 Суб 16:56:32 #481 №564952 
>>564950
Спасибо, так намного быстрее загружается. Посоветуй еще ocaml-mode какой поставить. инб4 ocaml-mode
Аноним 24/10/15 Суб 17:02:12 #482 №564956 
>>564929
>а игорям и 16 мало?

Именно, писались бы игры на коммон лисп, играл бы ты в змейку на топовом железе.

>Другие обе системы доказательства теорем написаны на лиспе по тем же причинам.

Лол, их всего две успешных, какие еще две, имена в студию?

>Дохуя компиляторов написано и на сишке, и на куче других язычков.

>минимум 6 полноценных.

Ну называй 6 полноценных компиляторов на коммон лисп.

>непосредственно от языка мало зависят.

Зависят, конечно, на динамическом языке ты не напишешь стабильную систему в несколько миллионов строк. А так да, согласно тезису черча-тьюринга писать можно на чем угодно, хоть на брейнфаке, только трудозатраты разные совсем.

Собсна это и есть причина, по которой никто не пользуется общелиспом: слишком жирный и убогий для скриптов, писать на нем скрипты, что писать скрипты на цпп, но при этом для прикладного софта тоже не годится, ибо медленно и динамическая типизация.
Аноним 24/10/15 Суб 17:07:17 #483 №564960 
>>564952
Очевидный слой ocaml. Описание прочитать не забудь, там ещё merlin и ocp-indent доустанавливать через opam надо
Аноним 24/10/15 Суб 17:20:54 #484 №564965 
>>564952
>ocaml

Там только мерлин по сути, больше ничего и не надо.
Аноним 24/10/15 Суб 17:21:39 #485 №564966 
>>564965
ocp-indent, utop
Аноним 24/10/15 Суб 17:23:09 #486 №564967 
>>564966
Я имел ввиду пакеты для имакса.
Для окамла кучу всего надо ставить через опам, хоть тот же кор для начала, да, только ты ему опам советуешь, а он же вроде виндузятник, там нет опама вроде.
Аноним 24/10/15 Суб 17:25:19 #487 №564968 
>>564967
>Я имел ввиду пакеты для имакса.
Тогда тоже далеко не один merlin. Ещё tuareg, company/auto-complete, ну и те же ocp-indent и utop.
Аноним 24/10/15 Суб 17:30:00 #488 №564971 
>>564960
> ocp-indent
Оно вроде само подтянулось. Но подсветка всё равно не работает.
Аноним 24/10/15 Суб 17:31:24 #489 №564972 
>>564968
> tuareg
Тоже подтянулось.
Аноним 24/10/15 Суб 17:31:55 #490 №564974 
>>564968
А, ну да, туарег. А зачем ютом в имаксе, там есть какая-то крутая интеграция с реплом? Что дает?
Ну компани и прочее у него и так должно стоять, а бекенды для компани в туареге есть.
Аноним 24/10/15 Суб 17:38:04 #491 №564979 
>>564971
Подтянулся емаксовский пакет, который дергает бинарник ocp-indent. Читай ман по слою, короче.
>Но подсветка всё равно не работает.
Быть не может.
>>564972
Всё и должно было подтянуться. Для этого пейсмакс и нужен.
>>564974
>бекенды для компани в туареге есть.
В мерлине вообще-то. Туарег - тупо подсветка.
>А зачем ютом в имаксе, там есть какая-то крутая интеграция с реплом? Что дает?
Уже не помню, но себе зачем-то ставил.
Аноним 24/10/15 Суб 17:48:26 #492 №564988 
14456981066990.png
>>564979
> Быть не может.
Назвать подсветкой "это" - сложно.
Аноним 24/10/15 Суб 17:49:42 #493 №564990 
>>564988
У тебя там че за режим вообще включен?
Аноним 24/10/15 Суб 17:50:39 #494 №564991 
>>564990
Эээ, режим редактирования. Не?
Аноним 24/10/15 Суб 17:51:59 #495 №564992 
>>564991
mode какие активны, туарег?
Аноним 24/10/15 Суб 17:53:36 #496 №564993 
>>564992
Ну так-то активен, если запускать не через emacsclient. This?
Аноним 24/10/15 Суб 17:55:21 #497 №564995 
14456985218860.png
>>564993
Вот, если запустить емакс как емакс.
Аноним 24/10/15 Суб 18:00:35 #498 №564997 
>>564956
>Именно, писались бы игры на коммон лисп, играл бы ты в змейку на топовом железе.
Боже! Не знал, что +25мб - настолько серьёзный оверхед. Бедные гейдевелоперы, наверное трудно постоянно балансировать около такой критической отметки.
>Ну называй 6 полноценных компиляторов на коммон лисп.
Только после того, как ты покажешь на окамле. Хотя бы шесть из дохуя существующих.
Алсо, уверен, что тебе и без меня известно не меньше 2х на лиспе.
>Зависят, конечно, на динамическом языке ты не напишешь стабильную систему в несколько миллионов строк
STATIKOSEKTANT, ETO TY? Свои лживые проповеди оставь при себе. У меня сейчас емакс запущен, в котором лиспа в сумме на ~500к строк, sbcl с примерно таким же объемом. Не несколько мульёнов, но и не маленький проект.
>слишком жирный и убогий для скриптов
Но питон жирнее. А "убогость" ремонтируется библиотеками так же, как и в окамл, например.
>писать на нем скрипты, что писать скрипты на цпп
На scsh в свое время нормально писались. А из общелиспа можнозделоть и поудобнее.
>прикладного софта тоже не годится, ибо медленно
Ты путаешь либо с кложей, либо со схемой, которые не имеют эффективных реализаций. SBCL/CCL/LispWorks/ACL генерируют по эффективности сравнимый с сишкой код.
>динамическая типизация
Сектант, плиз. Алсо, sbcl частично выводит типы для оптимизаций
Аноним 24/10/15 Суб 18:01:11 #499 №564999 
>>564988
M-m f e R
Аноним 24/10/15 Суб 18:05:14 #500 №565001 
Вот и докатились до бамплимита.
Аноним 24/10/15 Суб 18:09:08 #501 №565003 
14456993483700.png
>>564999
Аноним 24/10/15 Суб 18:09:56 #502 №565005 
>>565003
>tabbar
>layer
Опять ты...
Аноним 24/10/15 Суб 18:12:30 #503 №565007 
>>565005
Ну что? Я хз куда его вписать чтобы он заработал.
Аноним 24/10/15 Суб 18:13:32 #504 №565008 
>>565007
-> >>564933
>dotspacemacs-additional-packages
Аноним 24/10/15 Суб 18:19:50 #505 №565009 
>>565008
Извини, чет пропустил. А дополнительм ocaml или python считается?
Аноним 24/10/15 Суб 18:20:52 #506 №565011 
>>564997
>по эффективности сравнимый с сишкой код.
>много всего написано
>и компиляторов много, но я их не назову, это секрет
>динамическая типизация эффективнее
>оверхеда нет
>в продакшне дохуя где используется, но пруфов не будет, сам ищи

Ох уж эти борщедети.
Аноним 24/10/15 Суб 18:22:29 #507 №565012 
>>565009
Нет, ocaml и python - слои. https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Blang/ocaml
Освой уже M-m f e h или кнопку "Search in spacemacs"
Аноним 24/10/15 Суб 18:27:04 #508 №565016 
>>565012
> кнопку "Search in spacemacs"
В emacsclient нету кнопок. Или я слепой?
Аноним 24/10/15 Суб 18:27:31 #509 №565018 
Пилите уже перекат.
Аноним 24/10/15 Суб 18:31:55 #510 №565023 
>>565011
Что-то у тебя всё никак по существу говорить не получается. Всё тебе назови, покажи, докажи, а сам швыряешься голословщиной да передергиваешь.
>по эффективности сравнимый с сишкой код.
Иные сведения - огласи.
>и компиляторов много, но я их не назову, это секрет
Да и ты свои дохуя озвучить не торопишься.
Аноним 24/10/15 Суб 18:32:28 #511 №565025 
>>565016
[code]C-x b spacemacs[/code]
Аноним 24/10/15 Суб 18:52:06 #512 №565033 
>>565023
>Иные сведения - огласи.

Ну епт, 1 в 1 как у сишки, просто ноздря в ноздрю:

http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=gcc&lang2=sbcl

И намного быстрее поханой кложуры:

http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=clojure&lang2=sbcl

>Да и ты свои дохуя озвучить не торопишься.

Rust, hexe, opa, hack, ghc изначально был на ml, ну и просто компиляторы для известных языков: qcc. Js_of_ocaml и проч.
Аноним 24/10/15 Суб 18:56:37 #513 №565036 
Перекат >>565035 (OP)
Аноним 26/10/15 Пнд 09:38:25 #514 №566040 
>>564811
>Общелисп вообще не нужен, у него просто нет ниши.
Общелисп - программируемый язык программирования с гомоиконностью и эффективным рантаймом и конпелятором в некоторых реализациях. Его ниша - инкрементальная разработка эффективных eDSL, начиная от форта и заканчивая этими вашими новомодными хаскелями.

>Покажи вакансии, где продакшн на общелиспе?
Вакансии в основном есть для мейнстримовых ЯП. На лиспах обычно пишут прототипы во всяких стартапах, или занимаются исследованиями в CS.
comments powered by Disqus

Отзывы и предложения