[Ответить в тред] Ответить в тред

15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!
30/09/16 - BREAKING NEWS ШОК АБУ ПРОДАЛСЯ МЭЙЛУ (на самом деле нет)



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 505 | 28 | 141
Назад Вниз Каталог Обновить

Лиспотред №7 Аноним 01/07/16 Птн 18:04:35 785486  
(19Кб, 480x360)
Лисп - семейство языков программирования. Характерные особенности лиспов: динамичность, гомоиконность (код как данные), программируемость.

Основные диалекты
Common Lisp - разрабатывался как промышленный язык, пригодный для широкого спектра применения, из-за чего имеет достаточно объемную спецификацию. Является мультипарадигменным (процедурщина, функциональщина, ооп (CLOS)), с сильной, динамической типизацией. Есть опциональная декларация типов и, в некоторых реализациях (sbcl, например), частичный их вывод.
Описание особенностей: http://habrahabr.ru/post/143490
Основные реализации:
+ свободные: SBCL (нативный код), Clozure CL (нативный код), ECL (через сишку), Clisp (байт-код; небольшой размер образа; похоже, заброшен), Clasp (llvm; ориентирован на интероп с c++), ABCL (байт-код JVM), gcl, cmucl
+ коммерческие: LispWorks, Allegro CL, Scieneer CL, mocl (для программирования под ведро и ios)
Scheme - это минималистичный лисп, пригодный в основном для обучения, исследований. Наиболее практичными реализациями являются GNU Guile (https://www.gnu.org/software/guile/ ) и Chicken Scheme (http://call-cc.org/ ).
Racket - Развитие PLT Scheme. Racket включает в себя много подъязыков (typed racket, lazy racket, frtime racket, Scheme стандартов r5rs и r6rs).
Clojure - Стильный, модный, молодежный лисп с бóльшим уклоном в функциональщину, иммутабельными структурами данных, поддержкой параллельщины с транзакционной памятью, агентами. Ориентированность на JVM сильно отразилась на дизайне языка, что многим не нравится.
Hy - Lisp-синтаксис для Python с анафорическими макросами
Emacs Lisp - его область применения ограничивается емаксом. Является наследником ТОГО САМОГО MacLisp'а.
Tcl - скриптовый язык с немного наркоманскимстранным синтаксисом. Из коробки множество батареек на любой случай жизни, среди которых неповторимый Tk. Язык очень удобен для написания скриптиков, особенно когда к ним требуется приделать графический интерфейс.
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

Как изучить?

Emacs Lisp
+ An Introduction to Programming in Emacs Lisp https://www.gnu.org/software/emacs/manual/html_node/eintr/index.html — скучный туториал, предполагающий что читатель вообще не умеет программировать
+ Emacs Lisp Reference Manual https://www.gnu.org/software/emacs/manual/html_node/elisp/index.html

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
+ Попрактиковаться можно на Exercism'е http://exercism.io/languages/lisp
Алсо, годная статья про проектирование eDSL'ей на CL http://swizard.info/articles/solitaire/article.html

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

Racket
+ https://docs.racket-lang.org/

Clojure
+ Programming Clojure, 2nd edition (для новичков)
+ The Joy Of Clojure, 2nd edition (есть есть бэкграунд в Лиспе или ФП)
+ Попрактиковаться можно на Exercism'е http://exercism.io/languages/clojure

Hy
+ Официальный сайт http://hylang.org/

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

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

!!Чтобы не ебаться с емаксом, лучше можно взять уже преднастроенный spacemacs ( https://github.com/syl20bnr/spacemacs ).

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

Scheme
+ Emacs + Geiser (поддерживает GNU Guile и Chicken Scheme)

Racket
+ Emacs + Geiser
+ DrRacket

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

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


Библиотеки
Common Lisp
+ Quicklisp ( https://www.quicklisp.org/beta/ ) - CPAN из мира CL
+ Quickdocs ( http://quickdocs.org/ ) - документация по всем пакетам из quicklisp
+ Cliki ( http://cliki.net/ )
+ Обзор экосистемы общелиспа на швабре ( http://habrahabr.ru/post/265589/ )

Scheme
+ Racket: http://pkgs.racket-lang.org/ и http://planet.racket-lang.org/
+ Chicken: http://wiki.call-cc.org/chicken-projects/egg-index-4.html
+ http://snow.iro.umontreal.ca/?tab=Packages
+ http://www.schemespheres.org/spheres


Предыдущие треды: http://arhivach.org/?tags=3055,113
Шапка: https://titanpad.com/x87hR0KJ2w

Аноним 01/07/16 Птн 18:06:39 785491
Может быть, стоит разбить шапку на несколько постов для удобочитаемости?
Аноним 01/07/16 Птн 18:08:45 785494
да пошёл ты
Ответы: >>785499
Аноним 01/07/16 Птн 18:14:49 785499
>>785494
ОПа унижают в его же собственном треде. Совсем уже оборзели.
Аноним 01/07/16 Птн 18:23:55 785502
Лисперы це: Общешлюхи: 1) Золотце. Шизофазный фрик без работы и образования. 2) Андрюша. Студент младших курсов. Схемобляди: 1) Собакоеб. Имеет опыт аудита кластеров парадигм на пыхе и питоне. 2) Варкрафтёр-полуебок. Студент. Судя по его рассуждениям о хвостовых рекурсиях и системах типов регулярно упарывается. 3) Альфаслесарь. Пишет на схемке после заправки всех картриджей. Я что-то пропустил?
Аноним 01/07/16 Птн 18:40:15 785511
>>785502
> Я что-то пропустил?
совсем немножко.
https://speakerdeck.com/daveray/clojure-at-netflix
Ответы: >>785527
Аноним 01/07/16 Птн 18:51:35 785516
>>785502
Лавсанчика пропустил. И да, золотце уже давно нашел работку крестоблядью.
Ответы: >>785522
Аноним 01/07/16 Птн 18:53:30 785522
>>785516
Его ж оттуда поперли почти сразу. Или он потом ещё нашел?
Ответы: >>785535
Аноним 01/07/16 Птн 19:00:44 785527
>>785511
клоужэ действительно выглядит так, будто на нём просто кодить
надо самоучителЪ с тырнета скачать будет
Ответы: >>785539
Аноним 01/07/16 Птн 19:10:58 785532
>>785502
Несколько небольших компаний пропустил
> http://franz.com/success/all_customer_apps.lhtml
Аноним 01/07/16 Птн 19:15:47 785535
>>785522
Ахз, вроде ещё что-то находил.
Аноним 01/07/16 Птн 19:23:27 785539
>>785527
Она годится только для несчастных узников jvm. Нормальным же людям лучше поискать другую альтернативу.
Ответы: >>785637
Аноним 01/07/16 Птн 23:43:59 785637
>>785539
>Она годится только для несчастных узников jvm
Simple made easy. Но нищенки видят только слово JVM.
Ответы: >>785669
Аноним 02/07/16 Суб 04:10:39 785669
>>785637
Наивный jvmщик повелся на маркетинг. Опять.
Впрочем, ничего нового.
Ответы: >>786491
Аноним 03/07/16 Вск 01:10:48 786491
>>785669
виртуальная машина порой быстрее ассэмблера будет
атвичаю
Ответы: >>786571
Аноним 03/07/16 Вск 02:18:16 786501
>>785486 (OP)
>Scheme - это минималистичный лисп
>Scheme
>лисп
Уберите уже эту ересь. Ажтрисет каждый раз, когда это вижу.
Ответы: >>787751
Аноним 03/07/16 Вск 07:58:50 786571
>>786491
Пруф пжалста. Не может быть даже jitнутый код быть лучше машинного. Разве только jitнутый учел особенности программы, которые при компиляции не были учтены.
Ответы: >>786683 >>787764
Аноним 03/07/16 Вск 09:31:27 786640
Почему в функциональных языках голова списка часто обозначается xs? Что это значит?
Ответы: >>786654
Аноним 03/07/16 Вск 09:43:30 786654
>>786640
Хвост, а не голова.
А s там как модификатор множественного числа: (x . xs) - (икс . иксы)
Ответы: >>803515 >>807461
Аноним 03/07/16 Вск 10:19:46 786683
>>786571
жыво-процессоры ты не учёл
Аноним 04/07/16 Пнд 04:16:55 787436
>>785486 (OP)
Начал решать сикп, и после нескольник первых задачек появился вопрос-как мне узнать, нормально ли я решил задачу, или же нагромодил миллиарды ненужных функций и определений на каждый чих? И вообще, нужно ли смотреть другие решения и спрашивать об этом? Почему у меня чувство что за это зарывают в песок
Ответы: >>787438 >>788062
Аноним 04/07/16 Пнд 04:21:13 787438
>>787436
милиарды решений сикпа
вот на обще: http://web.archive.org/web/20121020082129/http://eli.thegreenplace.net/category/programming/lisp/sicp/
Ответы: >>787440
Аноним 04/07/16 Пнд 04:37:06 787440
>>787438
Да я знаю, что они есть, просто подглядывать не охота
Ответы: >>787457
Аноним 04/07/16 Пнд 05:33:16 787457
>>787440
так узнать, только сравнив...
Ответы: >>787567
Аноним 04/07/16 Пнд 08:48:04 787567
>>787457
Да уж, от этого не уйдешь.
>>787466
Это я понимаю, просто избавиться от ощущения что "я решал заковыристо, а можно было проще" не могу. Ну да ладно, я уже поглядел чего там у других
Аноним 04/07/16 Пнд 12:48:55 787744
Аноны, где можно посмотреть на примерный скелет простого приложения?

Вообще хотелось бы почитать, как держать на сервере http сервер лиспа? Мб есть вводные статейки какие, не всю же жизнь в repl сидеть. Practical common lisp прочел, а что дальше делать не представляю, хочу попробовать простое веб приложение на общелиспе поднять.
Ответы: >>788062 >>788227
Аноним 04/07/16 Пнд 12:55:37 787751
>>786501
> Лисп - семейство языков программирования
Аноним 04/07/16 Пнд 13:05:33 787759
>>785502
Золотце гринлайт на Стиме получил, а чего добился ты?
Ответы: >>787771
Аноним 04/07/16 Пнд 13:09:58 787764
>>786571
А чем jit-нутый код отличается от машинного? Он и есть машинный.
А вот то что автоматически сгенерированынй машинный код может быть быстрее рукописного, это ещё в 60х годах доказали.
И да, многие задачи который считают CPU-bound на самом деле упираются в эффективное использования L2 кэш-лайна (т.е. локальность данных), и структуры данных из Кложи в этом очень хороши.
Ответы: >>787769
Аноним 04/07/16 Пнд 13:25:19 787769
>>787764
>А чем jit-нутый код отличается от машинного?
Мне казалось что после jit программа может стать несколько лучше в плане реорганизации прыжков и вообще веток выполнения, так как накопленная некоторая информация опираясь на которую можно реорганизовать код так, что он получется быстрее просто скомпилированного.
Аноним 04/07/16 Пнд 13:30:14 787771
>>787759
А чего он написал, этот ваш местный локал мем?
Ответы: >>787979
Аноним 04/07/16 Пнд 14:36:46 787816
>>785502
>фрик без работы и образования
А вот у меня образование есть, а работы нет.
Т.ч. ещё разобраться надо, что больше всех сосёт здесь.
Ответы: >>788106
Аноним 04/07/16 Пнд 17:30:38 787979
>>787771
http://steamcommunity.com/sharedfiles/filedetails/?id=514233906
Ответы: >>788025 >>788108
Аноним 04/07/16 Пнд 18:11:38 788025
>>787979
А при чем тут лисп, она не CL?
Ответы: >>788108
Аноним 04/07/16 Пнд 19:03:43 788062
>>787744
Хочешь стрим про это?
>>787436
http://community.schemewiki.org/?SICP-Solutions
Ответы: >>788344 >>790454
Аноним 04/07/16 Пнд 20:05:54 788106
>>787816
А у меня есть работа, но нет образования
Ответы: >>788129
Аноним 04/07/16 Пнд 20:08:49 788108
>>787979
>>788025
Она на Symta - гибриде лишпа и рефала. Думаю, если в шапке упомянут тикль, то и это уместно будет.
Ответы: >>788114
Аноним 04/07/16 Пнд 20:17:23 788114
>>788108
А что в симте от лиспа, кроме фанатизма золотца?
Там же вроде даже макросов нет
Аноним 04/07/16 Пнд 20:44:54 788129
>>788106
Тебе везёт. А у мну 2 диплома, а работы нет.
И в армию не берут.
Ответы: >>788143 >>788169
Аноним 04/07/16 Пнд 20:58:01 788143
>>788129
А искать работу не пробовал?
Ответы: >>788147
Аноним 04/07/16 Пнд 21:04:14 788147
>>788143
А кому я всрался?
На нескольких сайтах зареган. Звонили раз двадцать с разных контор, но я никому нахуй не упал. Приходил на собеседования, но дальше этого дело никогда не шло. Даже не перезванивали.
Ответы: >>788148
Аноним 04/07/16 Пнд 21:10:20 788148
>>788147
Мож ты что-то не так делаешь? Вон, даже золотце смог устроиться правда, для этого ему пришлось пересмотреть свои жизненные позиции, а ты-то чем хуже отсталого фанатика?
Ответы: >>788151
Аноним 04/07/16 Пнд 21:16:46 788151
>>788148
Я в Украине живу.
Ответы: >>788152
Аноним 04/07/16 Пнд 21:18:24 788152
>>788151
В Кыйив понаедь, там ж-то полно айтишных вакансий
Аноним 04/07/16 Пнд 22:28:01 788169
>>788129
>работы нет
>у мну
И не будет.
Ответы: >>788170
Аноним 04/07/16 Пнд 22:29:09 788170
>>788169
Похуй. В тюрьму пойду. Туда всегда берут.
Аноним 05/07/16 Втр 01:24:06 788227
>>787744
http://web.archive.org/web/20141015101150/http://lispwebtales.ppenev.com/
Ответы: >>788337
Аноним 05/07/16 Втр 06:34:22 788337
>>788227
Благодарю
Аноним 05/07/16 Втр 06:45:47 788344
>>788062
Спасибо, я уже знаю где солюшнс искать. Еще бы мозгов найти
Ответы: >>789043
Аноним 05/07/16 Втр 19:42:19 789043
>>788344
Там же по началу вроде не сложно.
Ответы: >>789335
Аноним 05/07/16 Втр 19:51:23 789054
Анон, что я делаю не так? Где здесь ошибка?

https://ideone.com/gjIMJh
Ответы: >>789384 >>790017
Аноним 06/07/16 Срд 03:41:45 789335
>>789043
Вероятно.
Однако я, в жизни ничего не доказывавший, врядли когда нибудь решу 1.13 задание. Это к примеру
Аноним 06/07/16 Срд 07:06:00 789384
>>789054
>(define (same-parity a . xs)
У тебя тут xs - хвост списка аргументов, т.е. при (same-parity a 1 2 3) xs = (1 2 3), а в твоем коде функция вызывается так (same-parity a '(1 2 3)) и xs = ((1 2 3))
Аноним 06/07/16 Срд 20:20:07 790017
>>789054
Не понимаю за каким хуем нужно ебать себе рекурсией мозг там, где она нахуй не уперлась.
http://ideone.com/E6DZkH

(defun same-parity (n list)
(loop for x in list
with parity = (rem n 2)
if (= (rem x 2) parity)
collect x))

(defvar x (list 1 2 3 4 5 6 7 8 9 10))

(print (same-parity 3 x))
(print (same-parity 2 x))
Ответы: >>790022 >>790032
Аноним 06/07/16 Срд 20:23:08 790022
>>790017
Ну, то ж сикп. Цель - с рекурсией разобраться, а не саму задачку решить
Аноним 06/07/16 Срд 20:31:43 790032
>>790017
Кстати, можно было бы ещё проще: (remove (rem n 2) xs :key ^(rem % 2))
Ответы: >>790043
Аноним 06/07/16 Срд 20:43:18 790043
>>790032
Т.е. keep, а не remove
Аноним 07/07/16 Чтв 10:55:38 790454
>>788062
>Хочешь стрим про это?
Да.
другой анон
Ответы: >>790945
Аноним 07/07/16 Чтв 19:33:03 790945
>>790454
Окей, в ближайшие пару дней соберусь сделаю. Ориентировочно завтра ближе к вечеру.
Ответы: >>791195 >>791254
Аноним 08/07/16 Птн 04:52:27 791195
>>790945
Хуяссе, стрим по лиспу! Приду поглядеть
Ответы: >>791327
Аноним 08/07/16 Птн 07:02:59 791254
>>790945
Где записаться?
Ответы: >>791327
Аноним 08/07/16 Птн 08:21:05 791311
Все еще решаю задачу из SICP про same-parity. Написал итеративное решение, но почему-то результат является множеством вложенных списков. Что я делаю не так?

https://ideone.com/6vHyS3
Ответы: >>791328
Аноним 08/07/16 Птн 08:42:36 791327
>>791195
>>791254
http://goodgame.ru/channel/TatriX/

Прошлые стримы были вот про это: http://goodgame.ru/channel/TatriX/ кстати, это не просто хуйня для наркоманов, а вполне себе тестовое задание. И таки оно оказалось вполне успешным
Ответы: >>791329 >>791343 >>802768
Аноним 08/07/16 Птн 08:43:39 791328
>>791311
Сделал с разворотом списка, но это лишняя O(n) операция. Можно ли написать итеративное решение без разворота списка?

https://ideone.com/k8eUOI
Ответы: >>791343 >>791346
Аноним 08/07/16 Птн 08:44:10 791329
>>791327
Линк проебал: https://github.com/TatriX/blue-water
Ответы: >>791380
Аноним 08/07/16 Птн 09:08:50 791343
>>791328
http://ideone.com/6qnvd5
записывайся на семинар, >>791327
Аноним 08/07/16 Птн 09:11:22 791346
>>791328
push-nreverse стандартная идиома.
Если ты будешь не консить в голову списка, а добавлять в конце будет еще медленей, потому что придется каждый раз тащится по указателям в конец списка.
Ответы: >>791349
Аноним 08/07/16 Птн 09:13:27 791349
>>791346
Хотя кажется в сиспе было что-то про то, как собирать в прямом порядке список, не помню уже.
Аноним 08/07/16 Птн 10:15:37 791380
>>791329
Оно у тебя само таблицы не создает шоле?
Ответы: >>791577
Аноним 08/07/16 Птн 14:29:26 791577
>>791380
Нет. Нахуя?
Ответы: >>791592
Аноним 08/07/16 Птн 14:48:46 791592
>>791577
Ну, чтобы другие могли посмотреть на работающий код без ковыряния в исходниках.
Ответы: >>791674
Аноним 08/07/16 Птн 15:05:21 791607
Я пропустил стримчанский или еще нет?
Ответы: >>791678
Аноним 08/07/16 Птн 16:19:05 791674
>>791592
(blue-water.db:create-schema)
Аноним 08/07/16 Птн 16:23:47 791678
(621Кб, 2811x2983)
>>791607
В 23:00 будет.
Ответы: >>791769 >>791770
Аноним 08/07/16 Птн 19:07:52 791769
>>791678
что за стрим?
Ответы: >>791828
Аноним 08/07/16 Птн 19:09:00 791770
>>791678
скинте стрим
Ответы: >>791771 >>791828
Аноним 08/07/16 Птн 19:09:51 791771
>>791770
https://www.twitch.tv/gladiatorpwnz
Ответы: >>791773
Аноним 08/07/16 Птн 19:10:37 791773
>>791771
спасибо
Аноним 08/07/16 Птн 20:10:35 791828
>>791770
>>791769
Ща, ща. Щас все будет: http://goodgame.ru/channel/TatriX/
Аноним 09/07/16 Суб 12:00:12 792212
Почему s печается именно как ((1 2) 3 4)?
https://ideone.com/PMN2Rl

Мне кажется, должно быть ((1 2) (3 4)), ведь там два списка (cons (list 1 2) (list 3 4)).

Почему второй список выводится не так, как первый: не в скобках?
Ответы: >>792653
Аноним 09/07/16 Суб 12:07:09 792225
(34Кб, 774x607)
Из-за этого дерево получается не бинарным, хотя по логике должно быть бинарным. (1 2) - одна ветвь, (3 4) - вторая.
Аноним 10/07/16 Вск 04:40:23 792653
>>792212
Потому что cons добавляет элемент к списку. У тебя есть список из двух элементов (3 4), ты добавляешь к нему элемент и получаешь список из трёх элементов ((1 2) 3 4).
Ответы: >>792700 >>792703
Аноним 10/07/16 Вск 08:51:25 792700
(242Кб, 500x419)
>>792653
Нихуя не понял. Cons склеивает два любых элемента в пару. В моем случае склеиваются два списка, которые реализованы как (cons 1 (cons 2 nil)) и (cons 3 (cons 4 nil)). Каждый такой список распечатывается как (a b), и эти списки склеиваются в пару. Значит, целиком выражение (cons (list 1 2) (list 3 4)) должно быть распечатано как ((1 2) (3 4)). Но почему-то это не так.
Ответы: >>792743
Аноним 10/07/16 Вск 08:53:02 792703
>>792653
>Потому что cons добавляет элемент к списку
Я отвечал на это. На низком уровне cons только образует пару, а не добавляет элемент к списку, и я не понимаю, почему на логическом уровне результат будет не два склеенных списка.
Аноним 10/07/16 Вск 10:16:55 792743
>>792700
Список это не самостоятельный объект, а определенным образом сформированная цепочка cons-пар.
(1 . 2) пара, но не список === (cons 1 2)
(1 . ( 2 . nil)) список === (list 1 2) === (cons 1 (cons 2 nil))

В твоем случает ты делаешь примерно так:
(cons хуита-1 хуита-2) => (хуита-1 . хуита-2)
Заменяем вторую хуиту:
(хуита-1 . (3 . (4 . nil))
И получаем обычный список.
Ну и если ты заменишь хуиту-1, получишь что в твоем списке первый элемент это другой список
((1 . (2 . nil) . (3 . (4 . nil)))
Ответы: >>792759 >>792762
Аноним 10/07/16 Вск 10:36:20 792759
>>792743
>Ну и если ты заменишь хуиту-1, получишь что в твоем списке первый элемент это другой список
Ну так о чем я и говорю. Мы склеиваем две цепочки cons-пар в одну пару. Каждая такая цепочка - список. Список выводится в скобках. Поэтому если хотим напечатать результат (cons список-1 список-2), то должно получиться ((список-1) (список-2)).

Почему вторая хуита без скобок, а первая в скобках? Ведь обе хуиты построены одинаково.
Ответы: >>792867
Аноним 10/07/16 Вск 10:40:06 792762
>>792743
>(хуита-1 . (3 . (4 . nil))
Да, видно, что вторая хуита как будто продолжение первой хуиты. Но это до тех пор, пока мы не раскроем первую хуиту, и тогда окажется, что между хуитой разрыв в виде nil. В цепочке cons'ов, формирующей список, разрыва нет.
Аноним 10/07/16 Вск 12:28:28 792849
(250Кб, 467x464)
Цитата из блога: "Операция car убирает внешние скобки у списка и возвращает первое значение. Операция cdr не убирает внешние скобки у списка, а убирает лишь его первое значение".

У длинного списка cdr действительно сохраняет внешние скобки. Но тогда почему внешние скобки не сохраняются для списка '((7))? Это же аналогичный случай.
Ответы: >>792870 >>792990
Аноним 10/07/16 Вск 12:36:01 792859
Это разное отображение. ((1 2) (3 4)) == ((1 2) (3 (4 ()))), а поскольку (1 (2 (3 (4 ())))) == (1 2 3 4), то ((1 2) (3 4)) == ((1 2) 3 4)
Аноним 10/07/16 Вск 12:47:43 792867
>>792759
>Поэтому если хотим напечатать результат (cons список-1 список-2), то должно получиться ((список-1) (список-2)).
Нет. (cons '(x) '(y)) = ((x) . (y)) - выведено на экран как пара = ((x) y) - как список.
Список в лиспе - не отдельная структура данных, а просто абстракция над cons-парами со следующей структурой: в ячейке car находится элемент (который может быть чем угодно, в т.ч. и другим списком), а в cdr - следующая cons-пара
Ответы: >>793012
Аноним 10/07/16 Вск 12:49:01 792870
>>792849
А с чего ты взял, что они не сохранились? '() же
Ответы: >>792893
Аноним 10/07/16 Вск 13:30:02 792893
>>792870
>А с чего ты взял, что они не сохранились? '() же
Список ((7)) я строил как (cons (cons 7 '()) '()). Здесь используется признак конца списка в виде nil = '(). Этот nil я и извлекаю при помощи cdr. Вот этот nil:

(cons (cons 7 '()) '())

Скобки не сохранились. Я просто вытащил признак конца списка.

Ответы: >>792970
Аноним 10/07/16 Вск 15:46:30 792970
>>792893
Что? Под "сохранились скобки" имеется в виду, что cdr от списка вернет список. А сохранения каких ты ожидал - я не понимаю.
Почитай сикп уже что ли, там этот вопрос вроде бы полно освещался.
Ответы: >>792990
Аноним 10/07/16 Вск 15:59:26 792990
>>792970
Но я как раз и решаю задачи из SICP. Судя по примерам, под сохранением скобок имеется в виду, что возвращенный список будет внутри скобок. Смотри скрин: >>792849

В последнем выражении (cdr x) возвращает не (lala), а ((lala))
Ответы: >>793012
Аноним 10/07/16 Вск 16:16:04 793012
>>792990
У тебя в последнем случае список из двух элементов, cdr от него возвращает список от одного элемента, который тоже оказался списком, видимо это тебя и запутало.
И мне кажется, ты не очень понимаешь разницу между парой (x . y) и списком (x y).>>792867
>Список в лиспе - не отдельная структура данных, а просто абстракция над cons-парами со следующей структурой: в ячейке car находится элемент (который может быть чем угодно, в т.ч. и другим списком), а в cdr - следующая cons-пара

Аноним 15/07/16 Птн 17:06:35 796958
Помогите разобраться в том, как именно работает глубокий реверс списка с использованием map. Функция deep-reverse переворачивает список списков и в нем переворачивает каждый внутренний список.

https://ideone.com/g6QZ2Y

1. Условие выхода из рекурсии возвращает одиночный элемент список.
2. Для списка функция map применяет deep-reverse к каждому элементу списка. Результат этого вызова инвертируется.

Я так понимаю, рекурсия заходит на самую глубину вложенных списков и в конце цепочки вызовов возвращаются отдельные элементы. Но как эти отдельные элементы складываются в обращенные списки, если не используется ни cons, ни list для создания нового списка?
Ответы: >>797204
Аноним 15/07/16 Птн 17:21:07 796971
Внизу попытался еще раз расписать цепочку вызовов, но цельное представление о работе процедуры у меня все равно пока не складывается.

https://ideone.com/IpZPLL
Аноним 15/07/16 Птн 21:04:44 797204
>>796958
В map списки и составляются
Ответы: >>797250
Аноним 15/07/16 Птн 22:01:33 797250
>>797204
Я знаю, как работает map. Мне непонятно, как точно выполняются преобразования. По-моему, здесь два этапа:
1. Алгоритм доходит до максимального уровня вложенности списков, т.е. до отдельных элементов.
2. Начинается обратный ход - пересборка списков. К чему на этом этапе применяется reverse? Как все вместе склеивается?
Ответы: >>797293
Аноним 15/07/16 Птн 23:10:26 797293
>>797250
Ну, давай рассмотрим по шагам начиная со дна рекурсии:
(deep-reverse 'x) => 'x
(map deep-reverse '(x y)) => '(x y)
(reverse (map deep-reverse '(x y))) => '(y x)
(map deep-reverse '((x y) (y z)) => '((y x) (z y))
(reverse (map deep-reverse '((x y) (y z))) => '((z y) (y x))
Так стало понятнее?
Аноним 17/07/16 Вск 04:26:17 798180
(48Кб, 616x391)
Какой из лиспов самый производительный? Clojure? common?
Какой у лиспа оверхед? Где можно почитать про управление памятью в лиспе? можно ли на нем писать что-то такое где происходит много вычислений, много оперирования большими структурами данных (деревьями, где миллион+ узлов).
Ответы: >>798186 >>798187
Аноним 17/07/16 Вск 05:24:31 798186
>>798180
http://www.sbcl.org/sbcl-internals/
Аноним 17/07/16 Вск 05:28:53 798187
>>798180
>Какой из лиспов самый производительный?
Любая нативная реализация CL, а дальше как напишешь.
>Где можно почитать про управление памятью в лиспе
GC.
>Какой у лиспа оверхед?
Что это вообще значит? Везде и во всём "как напишешь".
>можно ли на нем писать что-то такое где происходит много вычислений, много оперирования большими структурами данных
Зависит от того, насколько всё таки больших и конкретного железа. Подозреваю что при таком объёме данных упрёшься в производительность оперативной памяти - на процессор смотреть не много толку, хоть на кложуре пиши.
Ответы: >>798576
Аноним 17/07/16 Вск 16:07:07 798576
>>798187
>насколько всё таки больших
Потенциально будет выжираться вся память, оть 224гига поставь. Управление ресурсами - собственное, я имею ввиду что когда память забивается, мои алгоритмы уже решают какие данные удалить. Но интересно как будет себя вести лисп-программа, когда я скажу что вот "это надо удалить" -когда оно удалится? немедленно? через три часа? хуй пойми когда? будет ли стоп зе ворлд?
На счет оверхеда, ну например если на Си делаю бинарное дерево, то я понимаю сколько памяти реально тратится на это - Value узла, и два указателя на левое и правое поддерево. Что там у лиспа когда я создаю своё дерево. В моей задаче идет прцоессинг кучи деревьев где может быть произвольно число узлов, и оно любое что в ширину что в глубину. Деревья сравниваются, соединяются, соединяются, разъединяются, всякие усовия проверяются по структуре дерева и пр.
Писал всё на Си долгое время, но потом появилась нужна в довольно "высокоуровневых" фичах, особенно касающийся анализа структуры деревьев, всякие паттерн-матчинги и пр. ачало уже реально заябывать делать это всё на Си. Поэтому нчал подыскивать другие варианты. Привык уже к тому что в Си я знаю точно что где и сколько и что работает быстро. Всякие питоны даже не рассматриваю. Пока думал вот rust, d, scala, swift, lisp. Rust, D, Swift скорее всего идут нахуй. Lisp вот непонятен, ибо ничего не писао на нем никогда. Scala нравится, но не нравится что JVM. Кстати по этой же причина и на Clojure смотрю с подозрением.
Аноним 17/07/16 Вск 20:31:55 798802
>>798576
Опыта решения подобных задач не имею, поэтому ничего дельного подсказать не могу. Могу лишь посоветовать почитать документацию по внутренностям allegrocl (например по гц http://franz.com/support/documentation/10.0/doc/gc.htm ) - коммерческой реализации лиспа. У него, насколько мне известно, единственного параллельный сборщик мусора. Хотя граммарли, если верить их статье, обходятся опенсорсным sbcl, хоть и не без костыля в виде ручного вызова гц.
Также существуют библиотеки для ручного управления памятью
>Что там у лиспа когда я создаю своё дерево.
В лиспе можно представить дерево в виде двух cons-ячеек: (cons value (cons left right)), которые в sbcl, например, представляют из себя два указателя, а метка типа хранится во младших битах адреса.
Либо создать структуру вида (defstruct tree value (left nil :type (or null tree)) (right nil :type (or null tree))), которая в нормальных реализациях представляется аналогично сишным.
Что касается оверхеда по процессорному времени, то он в нормальных реализациях (типа sbcl) достаточно мал, если сравнивать с другими языками с динамической типизацией, благодаря использованию информации о типах, полученной из автоматического вывода или ручного объявления.
Ответы: >>798803
Аноним 17/07/16 Вск 20:32:35 798803
>>798576
>>798802
мимо другой анон, если что
Аноним 17/07/16 Вск 20:37:46 798807
>>798576
ты потомственный байтодаун, сиди лучше дальше на сисечке
Ответы: >>798812
Аноним 17/07/16 Вск 20:40:59 798812
>>798807
Грубо
Аноним 17/07/16 Вск 20:44:49 798819
>>798576
>мои алгоритмы уже решают какие данные удалить
Алгоритмы дефрагментации кучи тоже сам писать будешь вместо анализа данных? Удачи, чо.
Аноним 18/07/16 Пнд 13:00:42 799274
>>798576
дибил
Аноним 20/07/16 Срд 16:15:15 801480
(718Кб, 637x316)
http://www.red-lang.org/2016/07/eve-style-clock-demo-in-red-livecoded.html
Red-то довольно активно пилится, оказывается.
Ответы: >>801754
Аноним 20/07/16 Срд 21:25:01 801754
>>801480
всегда инетресовал для чего он ? что на нем написано ? какой профит в сравнении с мейнстрим языками ?
Ответы: >>801784 >>801794 >>801795
Аноним 20/07/16 Срд 23:20:32 801784
>>801754
Хуй знает, я все это могу на qml написать
Ответы: >>801794
Аноним 21/07/16 Чтв 00:09:39 801794
>>801754
>всегда инетресовал для чего он ?
Для программирования, очевидно. Позиционируется как язык действительно общего назначения: от низкоуровневой системщины, до высокоуровневых задач типа скриптоты. Такая всеприменимость достигается за счет того, что язык представляет из себя стек edsl'ей: каждой предметной области свой edsl. Например, для описания графического интерфейса есть edsl VID, который построен поверх edsl для манипуляций графическими компонентами view, который в свою очередь основывается на самом Red, а тот — поверх Red/System, низкоуровневого диалекта. Короче, это такой более правильный лисп.
>что на нем написано ?
Он и сам-то пока ещё не до конца допилен, хотя уже кое-что под шиндошс писать можно. Скоро обещают запилить поддержку ведра, в т.ч. и гуи.
>>801784
QML - совсем другое. То просто dsl (не edsl), что-то среднее между VID и view, но оторванное от хост-языка.
Ответы: >>804019
Аноним 21/07/16 Чтв 00:13:20 801795
>>801754
В общем, пощелкай ссылки внизу статьи, станет понятнее.
Аноним 22/07/16 Птн 11:36:16 802740
(6Кб, 416x303)
Не запилили ещё, что ли? Вроде скопипастил даже из документации.
Ответы: >>802773
Аноним 22/07/16 Птн 12:14:33 802768
>>791327
А записи стрима нет?
Ответы: >>803067
Аноним 22/07/16 Птн 12:33:45 802773
>>802740
Хм, если из файла, то работает. Но несмотря на stdcall имена не манглит. Вообще, как-то сыро пока всё и нихуя не юзер-френдли.
Аноним 22/07/16 Птн 19:59:47 803046
Лиспаны, как быть с порядком определения функций?
У меня функция А вызывает В, которая вызывает А, ну короч вы понели, обычная рекурсия. В C++ это решается прототипами функций, а как в Clojure, почему-то ничего не нашел.
Ответы: >>803159
Аноним 22/07/16 Птн 20:14:15 803067
>>802768
Нет.
Ответы: >>803128
Аноним 22/07/16 Птн 21:15:29 803128
(99Кб, 1019x887)
>>803067
ОбщеЛиспострим прямо сейчас http://goodgame.ru/channel/TatriX/
Ответы: >>803204
Аноним 22/07/16 Птн 21:49:58 803159
>>803046
Просто пишешь функции в любом порядке, компилятору не нужны предварительные объявления
Ответы: >>803497
Аноним 22/07/16 Птн 23:45:12 803204
(203Кб, 1082x885)
>>803128
Рулеточка для б. Такие дела.
https://2ch.hk/b/res/132410266.html
Ответы: >>803205
Аноним 22/07/16 Птн 23:48:20 803205
>>803204
https://github.com/TatriX/petroll
Аноним 23/07/16 Суб 00:03:15 803207
Вы тут нахуя лисп то учите, если современным работодателям он не нужен?
Ответы: >>803219
Аноним 23/07/16 Суб 00:46:33 803219
>>803207
А не думал о том, что можно изучать всякое для расширения кругозора и синергетического эффекта для прочих навыков?
Ответы: >>803220
Аноним 23/07/16 Суб 00:48:50 803220
>>803219
Дык я думал что в 2016 прогать только чтобы с голоду не умереть учаться, неужели это может быть для кого-то как хобби?
Ответы: >>803228
Аноним 23/07/16 Суб 00:55:48 803228
>>803220
Ясно. Уебывай.
Ответы: >>803233
Аноним 23/07/16 Суб 00:58:50 803233
>>803228
Не ну че ты сразу так, поясни что я неправильно думаю.
Ответы: >>803497 >>820655
Аноним 23/07/16 Суб 12:39:27 803497
>>803159
Тогда я не понимаю в чем ошибка, ошибка у меня не в репле, а в codewars, там оно жаловалось мол неизвестный символ. И как только я встроил тело функции в вызывающую, проблема исчезла.
>>803233
Я задачки для разминки мозга решаю.
Аноним 23/07/16 Суб 12:55:49 803509
Где ваш лисп применяется, кроме всяких емаксов? Полезен ли для общего образования? С чего начать вкатываться?
Ответы: >>803601
Аноним 23/07/16 Суб 13:11:20 803515
>>786654
это блядь гениально
Аноним 23/07/16 Суб 15:56:32 803601
>>803509
Теоретически может использоваться везде. На Общелиспе что-то в научной среде пилят, вроде, на Кложуре веб-бэкенд, порой.
Полезен, поскольку позволяет взглянуть на программирование с другого ракурса.
Многие начинают c SICP, но можно, наверно, и гайд по понравившемуся Лиспу почитать.
Аноним 24/07/16 Вск 09:35:34 804019
>>801794
Ред всё ещё неюзабелен от слова "вообще никак". Функций нихуя нет (например, файл нельзя создать, только записать пустую строку; файл вообще никак нельзя удалить; нельзя вызвать внешние программы и прочитать их вывод (то есть, ни для того ни для другого функций нет) етц), нихрена не работает (вызов хайлевельных функций изнутри #system блока - через жопу, вызов #system-функций из хайлевельного кода вообще никак невозможен, благодаря чему недостающие функции самому не дописать), компилирует по две минуты (red/system быстрее, но в нём вообще нихуя нет), документации нет, список функций неполный и на стороннем сайте, what выдаёт просто алфавитный список, где функции иногда вообще без описания. Такими темпами он года лишь через четыре будет хоть на что-то похож.
Решил пока ребол попробовать, пошёл качать, а сайт лежит - это явно знак.
Аноним 24/07/16 Вск 13:01:14 804173
В процессе решения задачи 2.28 (Fringe) из SICP придумал уже шесть различных способов вернуть тот же самый список, но не то, что требуется. Вот последний способ: https://ideone.com/16pBP3

Так рассуждал: база рекурсии 1) если список пуст, возвращаем пустой список 2) если встречен отдельный элемент, склеиваем его со следующим элементом текущего списка или подсписка 3) если встречен подсписок, заходим в его и делаем те же действия.

Не работает. Пойду дальше думать над этим сорт оф inorder traversal. Если не решу, подсмотрю решение и поссу себе на лицо.
Аноним 26/07/16 Втр 23:55:42 806579
Лиспуны, а почему обошли стороной чудесный ClozureCL?
Ответы: >>806640
Аноним 27/07/16 Срд 06:45:14 806640
>>806579
Кто обошел? В шапке ccl упоминается же
Ответы: >>806699
Аноним 27/07/16 Срд 09:11:11 806699
>>806640
Вот жеж. Спасибо.
Глупая штука - человеческое внимание. Перед сном глаза вообще бегают по двух-трём словам в начале абзаца.
Аноним 27/07/16 Срд 10:09:42 806719
(16Кб, 770x596)
Заебался я ждать по минуте, пока оно выплюнет ошибку, но, в общем, идея вот такая. Ежели кто-то осилит, то вбросьте сюда решение, что ли.
Аноним 27/07/16 Срд 11:21:48 806775
На чём удобнее умеренно байтоёбить: на лишпе, си или го?
Ответы: >>806790 >>807069
Аноним 27/07/16 Срд 11:51:32 806790
>>806775
На го. На лиспе ты особо не по-байтоебствуешь, а на си это будет сплошное байтоебство.
Аноним 27/07/16 Срд 19:52:40 807069
>>806775
Смотря что байтоебить
Ответы: >>808197
Аноним 28/07/16 Чтв 14:04:30 807461
>>786654
я такой хуйней не занимаюсь и называю по нормальному head и tail
Ответы: >>807513 >>807664
Аноним 28/07/16 Чтв 15:22:27 807513
>>807461
дебил
Аноним 28/07/16 Чтв 18:16:39 807664
>>807461
Откуда вы, блять, только лезете? Просто слов нет
Ответы: >>807714
Аноним 28/07/16 Чтв 18:58:26 807714
>>807664
Что не так в обычном разделении?
Аноним 29/07/16 Птн 09:10:16 808120
Лиспаны, возник вопрос, делаю интерпретатор Brainfuck'a и тут проблема с условными операторами. Все остальные опретаоры реализовано просто, считываем программу и получаем новое состояние на основе предыдущего и поданной команды. А вот как быть с "[" и "]" встретив их нужно либо идти дальше, либо перейти на соответствующую другую скобку. Собственно вопрос в том как перенестись на эту скобку. Условие если что: https://www.codewars.com/kata/my-smallest-code-interpreter-aka-brainf-star-star-k/train/clojure

Пока есть вот такое: http://pastebin.com/bByRfVKH
Аноним 29/07/16 Птн 09:33:07 808133
>>785486 (OP)
>гомоиконность
Проиграно
Аноним 29/07/16 Птн 11:07:09 808197
>>807069
Архиватор пытаюсь запилить. Есть прототип на питоне, хочу сделать быстрее.
Ответы: >>808536
Аноним 29/07/16 Птн 17:42:25 808536
>>808197
Тогда общелисп вполне подойдет. Для примера посмотри на код уже существующих библиотек
Аноним 30/07/16 Суб 14:37:58 809015
Пацаны, я вот неумно или умно начала свой погромистский путь с SICP, вкатился вроде как в Lisp, могу уже для себя что-то писать на CL, но... Меня смущает, что я абсолютно не знаю С, смотря на код я вообще не понимаю, что там происходит, какая-то борьба с байтами, контроль памяти, всякие непонятные хаки. Стоит ли во всем этот разбираться хоть сколько-то или лучше продолжать путь вглубь лиспа?
Аноним 30/07/16 Суб 19:19:30 809070
Есть что-нибудь покороче SICP, но так, чтоб не просто справочник, а чтобы можно было понять основные идеи и проникнуться ними?
Ответы: >>809082
Аноним 30/07/16 Суб 19:40:19 809082
>>809070
>SICP
>справочник
Только схему ты по нему не выучишь, плохой справочник.

>чтобы можно было понять основные идеи и проникнуться ними?
Предисловие!
Ответы: >>809198 >>815720
Аноним 31/07/16 Вск 00:28:12 809198
>>809082
>схему ты по нему не выучишь
Чому тогда оно в шапке написано?

>>809082
>Предисловие
К чему?
Ответы: >>809321
Аноним 31/07/16 Вск 09:46:56 809321
>>809198
>оно в шапке написано
Там с оговоркой написано. Схема там лишь как иллюстративное средство. Ты же не можешь выучить английский, просто читая английскую книгу, но по-любому начнешь кое-как в нём разбираться.

>К чему
К SICP.
Ответы: >>810370
Аноним 31/07/16 Вск 20:48:21 809885
Господа, почему этот код не работает? Писал так, как понял идею, перепечатывать, смотря в книгу, было бы долго.

https://ideone.com/AOB3LK
Ответы: >>810198
Аноним 01/08/16 Пнд 10:18:26 810198
>>809885
скобка не там стоит
https://repl.it/CiIH
Аноним 01/08/16 Пнд 14:51:05 810370
>>809321
Одного введения не достаточно ни для чего.
Ответы: >>810584
Аноним 01/08/16 Пнд 18:59:48 810584
>>810370
Чтобы понять основную идею достаточно.
Ответы: >>815410
Аноним 03/08/16 Срд 13:20:04 812100
У меня есть такой список: `((= ,=) (- ,-) ( ,) ...) ну вы понели, отображает символ в процедуру с идентичным именем.
Можно как-то сделать это автоматически, чтобы я мог вызвать (make-table '(= - * ...)) и оно само всё сгенерировало?
Ответы: >>812150 >>815728 >>816049
Аноним 03/08/16 Срд 14:17:11 812150
>>812100
(defun make-table (x)
(mapcar (lambda (y) `(',y ,y)) x))
так?
Ответы: >>812183
Аноним 03/08/16 Срд 15:14:07 812183
>>812150
Получается '(('= =) ('- -)), если я правильно перевёл на racket, а нужно '((= <procedure=>) (- <procedure->) (dat-pizdi <procedure>)).
Т.е. у меня есть список символов, которые также являются валидными именами процедур в текущем неймспейсе, мне надо сделать список пар, в котором первый элемент это символ, а второй элемент это сама процедура.
Ответы: >>812326
Аноним 03/08/16 Срд 18:01:15 812326
>>812183
(define (make-table x)
(map (lambda (x) (list x (eval x))) x))

((cadar (make-table '(+ - ))) 1 2 3)
((cadadadr (make-table '(+ -
))) 1 2 3)
((car (cdaddr (make-table '(+ - *)))) 1 2 3)
так?
Ответы: >>812334 >>815728
Аноним 03/08/16 Срд 18:12:28 812334
>>812326
Да! Лол, почему-то не додумался что eval так можно использовать. Спасибо.
Аноним 06/08/16 Суб 14:46:24 814692
Суп, лиспаны. Подскажите функцию, которая печатает определение функции. Общелисп.
Ответы: >>814707 >>815306 >>815726
Аноним 06/08/16 Суб 15:06:37 814707
>>814692
cout << __PRETTY_FUNCTION__ << endl;
Аноним 06/08/16 Суб 18:02:48 814860
Как вкатиться в метапрограммирование?
Аноним 06/08/16 Суб 19:36:01 814917
>clojure
Ну что, исправили уже семилетние баги?
Ответы: >>814919
Аноним 06/08/16 Суб 19:48:09 814919
>>814917
Это какие?
Ответы: >>814922
Аноним 06/08/16 Суб 19:53:27 814922
>>814919
семилетние
Аноним 07/08/16 Вск 11:01:53 815306
>>814692
Общелисп, кажется, не хранит сам код функции в метаинформации, а только его местоположение в исходнике.
А тебе зачем?
Ответы: >>815726
Аноним 07/08/16 Вск 12:59:12 815410
>>810584
"Программирование не для роботов-задротов, а для творческих людей" и т.д. и т.п.?
Ответы: >>815722
Аноним 07/08/16 Вск 19:29:17 815720
>>809082
>Только схему ты по нему не выучишь, плохой справочник.
Почему нет? В сикпе, по моему, нет только про трансформаторы синтаксиса (или есть?) и про call/cc (точно нет).
Аноним 07/08/16 Вск 19:30:18 815722
>>815410
Нет. Ты нихуя не понял. Вон из лиспача!
Ответы: >>819342
Аноним 07/08/16 Вск 19:33:50 815726
>>814692
>>815306
function-lambda-expression. Но то что она выдаст, зависит от имплементации.
Аноним 07/08/16 Вск 19:36:02 815728
>>812100
>>812326
eval не нужен. Для таких задач надо писать макросы.
Ответы: >>815996
Аноним 08/08/16 Пнд 09:50:37 815996
>>815728
болтовня ничего не стоит, покажите мне код.
Ответы: >>819725
Аноним 08/08/16 Пнд 11:31:36 816049
>>812100
http://ideone.com/PKatxy

Функцией:[code]
(defun make-table (&rest symbols)
(pairlis symbols (mapcar #'symbol-function symbols)))
[/code]

Макросом:[code]
(defmacro make-table-macro (&rest symbols)
`(list ,@(mapcar (lambda (symbol) `(cons ',symbol #',symbol)) symbols)))
[/code]
Аноним 10/08/16 Срд 19:01:53 817447
Короче, аноны, есть вопрос. По-русски в сети нихуя нет. По-английски есть крупицы (или же валуны, но я их не нашёл) информации и эти крупицы нихуя не понятны.

Такое дело, я хочу использовать лисп не Ъ-way в смысле запустил REPL и ебись, а unix-way, т.е. написал прогу, запускаешь её из баша и т.п.
Пока я не юзал библиотеки всё было охуенно. Просто использовал исходники как скрипты. А вот потом…

По порядку:
Поставил SBCL. Всё охуенно.
Допустим, с помощью quicklisp, установил cl-ppcre (regex'ы хочу) и readline (пиздец интерактивность нужна). Теперь если в самом начале проги писать (load "~/quicklisp/setup.lisp"), а потом ещё и (ql:quickload :cl-ppcre) (ql:quickload "cl-readline"), то начинается пиздец.

Во-первых, очень долгое время загрузки. Для проги работающей в реалтайме, инициализация в 6-8 секунд чувствуется.
Во-вторых, лишний вывод, который мне нахуй не сдался. "to load", "loading", "fukken loaded" во время этой самой загрузки.
В-третьих, если библиотеки не было на компе ранее, то во время инициализации лисп БУДЕТ ТЯНУТЬ ЕЁ ПО СЕТИ ЁБАНЫЙ В РОТ!

Поэтому я хочу задать пару вопросов.

По загрузке, как я понял, можно сохранять образ, правда весить он будет ёбать в рот. Хорошо. Как с помощью cl-launch сохранять образ?
Как от него же добиться поддержки quicklisp? (Потому что руки у меня из жопы растут, но как избежать использования setup.lisp, я не понял. Флаг -Q косячит, прога не выполняется.)
Да, cl версии 3.22.1.

Есть ли способ заткнуть ql:quickload? Что нибудь типа :quiet t?

Есть ли способ послать юзера нахуй и выйти с ошибкой, вместо выкачивания библиотек? Или загрузка образа решит эту проблему?

И вообще, если я забиваю гвоздь микроскопом, то буду рад, если кто носом ткнёт.
Ответы: >>817449 >>817454 >>817456
Аноним 10/08/16 Срд 19:03:50 817449
>>817447
> правда весить он будет ё
> ё
Точки лишние. Первый раз.
Аноним 10/08/16 Срд 19:11:05 817454
>>817447
Для твоих нужд roswell придумали. Им и скриптики выполнять можно, и образа сохранять (т.е. бинарники делать), и реализациями управлять.
Ответы: >>817470
Аноним 10/08/16 Срд 19:13:02 817456
>>817447
А если хочешь распространять в виде исходников и сразу с зависимостями, то для этого был какой-то из ql utils
Аноним 10/08/16 Срд 19:31:22 817470
>>817454
> roswell
Выглядит многообещающе, спасибо. Пойду покопаюсь.
Аноним 12/08/16 Птн 18:48:15 818702
Practical CL на русском есть в epub у кого?
Аноним 13/08/16 Суб 16:44:54 819193
Хочу максимально быстро вкатится в лисп. Чтобы уже завтра вечером мог на нём быструю сортировку писать. Что для этого надо?
Ответы: >>819199
Аноним 13/08/16 Суб 16:56:26 819199
>>819193
Надо emacs, slime, sbcl, clhs и pcl (ссылка в шапке)
Ответы: >>819217
Аноним 13/08/16 Суб 17:16:36 819217
>>819199
Не дружу с емаксом а остальное не понял. Прочитаю pcl вернусь. Может даже половины хватит
Ответы: >>819221
Аноним 13/08/16 Суб 17:27:21 819221
>>819217
clhs - common lisp hyperspec
sbcl - одна из основных опенсорсных реализаций
slime - расширение для емакса для разработки на общелиспе
>Не дружу с емаксом
А зря, других полноценных альтернатив не имеется. Хипсторы пытались для кложуры запилить аналог слайма, но получился очередной sublime, на том, кажется, и заглохло.
Советую попробовать spacemacs, он довольно удобен в использовании и настройке и более дружелюбен к новичкам.
Аноним 13/08/16 Суб 20:33:23 819342
>>815722
Программирование - это дружба магия?
Ответы: >>819725
Аноним 13/08/16 Суб 20:38:27 819346
(25Кб, 1274x960)
Здравствуйте, у меня есть один вопрос. У меня настроен емакс (на линуске, sbcl), но хуево, то есть, например, я написал программу, в этом же окне ее выполнил, например, и мне приходится при помощи комбинации ctrl+up возвращать ее, например, чтобы что-то исправить. А теперь сам вопрос: как настроить емакс так, чтоб было как в Ракете? Вот два скрина:
Первый - сам ракет, то есть в верхнее окно мы пишем программу. А в нижнее окно мы вызываем ее или еще что-нибудь делаем.
Второй - так, как я хотел бы настроить емакс, то есть: окно номер
1 - я пишу программу, больше оно ничем не занято.
2 - я тут вызываю эту программу или делаю еще какую-нибудь ебалу.
3 (не обязательно) - для вывода ошибок, например. Если так нельзя, чтоб оно вылезало при ошибке, то, например, второе окно заменяется на ошибочное.
Буду рад любой помощи и советам, ибо в программирование и лисп вкатился недавно, тяжковато еще, хочется хорошей среды, так сказать.
Ответы: >>819348 >>819349
Аноним 13/08/16 Суб 20:38:52 819348
(4Кб, 1024x600)
>>819346
отклеился второй пик
Аноним 13/08/16 Суб 20:42:08 819349
>>819346
А разве по выполнению s-expr по C-e оно не выдает вывод в отдельном буфере?
Ответы: >>819358
Аноним 13/08/16 Суб 21:01:13 819358
(38Кб, 1024x600)
>>819349
Кажется, нет. Или я чего-то не понимаю.
Ответы: >>819359
Аноним 13/08/16 Суб 21:03:07 819359
>>819358
Ты можешь набирать команды в отдельном буфере и отправлять их на исполнение в REPL, который может быть скрыт или существовать вдругом буфере. В вики должно быть что-то такое.
Ответы: >>819378 >>819394 >>819398
Аноним 13/08/16 Суб 21:36:06 819378
>>819359
Не особо понимаю, если честно.
А в какой вики?
Аноним 13/08/16 Суб 21:59:41 819394
>>819359
Что-то типа как тут? Только тут elisp.
https://www.youtube.com/watch?v=35EcPapMqOU[РАСКРЫТЬ]
Аноним 13/08/16 Суб 22:15:34 819398
>>819359
Все, спасибо, я разобрался. Надо было создавать файл, потом открывать slime, после чего компилировать файл и уже там все работает.
Но только я не особо понял, как бегать по директориям с M-x, чтоб выбирать и создавать файлы.
Ответы: >>819402 >>819441
Аноним 13/08/16 Суб 22:21:48 819402
>>819398
И с этим уже разобрался, вроде вопросов больше нет. Пока что.
Ответы: >>819441
Аноним 14/08/16 Вск 04:32:14 819441
>>819402
>>819398
Вот все бы так. EmacsWiki.
Осваивай API емакса, сможешь тогда настроить как захочешь. Оно реально простое.
Ответы: >>819557
Аноним 14/08/16 Вск 06:40:33 819468
Решил тут въебать Емакса и насколько же он удобнее Вима оказался, я охуел: один режим, удобный установщик плагинов и, конечно же, святой Лишп для конфигов.
Ответы: >>819725
Аноним 14/08/16 Вск 10:09:57 819557
>>819441
Поосто-то оно просто, но займет довольно много времени и сил, либо так и останется недонастроенной недоделкой. Поэтому ставьте спейсмакс и будет вам счастье
Ответы: >>819573 >>819587 >>819592
Аноним 14/08/16 Вск 10:25:44 819573
>>819557
И в чем же плюсы спейсмакса тогда?
Аноним 14/08/16 Вск 10:43:14 819587
>>819557
Если представляешь, какими сущностями можешь оперировать, то некоторые вещи, причиняющие неудобство, сможешь исправить скриптом на пятнадцать строк, написав и отладив его за пятнадцать же минут.
Вот мой юзкейс: собирается сишный проект, результаты компиляции выводятся в один из открытых буферов, да в нем и остаются.
Я написал простейшую функцию, которая проверяет, были ли открыты раньше буферы в window, и если были, то показать последний в случае присутствия регекса в текущем буфере. Повесил это на нужный хук, и мне норм.
Емакс для того и существует, чтобы его кастомизировали под себя в мелких и крупных аспектах. Искать сборочку, которая предскажет все твои нужды - путь, ведущий в никуда (к метанию между сборочками и страданию в границах выбранной).
Аноним 14/08/16 Вск 10:45:50 819592
>>819557
В емаксе решено за тебя множество типичных задач. Все, что тебе нужно сделать - использовать его гибкость для того, чтобы использовать эти решения наиболее удобным способом в данный момент.
Ответы: >>819632
Аноним 14/08/16 Вск 11:37:53 819632
>>819592
Вот тебе типичная повседневная задача: открыть файл. То, что предлагает голый емакс, мягко говоря, не слишком удобно. Что делают все нормальные люди? Прикручивают helm или ido (хотя, на самом деле они сначала кушают кактус, затем случайно или не совсем узнают про одну из альтернатив, а потом уже прикручивают). Что сделано в спейсмаксе? Прикручено, оформлено в виде модуля отдельного модуля (да, кстати, спейсмакс предоставляет удобную систему модулей, которой так не хватает емаксу, наколеночный аналог которой писал каждый когда-либо настраивавший), который при активации подтягивает нужные зависимости, решены все известные проблемы с интеграцией или просто косяки, которые автор не хочет исправлять (больше не нужно шерстить emacswiki и so в поисках заветного куска кода), настроены все клавиатурные сочетания в соответствии с договоренностью для поддержания однообразия и целостности (мало кто сам станет заморачиваться переназначением хоткеев и, тем более, продумыванием принципа их назначения, ведь проще забить и привыкнуть, что в одном режиме действие совершается с помощью C-c C-r, в другом C-x C-e, а в третьем вообще не забинжено), и все это поддерживается сообществом в актуальном состоянии, что, согласись, тоже не маловажно, т.к. следить за экосистемой емакса, за всеми изменениями в пакетах - задача весьма трудозатратная. В спейсмаксе весь этот муторный пороцесс настройки сводится к активации слоя (модуля т.е.) и настройки через M-x customize-...
А возможность напедалить одноразовую функцию никуда не денется.
Ответы: >>819725
Аноним 14/08/16 Вск 13:41:25 819717
(79Кб, 631x508)
(30Кб, 485x276)
А CLIM-то этот, оказывается, работает https://common-lisp.net/project/mcclim/posts/CLIM-the-galaxys-most-advanced-graphics-toolkit.html
И вовсе не такой страшный, как его некоторые малюют. Надо будет попробовать что-нибудь запилить на нем.
Аноним 14/08/16 Вск 13:54:16 819725
>>815996
Что-то я твоего кода здесь тоже не вижу.
>>819342
Два удара томиком сикп по башке! Думай!
>>819468
>насколько же он удобнее Вима оказался, я охуел: один режим
>удобнее
>один режим
Какие странные представления об удобстве.
>>819632
Болтовня ничего не стоит. Покажите мне текстовый редактор. Не этот комбайн, в котором даже для нормального открывания файлов нужны костыли.
Ответы: >>819729 >>819742
Аноним 14/08/16 Вск 13:59:26 819729
>>819725
>Покажите мне текстовый редактор.
/usr/bin/sed
Ответы: >>819733
Аноним 14/08/16 Вск 14:04:38 819733
>>819729
Такая-то годнота. Спасибо, анон.
Аноним 14/08/16 Вск 14:19:55 819742
>>819725
>Какие странные представления об удобстве.
Виммера забыли спросить.
Ответы: >>819756
Аноним 14/08/16 Вск 14:34:02 819756
>>819742
А он взял и ответил.
Аноним 14/08/16 Вск 14:57:15 819781
>>819776
Не пизди, это не лиспоконфа.
Ответы: >>819797
Аноним 14/08/16 Вск 15:18:32 819797
>>819781
Что там за ширусы?
>>819776
>дискорд
Шо це? Жаббер для хипсторов неосиляторов?
Ответы: >>819799
Аноним 14/08/16 Вск 15:19:22 819799
>>819797
Он самый.

Там фронтенд-конфа, лол.
Ответы: >>819824 >>821090
Аноним 14/08/16 Вск 15:43:58 819824
>>819799
А нормальных клиентов для этой йобы нема?
Ответы: >>821090
Аноним 14/08/16 Вск 16:59:01 819877
(90Кб, 998x858)
>>785486 (OP)
Писать собственные диалекты лиспа на каком-нибудь другом языке охуенно весело. Рекомендую.
Ответы: >>819962
Аноним 14/08/16 Вск 18:47:24 819962
>>819877
Я тут пытался сделать интерпретатор арифметических s-выражений и обосрался в общем, не осилил, чувствую себя немощным уёбком. В СИКП про это написано?
Ответы: >>819995 >>820006
Аноним 14/08/16 Вск 19:25:10 819995
>>819962
Да. Там так и написано: "кто не осилил интерпретатор арифметических s-выражений, тот немощный уёбок"
Ответы: >>820003
Аноним 14/08/16 Вск 19:41:52 820003
>>819995
Спасибо, бро, пошёл изучать!
Аноним 14/08/16 Вск 19:49:45 820006
>>819962
Я не ебу - СИКП я еще не читал. Парсер пишется элементарно, в интепретации самое сложное - реализация объявлений функций (чтобы со scopes не обосраться) и правильно сделанные специальные операторы. Сделал на Lua за два дня.
Аноним 14/08/16 Вск 22:36:31 820085
(85Кб, 1024x600)
Привет всем. У меня снова проблемка. Я вот написал простую игру про жизнь, где надо вводить одну из двух букв. И с каждым ходом возраст увеличивается на 1. Сделал проверку на буквы, это все получилось. Но как сделать так, чтобы если я ничего не ввел, то у меня задавался заного вопрос о том, какую я букву хочу ввести, при этом возраст не менялся. Т.к. сейчас, если введу не "m" или "e", то просто возраст становится на один год больше.
Вот скрин - выделенна строка, куда хотелось бы возвращаться, если не была введена одна из двух этих букв.
Ответы: >>820108
Аноним 15/08/16 Пнд 00:56:32 820108
>>820085
Можно циклом обернуть, можно и как рекурсивную функцию написать, а можно и так:
[code lang=lisp](tagbody
(format t "Money or energy? [m or e]")
loop
(switch ((read-line) :test #'string=)
("m" (incf money (- (rand 30 100)
(rand 10 50)))
(decf energy (rand 2 1)))
("e" (incf energy (rand 2 1))
(decf money (rand 10 70)))
(t (format t "Nu i čo za hujnju ty vvel? Davaj ješče razok [m or e]")
(go loop))))

(defun rand (range &optional (start 0))
(+ start (random range)))
[/code]

Чтобы чуть облагородить код, избавив его от излишнего шума, можно обернуть всё это дело в макрос:
[code lang=lisp] (menu "Money or energy?"
("m" (incf money (- (rand 30 100)
(rand 10 50)))
(decf energy (rand 2 1)))
("e" (incf energy (rand 2 1))
(decf money (rand 10 70)))))
[/code], который можно реализовать примерно так:[code lang=lisp]
(defmacro menu (question &body clauses)
(with-gensyms (loop)
`(tagbody ,loop
(write-line
,(format nil "~a (~{~a~#[~; or ~:;, ~]~})" question
(mapcar #'first clauses)))
(switch ((read-line) :test #'string=)
,@clauses
(t (go ,loop))))))
[/code]

Макросы switch, with-gensyms из библиотеки alexandria
Ответы: >>820185 >>820374 >>820526
Аноним 15/08/16 Пнд 07:36:11 820185
>>820108
Ох, спасибо большое, анон. Конечно, тяжковато для моего уровня, но я щас попытаюсь разобраться
Ответы: >>820374
Аноним 15/08/16 Пнд 12:31:33 820374
(82Кб, 1024x600)
>>820108
>>820185
Короче, не знаю как, но дописав вот эти строки у меня все заработало. Странно то, что если не использовать if после loop, то баг остается, а с этим if все работает нормально.
Ответы: >>820526
Аноним 15/08/16 Пнд 15:34:11 820526
>>820374
Честно говоря, лень разбираться в том коде. Возможно, ты там просто объебался со скобками.
[code lang=lisp]
(loop do (format "Money or energy? (m or e)~%")
for ans = (read-line)
until (cond ((equal "m" ans) (prog1 t
(setf money ...)))
((equal "e" ans) (prog1 t
(setf money ...)))
(t nil)))
[/code]
Вот как-то так можешь написать. Раскроется loop в примерно такую же портянку из tagbody, как тут >>820108
Аноним 15/08/16 Пнд 15:56:05 820546
hh.ru/vacancy/18066368
только погуглите сначала о crossover
Аноним 15/08/16 Пнд 18:30:37 820655
>>803233
slime vs sly
Кто пробовал обе? Что скажете?
Аноним 16/08/16 Втр 12:35:28 821047
Как с помощью sbcl исходники компилировать? Не могу в емаксе работать.
Ответы: >>821058 >>821320 >>821492
Аноним 16/08/16 Втр 12:50:48 821058
>>821047
Пока делаю как тут http://stackoverflow.com/questions/9055589/how-can-i-run-sbcl-code-under-a-unix-like-operating-system-in-a-convenient-way но он не делает исполняемы файл.
Ответы: >>821492
Аноним 16/08/16 Втр 13:33:07 821090
>>819799
>>819824
Чуваки, киньте инвайт в конфу.
Аноним 16/08/16 Втр 17:02:18 821214
Читаю pcl и не понимаю когда писать кавычку. Что ещё про это почитать?
Ответы: >>821305 >>821492
Аноним 16/08/16 Втр 18:55:21 821305
>>821214
А что не понятного то?
Хочешь переменную/функцию не пишешь кавычку. Хочешь символ пишешь кавычку.
Аноним 16/08/16 Втр 19:13:34 821320
>>821047
Ты себя хочешь лишить одного из основных преимуществ лиспа - интерактивной разработки?
Ответы: >>821369 >>821374
Аноним 16/08/16 Втр 19:58:51 821369
>>821320
Там даже подсветки синтаксиса нет. Я просто не могу с этим емаксом справиться
Ответы: >>821406
Аноним 16/08/16 Втр 20:01:27 821374
>>821320
Ты хотел сказать единсвенного?
Ответы: >>821376 >>821406
Аноним 16/08/16 Втр 20:02:05 821376
>>821374
единственного *
Аноним 16/08/16 Втр 20:40:31 821406
>>821369
Так выше же советовали spacemacs, где уже все настроено.
>>821374
Ну, нет, таки не единственного.
Аноним 16/08/16 Втр 22:00:06 821440
Какая книга лучше: ANSI Common Lisp или PCL? Сейчас изучаю по ANSI, но там раздражают примеры больших программ авторов - не понимаю их.
Стоит ли дальше учить по ней или перекатиться на PCL, пока тут много не изучил?
И насчет программ - это я дурачок или со временем буду понимать?
Ответы: >>821492
Аноним 17/08/16 Срд 04:04:29 821492
>>821047
>Не могу в емаксе работать.
vim + slimv
>>821440
Грэма читай, "On Lisp".
>>821214
Когда нужно само выражение, а не результат его вычисления.
>>821058
(sb-ext:save-lisp-and-die "a.out" :executable t :toplevel #'main))
Ответы: >>821515
Аноним 17/08/16 Срд 06:09:02 821515
>>821492
Не слушай этого наркомана. On Lisp вообще не для новичков. Если опыт вообще есть, читай PCL. Если совсем мало, читай The Land of Lisp
Ответы: >>821581
Аноним 17/08/16 Срд 08:29:29 821576
Когда объявлять макрос а когда функцию?
Ответы: >>821647
Аноним 17/08/16 Срд 08:50:01 821581
>>821515
PCL вообще не раскрывает сути CL. Замени лисп на какой-нибудь жс и не изменится ничего. Пересказ стандарта, вперемешку с посредственными примерами кода, как в 90% беллетристики по языкам программирования. On Lisp как раз из тех 10%. Еще Paradigms of Artificial Intelligence Programming, как учебник по ии в 2016 году не актуально, но как книга по лиспу вполне ничего.
>Если совсем мало, читай The Land of Lisp
Если совсем мало, то пусть не забивает мозги лиспом, пока не осилит сикп, ctm, htdp и далее по списку.
Ответы: >>821645
Аноним 17/08/16 Срд 10:09:54 821631
> (let ((i 0)(k 0)) (and (= i 0) (= k 0)))
работает
> (do ((i 0) (k 0)) (and (= i 0) (= k 0))())
Unbound variable: AND
Ответы: >>821635
Аноним 17/08/16 Срд 10:14:57 821635
>>821631
Ясно. прочитай еще раз синтаксис do
Ответы: >>821636
Аноним 17/08/16 Срд 10:16:56 821636
>>821635
Ой а теперь зацикливание. Как остановить?
Ответы: >>821651
Аноним 17/08/16 Срд 10:36:14 821645
>>821581
Полностью удваиваю насчет onlisp.
А что касается PCL, да, он не расскрывает сути, но как быстрое введение неплох.
Аноним 17/08/16 Срд 10:38:13 821647
>>821576
Всегда объявляй функцию, кроме тех случаев, когда без макроса уже не обойтись.
Аноним 17/08/16 Срд 10:49:45 821651
>>821636
Ctrl+C
Аноним 17/08/16 Срд 10:50:30 821652
Ладно, спасибо за ответы, тогда еще раз подумаю, что читать.
Аноним 18/08/16 Чтв 18:28:00 822773
Посоны, це баг в sbcl что ли?
>(get-setf-expansion '(values x y))
=> NIL,
   NIL,
(#:NEW1 #:NEW1),
(VALUES (SETQ X #:NEW1) (SETQ Y #:NEW1)),
(VALUES X Y)
Ответы: >>822783
Аноним 18/08/16 Чтв 18:41:38 822783
>>822773
print-circle включи
Ответы: >>822788
Аноним 18/08/16 Чтв 18:52:07 822788
>>822783
А, они uninterned
Аноним 18/08/16 Чтв 19:36:04 822817
>>822807
Ширусы небось какие
Ответы: >>822832
Аноним 18/08/16 Чтв 20:01:48 822832
>>822817
Чувак, ты помнишь адрес конфы, который сюда раньше кинули?
Аноним 18/08/16 Чтв 21:50:34 822878
Анончики, я спарсенный перевод PCL у себя на харде нашёл, может кому пригодится для локального просмотра http://rgho.st/76bKdnJm4
Аноним 20/08/16 Суб 16:31:47 824048
Поймал себя на мысли, что не понял до конца, как работает переворачивание списка. Алгоритм добавляет в голову списка из первого элемента перевернутый хвост. В результате получается нечто такое для списка (1 2 3):

(display (append (list (caddr x)) (append (list (cadr x)) (append (list (car x)) '()))))

Здесь в самом конце я добавляю пустой список: (append (list (car x)) '())), но при рекурсивных вызовах функции reverse пустой список возвращается только когда достигнута база рекурсии. То есть пустой список вставляется в начало получившегося списка:

(append (()) (append (3) (append (2) (append (1)))))

Я нихуя не понял, как так получается? Куда вставляется '(), возвращенный из reverse?



https://ideone.com/eLQat3
Ответы: >>824063
Аноним 20/08/16 Суб 17:02:46 824063
>>824048
Ох уж эти люди не могущие в рекурсию.
По аналогии с математической индукцией:
База рекурсии: переворот пустого списка - будет пустой список.
Шаг рекурсии: перевернуть список из n элементов - это вставить голову в конец перевёрнутого хвоста (списка из n - 1 элементов) (append добавляет элементы именно в хвост да-да)
Ответы: >>824092
Аноним 20/08/16 Суб 17:22:38 824092
>>824063
Ты слишком абстрактно говоришь, и на таком уровне я понимаю рекурсию и могу провести аналогию с мат. индукцией. Но я байтоеб, и меня мучает вопрос: куда девается пустой список, который функция возвращает после достижения базы рекурсии? Мне хочется понимать все на самом низком уровне.
Ответы: >>824117
Аноним 20/08/16 Суб 17:52:03 824117
>>824092
Читай как действует append. Она вставляет не список а элементы из списка. Поэтому в reverse ты пишешь (append (reverse (cdr xs)) (list (car xs))))), а не просто (append (reverse (cdr xs)) (car xs))). Поэтому, так как список пустой, то он не содержит элементов и следовательно после это операции будет очищен GC.
Ответы: >>824122
Аноним 20/08/16 Суб 17:56:51 824122
>>824117
Понял. Когда в исходном списке встречен nil, в append передается пустой список и только что сконструированный перевернутый список, который сразу же возвращается из append.
Аноним 20/08/16 Суб 21:16:05 824305
Расскажите про рестарты.
Что будет, если в хендлере бросить ошибку?
Ответы: >>825369
Аноним 21/08/16 Вск 22:38:38 824810
Как научить рисовалки из SICP что-то рисовать?
Ответы: >>824987 >>826972
Аноним 22/08/16 Пнд 10:12:33 824987
>>824810
погугли svg
реализуй функцию draw-line так, чтобы она выводила svg текст в файл/stdout
радуйся
Аноним 22/08/16 Пнд 15:42:53 825187
Лиспаны. Конвертнул тут немного сишного кода из книжки по ИИ.
Решение задачи N-ферзей методом отжига: https://ideone.com/MTba5u

И чет мне очень не нравится как получилось. Я бы даже сказал, что я прям разочаровался в лиспе.

Может я просто не умею его готовить? Покажите как надо.
Ответы: >>825364 >>825399 >>826976
Аноним 22/08/16 Пнд 18:48:02 825364
>>825187
>из книжки по ИИ
Дай-ка книжку.
Ответы: >>825389
Аноним 22/08/16 Пнд 18:53:09 825369
>>824305
Тут только списки переворачивают, а про рестарты никто не знает?
Аноним 22/08/16 Пнд 19:21:14 825389
>>825364
У меня бумажная: https://www.ozon.ru/context/detail/id/19482525/
Аноним 22/08/16 Пнд 19:38:12 825399
>>825187
Еще у меня бомбит от CLOS.
Она конечно дохуя навороченная, но пиздец какая неудобная.
Хуй с ней с CLOS. Хочу простой способ структирования данных.
Ответы: >>826977
Аноним 22/08/16 Пнд 19:45:43 825404
Еще вот че мне объясните. В стандартной императивной-объектной параше, за счет точечной нотации автодополнение легко получает контекст:

var s = "shit"
s.c [ автодополнение дает все что можно сделать со строкой ]

А в лиспе че делать?
(setq s "shit")
(???? хуле сделать чтобы получить список функций, который работают со строкой?)
Аноним 25/08/16 Чтв 08:16:58 826972
>>824810
Я в racket использовал либы какие-то для рисования по окну.
Кстати, закончил вчера сикп. Работы нет, придётся идти шлёпать круды и всё забыть.
Аноним 25/08/16 Чтв 08:25:49 826976
>>825187
Твой код можно прилично сократить, если чуть-чуть переструктурировать код и воспользоваться батарейками (хотя бы александрией, а может быть и даже йобой вроде cl21). Стандартная библиотека у общелиспа-то неплохая, но лишь для своего времени, поэтому если каждый начинающий хаскелятор пишет свою статью "что такое монады", то лиспер - свою библиотеку утилиток.
Пишу с котелка, так что примеров кода в ближайшее время не жди.
Ответы: >>827298
Аноним 25/08/16 Чтв 08:26:35 826977
>>825399
defstruct
Ответы: >>827298
Аноним 25/08/16 Чтв 19:19:19 827298
>>826976
Понятно что можно, нужен пример.
>>826977
Заюзал для Adaptive resonance theory. Зависимость есть, брат жив.
Аноним 31/08/16 Срд 08:56:36 831864
В общелиспе, если функцию передавать как параметр, её можно вызвать только через funcall или можно проще?

(defun (x func) (funcall func x))

Почему это не работает?

(defun (x func) (func x))

нуфаг
Ответы: >>831869 >>832101
Аноним 31/08/16 Срд 09:03:07 831869
>>831864
(defun my-func (x func) ...

фикс
Ответы: >>832101
Аноним 31/08/16 Срд 10:57:57 831931
Алсо, как запушить результат фукнции в список? Так не работает:

(defvar a '())
(push a (funcall my-func 4))
Ответы: >>831933 >>831946
Аноним 31/08/16 Срд 10:59:56 831933
>>831931
(push a (funcall #'my-func 4))

опять фикс
Ответы: >>831946
Аноним 31/08/16 Срд 11:38:06 831946
>>831931
>>831933
Разобрался, ебать я лох.
Аноним 31/08/16 Срд 14:55:28 832101
>>831864
>>831869
С этим тоже всё понял, спасибо, лиспаны!
Ответы: >>832512
Аноним 31/08/16 Срд 22:12:48 832512
>>832101
Поставь себе на монитор желтую уточки и разговаривай с ней.
Аноним 06/09/16 Втр 16:33:33 836681
Напишите физбуз
Ответы: >>836689 >>836828
Аноним 06/09/16 Втр 16:39:48 836689
>>836681
[(i % 15 == 0 and "Fizzbuzz") or (i % 3 == 0 and "Fizz") or (i % 5 == 0 and "buzz") or i for i in range(1, 101)]

Мимо питоносударь
Ответы: >>836702
Аноним 06/09/16 Втр 16:48:07 836702
>>836689
Без деления на 15. Это некрасиво.
Аноним 06/09/16 Втр 19:11:20 836828
>>836681
АЗАЗА
(macrolet ((fizzp (i) `(zerop (mod ,i 3)))
(bazzp (i) `(zerop (mod ,i 5))))
(loop for i from 1 below 101
collect (cond ((and (fizzp i) (bazzp i)) 'fizzbuzz)
((fizzp i) 'fizz)
((bazzp i) 'bazz)
(t i))))
Ответы: >>837880
Аноним 07/09/16 Срд 12:13:05 837246
Вакансию вам нашёл: https://hh.ru/vacancy/17758171
Аноним 07/09/16 Срд 15:02:30 837417
>>785486 (OP)
На связи сыч 26 лет, провинциал. Сейчас готовлюсь к языковому вузу уровня ДС. По ходу забросил компьютерные игры, и потому появилось достаточно свободного времени, чтобы кроме подготовки к поступлению заняться каким-нибудь ЯП. Ибо хочу на втором курсе попасть на стажировку в ABBY.

Выбор пал на функциональщину, потому что функциональный подход к функциям похож на математический + LISP исторически применялся при обработке символьной информации.

Хочу надрочиться на анализ языка, засим вопросы:

1) Какой диалект больше подходит для работы с языком (наличие готовых библиотек с открытым исходным кодом, средства языка, макросы, etc.)?
2) Какой диалект лучше поддерживает GTK на случай если я хочу задрочиться на графические интерфейсы?
Ответы: >>837424 >>837618
Аноним 07/09/16 Срд 15:14:36 837424
>>837417
Нам на прикладной лингвистике питон давали, в вышке тоже его же учат, не думаю, что в абби пишут на лиспе.
Ответы: >>837612
Аноним 07/09/16 Срд 17:57:37 837612
>>837424
Спасибо за пояснение.

Я по жизни хочу быть скорее переводчиком, и программирование рассматриваю как средство создания приложений под свои нужды (существующие CAT меня не удовлетворяют).

К python не подойду и с десятифутовым копьем. Pure C one love.
Ответы: >>837619
Аноним 07/09/16 Срд 18:02:52 837618
>>837417
Выбирай:
https://github.com/dakrone/clojure-opennlp
https://github.com/vseloved/cl-nlp

Разумеется, ты сможешь использовать другие популярные либы на С/С++ в Common Lisp и Java в Clojure.
Для Javа на первый взгляд больше либ, так что навскидку посоветовал бы Clojure.
Аноним 07/09/16 Срд 18:03:24 837619
>>837612
Ну тогда учи, что больше нравится. А питон норм язык, со строчками удобно работать, я его для курсовика юзал. И да это странно, что ты хочешь учить лисп, если любишь сишку, это же вообще разные парадигмы.
Ответы: >>837631
Аноним 07/09/16 Срд 18:20:44 837631
>>837619
>И да это странно, что ты хочешь учить лисп, если любишь сишку, это же вообще разные парадигмы.

Ничего странного.

C хорош для написания сравнительно низкоуровневого кода - ввод-вывод в файлы, взаимодействие с операционкой (особенно в *nix).

LISP мне кажется лучшим вариантом для описания логики приложения в целом, плюс я считаю что C дает слишком много возможности выстрелить себе в ногу.
Аноним 08/09/16 Чтв 07:13:31 837880
>>836828
(dotimes (x 100)
(format t "~&~[fizz~:;~[~:;~d~]~:*~]~[buzz~]"
(mod x 3) (mod x 5) x))
https://ideone.com/SGld11
Ответы: >>837882 >>838562
Аноним 08/09/16 Чтв 07:18:19 837882
>>837880
У вас абстракция протекла, мы вам перезвоним.
Ответы: >>837889
Аноним 08/09/16 Чтв 07:27:11 837889
>>837882
Не надо, я вам сам позвоню
Аноним 08/09/16 Чтв 20:25:10 838562
>>837880
Это настолько плохо, что даже петон лучше.
Аноним 09/09/16 Птн 10:30:45 838873
Аноны, какая самая годная библиотека для рисования 2д-графики под Общелисп?
Ответы: >>839089
Аноним 09/09/16 Птн 16:14:09 839089
>>838873
Смотря что именно тебе нужно.
Погляди, например, sketch - https://github.com/vydd/sketch я ей сам не пользовался, но выглядит вроде неплохо. В качестве бекенда там cl-sdl2.
Для рисования разовых изображений подойдет vecto - http://www.xach.com/lisp/vecto/
Аноним 24/09/16 Суб 14:16:49 847397
Чего затихли, лиспаны?
Ответы: >>847400
Аноним 24/09/16 Суб 14:26:00 847400
>>847397
Разочаровались в лиспе.
Ответы: >>847402
Аноним 24/09/16 Суб 14:28:41 847402
>>847400
Может быть, просто не то в нем искали?
Ответы: >>847404
Аноним 24/09/16 Суб 14:30:56 847404
>>847402
Как сказал кто-то из опрошенных Питером в Coders at work — читаемость имеет значение.
Ответы: >>847410
Аноним 24/09/16 Суб 14:37:51 847410
>>847404
Читаемость у лиспа нормальная.
Я про другое. Например я в свое время разочаровался в лиспе, потому что ожидал увидеть ФЯП вроде хаскеля, а получил то, что получил. Это позже уже познал все прелести лиспа...
Ответы: >>847414
Аноним 24/09/16 Суб 14:49:07 847414
>>847410
Читаемость по сравнению с любой императивной парашей ужасная.
(do-shit-with-shit shit)
Вместо shit.do()
Ответы: >>847438
Аноним 24/09/16 Суб 15:56:08 847438
>>847414
Ну, скобки снаружи, скобки внутри - на читаемость это не влияет, скорее дело привычки. В остальном же читаемость не хуже других языков, а при применении едслей даже выше за счет снижения количества семантического шума.
>do-shit-with-shit
Не очень понимаю, что ты этим хотел сказать. В CLOS множественная диспетчеризация, поэтому никаких методов do-shit-with-shit не возникает.
Ответы: >>847440
Аноним 24/09/16 Суб 16:04:08 847440
>>847438
Проблема втом, что приходится писать как заике.
(file-open file)
(fuck-woman woman)
(lisp-sucks lisp)
Ответы: >>847442
Аноним 24/09/16 Суб 16:09:59 847442
>>847440
>file-open
О чем ты?
http://www.lispworks.com/documentation/HyperSpec/Body/f_open.htm
Ответы: >>847444
Аноним 24/09/16 Суб 16:18:38 847444
>>847442
А теперь то же самое для кастомной структуры/класса напиши.
Ответы: >>847445
Аноним 24/09/16 Суб 16:21:03 847445
>>847444
Что именно? Изъясняйся нормально, я чужие мыслитчитать не умею.
Ответы: >>847448
Аноним 24/09/16 Суб 16:29:54 847448
>>847445
Вот такое напиши:
class Point {
x int
y int
}
p = Point(3, 4)
p.distanceTo(Point(4, 5))
Ответы: >>847456 >>847485
Аноним 24/09/16 Суб 17:01:47 847456
>>847448
(defstruct (point (:constructor point (x y))
x y)

(distance (point 3 4) (point 4 5))
Ну и?
>distanceTo
Неидиоматично для объектных систем с множественной диспетчеризацией, т.к. методы не принадлжат классам
Ответы: >>847459
Аноним 24/09/16 Суб 17:04:49 847459
>>847456
А теперь вопрос, каким раком я должен узнать какой набор методов работает для структуры point?
В языке с нормальным синтаксисом, когда я ставлю точку после имени объекта, редактор может сказать мне что я могу с этим объектом сделать. В лиспе я должен знать это наизусть.
Ответы: >>847467 >>847489
Аноним 24/09/16 Суб 17:20:43 847467
>>847459
Научиться пользоваться слаймом, очевидно. Попробуй натравить инспектор на какой-нибудь класс - будет тебе и список методов, и прочая метаинформация.
Ну а ещё не надо пытаться тянуть свои привычки в совершенно другой язык. Вот допустим есть у тебя объект fixnum, есть некий интерфейс, в котором имеется метод distance из прошлого примера, который специализирован в т.ч. и для fixnum (например distance fixnum point), а ещё есть другой интерфейс доя совершенно иной предметной области, в котором тоже присутствует метод, специализированный для fixnum. И подумай теперь, какую даст список всех доступных методов для твоего объекта.
Ответы: >>847475
Аноним 24/09/16 Суб 17:33:08 847475
>>847467
Да ты сам то понимаешь насколько это неудобно?
Нажал точку, вылезло автодополнение.
Ты получаешь узкий список доступных методов = не надо их помнить, не опечатаешься.

В общем не зря оно все почти подохло. Да есть крутые идеи, но по факту оно неудобное, непрактичное и репл не такой волшебный, как кажется пока конфетно-букетный период не закончился.
Ответы: >>847494
Аноним 24/09/16 Суб 17:53:14 847485
>>847448
>p.distanceTo(Point(4, 5))
это же убого
Ответы: >>847491
Аноним 24/09/16 Суб 18:02:53 847489
>>847459
явадебил/10
Ответы: >>847491
Аноним 24/09/16 Суб 18:11:26 847491
>>847485
>>847489
Не бомбите, ребитишки. Единственное место, где лисп прочно занял своё место, это emacs.
Ответы: >>847492
Аноним 24/09/16 Суб 18:12:41 847492
>>847491
Ну clojure же выстрелил

мимо
Аноним 24/09/16 Суб 18:15:49 847494
>>847475
>Да ты сам то понимаешь насколько это неудобно?
Нет. Вот что-что, а с автокомплитом неудобств не замечал. Твои недовольства даже заставили задуматься, а что же помогает обходиться без жавастайл автокомплта по точке. Может быть то, что интерфейсы более лаконичные, поэтому методы сразу запоминаются, или, может быть, аккуратная рассованность по пакетам выручает, или соглашение об именовании методов. Точно сказать не могу.
>не опечатаешься
Со слаймом ты и так не опечатаешься.
>В общем не зря оно все почти подохло.
Подохло - это когда не развивается. Про общелисп такого точно не скажешь. Сравнить хотя бы состояние экосистемы сейчас и пять лет назад.
>и репл не такой волшебный
Дай угадаю, ты код прямо в репл и писал? Если да, то естественно что тебя не впечатлило, ведь интерактивного программирования ты не попробовал, а писать/копировать в репл - удовольствие сомнительное. Если нет, то странно, потому что изменение кода на лету, работа с живыми данными существенно ускоряет обратную связь, что в свою очередь дает бóльшую волю для экспериментов да и просто ускоряет разработку.
Ответы: >>847495
Аноним 24/09/16 Суб 18:19:08 847495
>>847494
Я написал около 10 небольших проектов на CL (1000-3000 sloc), плюс постоянно на elisp'е что-то пишу.

По началу мне нравилось кушать кактус, но теперь я в нем разочаровался.
Ответы: >>847497
Аноним 24/09/16 Суб 18:22:24 847497
>>847495
Покажи код. Скорее всего, ты просто неправильно его использовал. Как я когда-то, когда пытался писать на общелиспе в хаскелстайле
Ответы: >>847501
Аноним 24/09/16 Суб 18:28:14 847501
>>847497
А смысл? Суть в том, что язык должен понравится сам по себе. Его должно быть приятно использовать. Если этого не случилось естественным путем, нет смысла заставлять себя.
Ответы: >>848375
Аноним 29/09/16 Чтв 13:50:39 848375
>>847501
Разве язык виноват, когда слишком умные питонисты пытаются писать на хаскеле в привычном им императивном стиле или сишники на крестах/яве как на си с классами, а потом охуевают от говености полученного кода?
Ответы: >>848795
Аноним 30/09/16 Птн 22:16:24 848795
>>848375
Язык не виноват. Он просто хуже альтернатив, поэтому загибается/непопулярен.
Ответы: >>848859 >>848860
Аноним 01/10/16 Суб 08:39:44 848859
>>848795
А какие у лиспа альтернативы? JS? Тот точно не дотягивает, не зря его лиспом для бедных называют.
Ответы: >>849013
Аноним 01/10/16 Суб 08:43:50 848860
>>848795
Ну и да, язык не загибается, а даже наоборот: библиотеки новые пишутся, старые поддерживаются.
Непопулярен - да, но от того, что его некому популяризировать.
Аноним 01/10/16 Суб 16:29:20 849013
>>848859
Ты знаешь, я тут последний год сидел на stumpwm и он меня настолько затрахал что я съебался на dwm. И знаешь че? Блять на чистом си код приятней писать, чем на этом нашем лиспе. Эх.
Ответы: >>849050
Аноним 01/10/16 Суб 17:55:51 849050
>>849013
Мне тоже динамичный тайлинг удобнее статичного, поэтому на xmonad'е и сижу. Только причем тут язык?
Ответы: >>849437
Аноним 02/10/16 Вск 14:38:22 849437
>>849050
Прост))00
Аноним 03/10/16 Пнд 15:56:15 850141
Пздц, меня этот язык победил еще на этапе установки...а хуй знает чего, я даже не понял нахуя эти emacs b slim, но да похуй, первый этап: создайте файл/папку с именем .emacs ??? Как блять создать папку без имени?
Ответы: >>850144 >>850155
Аноним 03/10/16 Пнд 15:59:32 850144
>>850141
Виндусятник что ли?
Аноним 03/10/16 Пнд 16:15:34 850155
>>850141
.emacs.d и есть имя, внезапно.
Ты там, я надеюсь, не собираешься вручную емакс настраивать, а просто установить spacemacs?
Аноним 04/10/16 Втр 18:01:04 850694
>>850637
Опять со своими ширусами?
Аноним 05/10/16 Срд 21:11:57 851365
Hunchentoot устарел? Какие альтернативы?
Ответы: >>851369
Аноним 05/10/16 Срд 21:21:27 851369
>>851365
В шапке же ссылка на обзор экосистемы.
>Hunchentoot устарел?
Нет, но woo, кажется, шустрее. Короче, юзай clack - не ошибешься
Ответы: >>851370
Аноним 05/10/16 Срд 21:23:53 851370
>>851369
clack требует libev, я его на винду не нашел.
Ответы: >>851373
Аноним 05/10/16 Срд 21:44:57 851373
>>851370
Да не должен, вообще-то. А вот woo или wookie может требовать.
Попробуй выбрать в качестве бекенда clack'а hunchentoot
Ответы: >>851435
Аноним 06/10/16 Чтв 07:17:27 851435
(66Кб, 734x1024)
>>851373
Спасибо, работает.
Ответы: >>851598
Аноним 06/10/16 Чтв 13:42:27 851598
>>851435
Алсо, я надеюсь, ты там не на голом клаке писать собрался?
Ответы: >>851610
Аноним 06/10/16 Чтв 14:01:58 851610
>>851598
Пока выбрал Caveman2. Разбираюсь дальше.
Аноним 07/10/16 Птн 16:24:39 852394
(20368Кб, 640x360, 00:03:17)
(cdr (rooster))
Ответы: >>852484 >>852516 >>852529
Аноним !!a7u.XEsVf6 07/10/16 Птн 18:37:20 852484
>>852394
Пиздос, да золотой без 5 минут экстремист.
Я вот немогу понять, на этом видосе он пытается дискредетировать жидов?
Хули так сложно блядь: то русские, то жиды... А когда пендосы и немцы будут плохими ребятами?
Он хоть понимает, что после таких видосов в случае чего он уже не станет героем, потому что "да хуй с ним, окончательно ебанулся".
Интересно, меня тоже доведут до такого к 30 или сколько там золотому?
https://www.youtube.com/watch?v=hAyp4AHY4yk[РАСКРЫТЬ]
Ответы: >>852495
Аноним 07/10/16 Птн 19:01:37 852495
>>852484
Мне паста про арийскую математику понравилась. Если бы не Золотце, я бы никогда не узнал про теории русских финитистов и продолжал верить в жидовскую бесконечность.
Аноним !!a7u.XEsVf6 07/10/16 Птн 19:06:28 852507
Золотой, если ты читаешь, выпей таблеток подрочи и не загружай эту дичь на ютуб, а то испортишь хороший адекватный канал
https://www.youtube.com/channel/UCVT3qA5iSByuoXRu4A2yhZA/videos
Ответы: >>852529
Аноним 07/10/16 Птн 19:15:02 852516
>>852394
Мда, хуже вниманиебляди можеть быть только фанатичная вниманиеблядь
Аноним !!a7u.XEsVf6 07/10/16 Птн 19:28:20 852523
> подрочи
Это, кстати, в последнее время становится сложнее. У меня раньше была традиция в ванную ходить по ночам передёрнуть, но теперь в ванной из квартиры сверху кто-то облучает каким-то грохочущим девайсом (включают только когда пытаюсь пофапать и сразу выключают потом) в любое время ночи и шишка опадает. А если беспалевно дрочить под одеялом и вставать только чтобы кончить, всё ок.
Аноним 07/10/16 Птн 19:31:06 852524
Посоветуйте IDE для кложуры с максимумом фич. Лайтейбл до сих пор рулит или кто-то обошёл? EMACS и VIM не предлагать!
Ответы: >>852538
Аноним 07/10/16 Птн 19:36:25 852529
>>852394
>>852507
Где он живет?
Ответы: >>852531
Аноним !!a7u.XEsVf6 07/10/16 Птн 19:40:53 852531
>>852529
В Новосибирске.
Аноним 07/10/16 Птн 19:52:09 852538
>>852524
Попробуй Cursive к Intellij Idea.
Алсо, почему Emacs + Cider не устраивает?
Ответы: >>854782
Аноним 11/10/16 Втр 15:55:56 854782
>>852538
Вангую, что просто не осилил
Аноним 16/10/16 Вск 21:47:25 858062
Он совсем поехал, теперь хомяка сжег.
Аноним 21/10/16 Птн 20:42:10 861685
Есть ли какой-нибудь быстрый обзор механизма MOP (не AMOP)?
Ну или поясните на пальцах различия effective-slot и direct-slot
Аноним 23/10/16 Вск 09:57:08 862325
Ruby -- вот Лисп настоящего. А вы тут все хипстеры-ретрограды.
бывший скобкодрочер
Аноним 23/10/16 Вск 09:58:15 862327
>>862325
Который уже умирает.
Ответы: >>862498
Аноним 23/10/16 Вск 10:13:07 862338
>>862325
> Ruby -- вот Лисп настоящего
В каком месте?

> хипстеры-ретрограды
Чет жирно.
Ответы: >>862498
Аноним 23/10/16 Вск 11:14:50 862369
>>862325
То-то все рубисты на кложуру переходят. Ты там из 2005 нам пишешь, да?
Ответы: >>862498
Аноним 23/10/16 Вск 15:24:43 862498
>>862327
Хайп прошел, только и всего, язык жив. А когда там последний раз обновлялся стандарт общелиспа, не напомнишь?
>>862338
>В каком месте?
Буквально, во всех, кроме синтаксиса а жаль.
>Чет жирно.
Ну вот скажи: зачем кто-то будет в 2016 году писать на CL, кроме как для эпатажа или ментального онанизма?
>>862369
Если бы еще не jvm...
Аноним 23/10/16 Вск 15:30:00 862502
>>862498
Во-первых, в жвм нет ничего плохого, просто у каждой вещи свое место под небом.
Во-вторых, кложурскрипт-то тебе чем не угодил?

Алсо, если ты говоришь, что руби - это лишп во всем, кроме синтаксиса, то ты либо лишпов, либо руби не видел толком и не разбираешься, извини. Матц, конечно, тот еще лисподрочер, но только и всего. Почти все популярные языки (тем более динамические) испытали (сильное) влияние скобочек - но это не повод называть их лишпами с другим синтаксисом, ага.
Ответы: >>862679
Аноним 23/10/16 Вск 15:34:42 862505
>>862498
>А когда там последний раз обновлялся стандарт общелиспа, не напомнишь?
Что такое стандарт общелиспа такое и чем отличается от других хоть знаешь?
Ответы: >>862679
Аноним 23/10/16 Вск 17:28:55 862543
>>862498
>Ну вот скажи: зачем кто-то будет в 2016 году писать на CL
А на чем ещё писать в 2016 году? Других высокоуровневых языков с нормальным компилятором и динамической типизацией просто нет.
Ответы: >>862551 >>862679
Аноним 23/10/16 Вск 17:36:16 862551
>>862543
Кстати да. Но это толкьо потому, что динаическая типизация не нужна!
Ответы: >>862556
Аноним 23/10/16 Вск 17:53:49 862556
>>862551
Ну, по-моему опциональная типизация с выводом типов как в sbcl - оптимальный баланс статики и динамики
Ответы: >>862861
Аноним 23/10/16 Вск 20:28:35 862677
>>862498
> зачем кто-то будет в 2016 году писать на CL, кроме как для эпатажа или ментального онанизма?
Что бы это было просто дебажить в случае чего. Да и сам подход к организации рабочего процесса
А не бля, мужики, у нас сервер наебнулся в воскресенье поэтому вся статистика за неделю пошла по пизде)))
Ответы: >>862683
Аноним 23/10/16 Вск 20:30:52 862679
>>862502
>Во-первых, в жвм нет ничего плохого, просто у каждой вещи свое место под небом.
Именно. Привязка к жвм сильно сужает область применения языка.
>Во-вторых, кложурскрипт-то тебе чем не угодил?
Про него я ничего и не говорил, языки с компиляцией в жс -- вне моей компетенции.
>Алсо, если ты говоришь, что руби - это лишп во всем, кроме синтаксиса, то ты либо лишпов, либо руби не видел толком и не разбираешься, извини.
Ты сам много сможешь назвать фундаментальных отличий руби от CL? Ну да, ООП теперь -- основа языка, а не надстройка, оно было бы точно так же в CL, если бы его взялись пилить с нуля. То, что основой программирования на CL является ручная ебля с AST -- это скорее баг, а не фича, ведь, как мы знаем, необходимость в "метапрограммировании" возникает от недостатков в дизайне языка, а негигиеничные макросы из CL -- вообще одна из худших вещей в истории программирования. Ну да, первоклассные континуации, наконец, завезли. Отличия есть, да, но все они -- следствие эволюции Лиспа, прошлой ступенью которой был общелисп. Сейчас у него нет никаких преимуществ и никакой области применения, кроме как для экскурса в историю.
>>862505
>Что такое стандарт общелиспа
ANSI INCITS 226-1994 (R2004)?
>чем отличается от других хоть знаешь?
Тем, что на него всем похуй? колобок.жпге
>>862543
>Других высокоуровневых языков с нормальным компилятором и динамической типизацией просто нет.
Это никому не нужно. Когда ты пишешь прототип, POC или одноразовую тулзу на рубях, питоне или схеме, тебя не особо волнует производительность и корректность, зато выигрыш времени засчет отсутствия времени -- очень кстати. Когда начинается серьезный бизнес, ты берешь язык с "нормальным компилятором" и статической (ты же не враг себе?) типизацией и пишешь на нем. Зачем совмещать подходы, применяемые для разных задач?
Ответы: >>862685 >>862862
Аноним 23/10/16 Вск 20:36:38 862683
>>862677
>Что бы это было просто дебажить в случае чего. Да и сам подход к организации рабочего процесса
Вот это реально толсто сейчас. На лиспе (из-за макросов) работать можно только в одиночку или в несколько рыл максимум, потому что ты сам свою лапшу не распарсишь через полгода.
>inb4 писать на лиспе без макросов
Тогда лисп ВООБЩЕ не нужен.
Ответы: >>862690 >>862707
Аноним 23/10/16 Вск 20:41:34 862685
>>862679
Ты никого из треда не переубедишь изучать и пользоваться лиспо-языками, не понимаю, зачем ты пишешь это. Ступай в го-тред или куда-то ещё.
Ответы: >>862692
Аноним 23/10/16 Вск 20:54:17 862690
>>862683
>ты сам свою лапшу не распарсишь через полгода
Нечитабельную лапшу ты можешь на любом языке написать.
Аноним 23/10/16 Вск 20:57:39 862692
>>862685
>зачем ты пишешь это.
Пытаюсь понять мотивацию
>изучать и пользоваться лиспо-языками
>Ступай в го-тред
Моих знаний о Go недостаточно, чтобы эффективно о нем дискутировать (но вообще язык мне нравится).
Аноним 23/10/16 Вск 21:33:37 862707
>>862683
> потому что ты сам свою лапшу не распарсишь через полгода.
Нечитаемую лапшу на любом языке не распарсить если чо
Видимо ты пока не вкурил всю мощь s-выражений
возвращайся через год
Ответы: >>862732
Аноним 23/10/16 Вск 23:06:56 862732
>>862707
>Видимо ты пока не вкурил всю мощь s-выражений
>~ $ find ~/quicklisp/local-projects -name '.lisp'|xargs cat|grep -v '^\s;'|wc -l
>9992
>~ $ find ~/dev/ -name '.scm'|xargs cat|grep -v '^\s;'|wc -l
>9159
Сколько еще-то надо? Скурюсь же к чертовой бабушке! s-выражения это хорошо, но ими одними сыт не будешь.
>Нечитаемую лапшу на любом языке не распарсить если чо
АНАФОРИЧЕСКИЕ МАКРОСЫ
Ответы: >>862746
Аноним 24/10/16 Пнд 00:01:32 862746
>>862732
>АНАФОРИЧЕСКИЕ МАКРОСЫ
А что с ними не так-то?
>>862325
И чего ты такого в этой помеси перла и смолтолка нашел?
Ответы: >>862962
Аноним 24/10/16 Пнд 10:44:22 862861
>>862556
Так вывод типов в сбцл - это же про оптимизации. А настоящая статическая типизация - про проектирование и дизайн.
Ответы: >>863008
Аноним 24/10/16 Пнд 10:45:47 862862
>>862679
В кл как раз ооп в основе языка, нубло. Ручной ебли с аст там нет, ты не знаешь, что такое аст. Не пизди о том, в чем не разбираешься, короче. Иди книжки читай.
Ответы: >>862962
Аноним 24/10/16 Пнд 15:04:42 862962
>вывод типов в языке с динамической типизацией
Нет, вы просто вдумайтесь в это!
>>862862
>ооп в основе языка
Тогда почему почти вся стандартная библиотека это функции, а не методы? Подожди... зачем в чистом ООП языке функции?
>Ручной ебли с аст там нет
Она начинается на этапе написания любого кода на лиспе, лол. Но я не об этом, а о кодогенерации с помощью макросов. Короче, иди код пиши, червь книжный :)
>>862746
>А что с ними не так-то?
РЕФЕРЕНЦИАЛЬНАЯ ТРАНСПАРЕНТНОСТЬ не нужна! Я успешен и пишу макрос на каждый чих!
Ответы: >>862994 >>862999
Аноним 24/10/16 Пнд 16:21:09 862994
>>862962
Потому что познакомься хоть чуть-чуть с тем, о чем пвтаешься говорить, дурачок.
Ответы: >>863114
Аноним 24/10/16 Пнд 16:30:14 862999
>>862962
>Нет, вы просто вдумайтесь в это!
И чего тут такого? Мужики решили проблему производительности динамического языка без необходимости повсеместного объявления типов. Рубиновым любители смуззи не помешало бы перенять сей опыт.
>>862962
>РЕФЕРЕНЦИАЛЬНАЯ ТРАНСПАРЕНТНОСТЬ не нужна!
>An expression e is referentially transparent if for all programs p, all occurrences of e in p can be replaced by the result of evaluating e, without affecting the observable behavior of p.
И причем здесь анафорические макросы?
>макрос на каждый чих!
Ну, это не каждый чих, и ничего плохого в этом нет, если код остается интуитивно понятным. Сравнимо тому, чтобы упрекать в написании функций "на каждый чих".
Ответы: >>863114
Аноним 24/10/16 Пнд 16:41:45 863008
>>862861
Статическая типизация - про корректность и оптимизации. А все эти сказки про "настоящую" оставим всяким агда/идрис-дрочерам.
Ответы: >>863075 >>863092
Аноним 24/10/16 Пнд 18:17:46 863075
>>863008
Да нет, при чем тут агда? Те же сбцл и кложурь, на мой взгляд, своим существованием отлично доказывают тезис о том, что оптимизация (с помощью типов) к статической типизации имеет весьма опосредованное отношение. Вот некая мифическая "корректность" - это как раз к агда-дрочерам, да! А обычный тайпчек в обычном языке может обеспечить проверку "корректности" лишь для очень-очень узкого определения слова "корректность". Так что нет, я все-таки (пока) уверен, что статическая типизация - это про стиль дизайна и написания кода. Seems legit?
Ответы: >>863092
Аноним 24/10/16 Пнд 18:39:14 863092
>>863008
>>863075
БОЖЕ КАК ЖЕ ХОРОШО
Аноним 24/10/16 Пнд 19:18:28 863114
>>862994
В чем именно я не прав?
>>862999
>И чего тут такого? Мужики решили проблему производительности динамического языка без необходимости повсеместного объявления типов.
https://en.wikipedia.org/wiki/Type_inference
>Type inference refers to the automatic deduction of the data type of an expression in a programming language.
Как это возможно, если в динамическом языке, по определению, тип выражения становится известным только в рантайме, объясни пожалуйста. И да, что-то я не припомню, чтобы sbcl имплементировал статически-типизированное надмножество CL.
>И причем здесь анафорические макросы?
Читай Грэма.
>Ну, это не каждый чих, и ничего плохого в этом нет, если код остается интуитивно понятным
А не должно быть "интуитивно". Должно быть "очевидно".
Ответы: >>863115 >>863184
Аноним 24/10/16 Пнд 19:22:05 863115
>>863114
Съеби уже, убогий невежда.
Ответы: >>863125
Аноним 24/10/16 Пнд 19:38:51 863125
>>863115
Но я хочу перестать быть убогим невеждой. Зачем ты предлагаешь мне съебать?
Ответы: >>863128
Аноним 24/10/16 Пнд 19:42:19 863128
>>863125
Прочитай sicp, pcl, amop, потом приходи.
Ответы: >>863137
Аноним 24/10/16 Пнд 19:57:46 863137
>>863128
>sicp
>amop
Читал. Бля буду.
>pcl
Полистал в свое время, не зацепило. PAIP с Грэмом как-то лучше зашли.
Ответы: >>863142
Аноним 24/10/16 Пнд 20:03:05 863142
>>863137
> Читал.
Пруфы или не читал. Зуб даешь? Мамой клянешься?
Аноним 24/10/16 Пнд 21:33:04 863184
>>863114
>Как это возможно, если в динамическом языке, по определению, тип выражения становится известным только в рантайме, объясни пожалуйста.
Магия не иначе.
Алсо, https://github.com/guicho271828/inlined-generic-function
Аноним 01/11/16 Втр 10:23:19 867719
http://sbcl.org/news.html#1.3.11
Аноним 03/11/16 Чтв 20:23:18 869422
Что думаете насчет weblocks? Насколько оно полноценно и пригодно для использования?
Ответы: >>869444
Аноним 03/11/16 Чтв 21:21:15 869444
>>869422
Ето что?
Ответы: >>869449
Аноним 03/11/16 Чтв 21:27:16 869449
>>869444
http://weblocks-framework.info/
Ответы: >>869463
Аноним 03/11/16 Чтв 22:05:13 869463
>>869449
Брат, а может все-таки кложу, а?..
Ответы: >>869476
Аноним 03/11/16 Чтв 22:23:43 869476
>>869463
Кложура - убогая пародия с сообществом уровня js.
Ответы: >>869479
Аноним 03/11/16 Чтв 22:27:10 869479
>>869476
Why so religious? Лишп - для практичных людей же.
Ответы: >>869483 >>869552
Аноним 03/11/16 Чтв 22:48:18 869483
jsqq.png (55Кб, 619x875)
>>869479
Лишп для практичных людей - это жс.
Ответы: >>869504
Аноним 04/11/16 Птн 00:22:54 869504
>>869483
Эм? Я сказал, что лиспы - для практичных людей. А жс - для мазохистов и компиляторов, не?
Аноним 04/11/16 Птн 00:37:43 869509
Поясните ньюфагу.
Вот я прочел practical common lisp, начал курить немного стандарт.
Встал такой вопрос, как вы это дело запускаете не из repl?

Допустим мне захотелось написать простенький tcp балансер. Я могу подобное реализовать на C/Go, написать юнит/портянку на баше чтобы рестартить когда упадет. Как это дело ОС будет запускать, когда например уйдет в ребут? Я просто цепляюсь за какую-то альтернативу main функции наверно. Или просто еще почитать чего надо?
Ответы: >>869547
Аноним 04/11/16 Птн 04:10:27 869547
>>869509
Можно создать вручную с помощью http://www.sbcl.org/manual/#Function-sb_002dext_003asave_002dlisp_002dand_002ddie или аналогичной функцией, если используется другая реализация.
Либо воспользоватся https://github.com/roswell/roswell или buildapp.
Аноним 04/11/16 Птн 04:45:43 869552
>>869479
А с каких пор этот недоязычок для скриптования явы стал считаться практичным? Особенно если учесть, что груви уже существует.
Ответы: >>870174
Аноним 05/11/16 Суб 09:08:42 870174
>>869552
Why so religious? Я не знаю, в каком ты году живешь, что у тебя и груви существует, и кложа - это язычок для скриптования. Серьезно, по-моему ты просто не в курсе, не обижайся.

Алсо, повторюсь еще раз: я написал, что лиспы вообще для практичных людей, а не какой-то один из них.
Ответы: >>870370
Аноним 05/11/16 Суб 15:03:01 870370
>>870174
>Why so religious?
То, что не соответствует твоему фанатичному мировоззрению - религиозно? Ну ок.
>в каком ты году живешь
Я - в 2016м, в ноябре.
>что у тебя и груви существует
Не знаю, как у тебя, а в моём времени крайняя версия выпустилась 4 месяца назад.
>и кложа - это язычок для скриптования
Неужели за последние пару лет кложа успела превратиться во что-то иное?
Ответы: >>870389
Аноним 05/11/16 Суб 15:25:51 870389
>>870370
Приведи хоть одно мое утверждение, из которого ты сделал какой-то вывод о моем мировоззрении. Цитатой, давай.

Как раз пару лет назад она стала использоваться для скриптования, но с этим все еще туговато. Может ты о какой-то другой кложе говоришь, не знаю.
Ответы: >>871992 >>871994
Аноним 07/11/16 Пнд 13:19:38 871572
Аноны, все еще мечтаю таки найти в себе силы выучить лисп, но пока вынужден подтягивать другие языки, поэтому покидайте примеров кода на лиспе, я как вижу эту абракадабру, мне одновременно хочется забыть про лисп навсегда и при этом выучить его.
Ответы: >>871602 >>871883
Аноним 07/11/16 Пнд 14:00:43 871602
>>871572
Читай htdp, брат. Там много примеров кода.
Аноним 07/11/16 Пнд 18:58:38 871788
What is up? Добиваю Elisp Intro, так как хочу закончить, раз начал. Можете дальше что-нибудь посоветовать, чтобы одновременно было не нудно и посильно? Математику дальше основ матана не знаю. В любом случае буду SICP штурмовать, но есть варианты HTDP и The Little Schemer для начала. Как лучше сделать?
Ответы: >>871814 >>871817
Аноним 07/11/16 Пнд 19:18:58 871814
>>871788
А ты с какой целью интересуешься-то? Какие у тебя планы на будущее?
Ответы: >>871865
Аноним 07/11/16 Пнд 19:24:09 871817
>>871788
Practical Common Lisp-недавно прочитал сам как раз. Название говорит за себя-все приведённые программы сугубо из реального мира.
Ответы: >>871865 >>872101
Аноним 07/11/16 Пнд 20:02:18 871865
>>871814
Разобраться в лучших практиках разработки, чтобы в будущем на это опираться. Точно буду писать для решения повседневных задач, насчет трудоустройства сомневаюсь.

>>871817
Совсем практику хотел позже, но возьму на заметку. Спасибо.
Ответы: >>871875
Аноним 07/11/16 Пнд 20:05:34 871875
>>871865
Тогда хтдп.
Аноним 07/11/16 Пнд 20:12:00 871883
>>871572
ну на мой example-код из соседнего треда
Аноним 07/11/16 Пнд 23:28:38 871992
>>870389
Ты либо жопой читаешь, либо туговатый немного. О том, что кложа не является полноценным языком и основное (и единственное) её предназначение - скриптование явы, написано на её же официальном сайте:
>Clojure is designed to be a hosted language, sharing the JVM type system, GC, threads etc.
Неужели и правда не знал этого? Я же надеюсь, ты не станешь фанатично оспаривать очевидное.
Ответы: >>872004
Аноним 07/11/16 Пнд 23:34:42 871994
>>870389
Алсо, чтобы ты мог со стороны поглядеть на предмет своего обожания, предлагаю ознакомиться с аналогом кложи, но для питона http://docs.hylang.org/en/latest/
Ответы: >>872004
Аноним 08/11/16 Втр 00:15:11 872004
>>871992
>>871994
Аж на два поста разозлился, лол.
Аноним 08/11/16 Втр 07:47:15 872101
>>871817
прочитал или прорешал?
разные абсолютно вещи
Ответы: >>872722
Аноним 09/11/16 Срд 09:06:51 872722
>>872101
просмотрел
Ответы: >>872723
Аноним 09/11/16 Срд 09:12:48 872723
>>872722
какой смысл?
Аноним 09/11/16 Срд 13:46:25 872910
Не за горами перекат, но если кто-то хочет дополнить, переоформить или переделать шапку, у вас ещё есть время.
Ответы: >>873629 >>873886
Аноним 10/11/16 Чтв 17:34:54 873629
>>872910
Для CL добавить Land of Lisp; для Racket: The Realm of Racket, How to Design Programs.
Ответы: >>874077
Аноним 11/11/16 Птн 07:24:03 873886
>>872910
http://lfe.io/ в шапке обозначь, в следующем Erlang-треде тоже укажу, если он будет.
Ответы: >>874077
Аноним 11/11/16 Птн 15:30:27 874077
>>873629
>>873886
У меня на то времени особо нет, сами добавляйте.
->>>785486
>Шапка: https://titanpad.com/x87hR0KJ2w
Аноним 11/11/16 Птн 17:05:53 874138
И похуй что оно пиздец как медленно компилится.
Ирл оно вполне юзабельно: https://www.youtube.com/watch?v=j-kj2qwJa_E[РАСКРЫТЬ]
Косность проигрывает.
Ответы: >>874142 >>874173 >>874243
Аноним 11/11/16 Птн 17:11:50 874142
>>874138
Реально ли сделать figwheel репл менее тормозным?
Ответы: >>874243
Аноним 11/11/16 Птн 18:18:08 874173
>>874138
Столько лет прошло, а они только начинают познавать прелести интерактивной разработки?
Ответы: >>874242
Аноним 11/11/16 Птн 20:24:45 874242
>>874173
Нет, интерактивная разработка там была всегда (это же лисп, але) - до сравнительно недавнего времени они даже в имаксе использовали практически тот же слайм, что и для коммон лиспа. Вот буквально пару лет назад только наконец заебались его поддерживать и запилили свой, более лучший велосипед.

Фишка фигвила в том, что до него поднять нормальный репл в браузере было целой морокой. Это установи, плагин добавь, код на страничку добавь, вебсокета дождись, тут перезагрузи, там подожди... еботня сплошная, короче. Но зато работает со слаймом\сидером. А еще не надо забывать, что обычно нужно было два репла - браузерный кложурьскриптовый и серверный кложурный. И первый запускался из второго. Короче, БОЛЬ.

А тут пришел этот рыжеволосый викинг и сделал так, что ты пишешь "лейн фигвил" - и все. Все само работает. Всегда. Профит.

Ну и плюс на основе фигвила (если не ошибаюсь) запилили аналогичные "джаст воркс" реплы для айфона и андройда. Короче, по-моему это отличный пример того, что люди любят, когда кто-то решает реальные проблемы, и для решения реальных проблем не нужно быть семи пядей во лбу - ужно просто взять и сделать. Решает желание.
Ответы: >>874319
Аноним 11/11/16 Птн 20:27:01 874243
>>874138
>>874142
Что у вас за машины (или кодобазы?!), что он тормозить начинает? Не испытывал таких проблем.
Ответы: >>874254 >>874319
Аноним 11/11/16 Птн 20:55:21 874254
>>874243
Счастливый владелец компьютера для учёбы 16ядер/16гигов?
Ответы: >>874283
Аноним 11/11/16 Птн 22:37:24 874283
>>874254
Чего блядь? Какая еще учеба? Тебе сколько лет?
Ответы: >>874319
Аноним 12/11/16 Суб 00:06:37 874319
>>874242
>>874243
>>874283
Скриншот time lein в студию.
Алсо "тормозит" = не отвечает за 16мс.
Ответы: >>874332 >>874443
Аноним 12/11/16 Суб 01:53:09 874332
lein.png (320Кб, 375x663)
>>874319
>Алсо "тормозит" = не отвечает за 16мс.
Если это "тормозит", то я даже не знаю, каким словом обозвать отзывчивость лейна на моей машине.
Ответы: >>874378 >>874652
Аноним 12/11/16 Суб 04:43:40 874348
Genera-1003.jpg (169Кб, 898x1142)
http://www.youtube.com/watch?v=o4-YnLpLgtk[РАСКРЫТЬ]
Аноним 12/11/16 Суб 08:51:03 874378
>>874332
Хуй с ним с лейном, он не используется так часто, чтобы это было фатальной проблемой. Хотя конечно неприятно.

Воркфлоу = cider + figwheel. REPL просто пиздец какой тормозной. Конпеляция одной несчастной функции по C-M-x тоже ебически тормозная, но вроде как она и не нужна, ибо figwheel на сохранении все сам патчит. Но вот вчера я ковырял monet и оно тоже жутко тормозное. Впрочем reagent вроде вполне шустрый.

Реквестирую линк на доку о том как сделать фигвил шустрее.
Ответы: >>874381
Аноним 12/11/16 Суб 08:54:38 874381
>>874378
>Реквестирую линк на доку о том как сделать фигвил шустрее.
Выкинуть кложу и переписать всё хотя бы на CL, как ещё.
Ответы: >>874387
Аноним 12/11/16 Суб 09:00:58 874387
>>874381
Ну ка покажи мне CL с реактом и работающим реплом к браузеру. Parenscript не предлагать.
Аноним 12/11/16 Суб 10:52:16 874443
>>874319
Бро, какое отношение имеет "тайм лейн" к реплу и интерактивной разработке? Ну, ты постом ниже и сам уже поправил себя, так что ладно.

Может вы с оптимизациями компилируете через фигвил, не? Покажи свой билд из проджект.клж? Алсо, я не понял, у тебя обычный сидер-репл тормозит, раз ты говоришь, что C-M-x медленный?

Я запускал весь этот тулчейн на десятилетнем лаптопе с гигабайтом памяти, и единственная вещь, которая тормозила - это был браузер. Да и можешь скринкасты посмотреть, везде компиляция и загрузка происходят за миллисекунды. Ты либо капчуешь с тумбочки, либо что-то сломал. Да, кстати, ждк у тебя из репозитория или от сана оракла?
Ответы: >>874459
Аноним 12/11/16 Суб 11:17:38 874459
>>874443
http://paste.org.ru/?8xvlad
жвм из репы арча.
Если репл из консоли запускать он тоже тормозит до браузера. При этом само обновление реакта через фигвил работает быстро.
Ответы: >>874467
Аноним 12/11/16 Суб 11:34:24 874467
>>874459
> жвм из репы арча
Юр дуин ит рон. Поставь нормальный ждк. Странно, что оно вообще работало.
Ответы: >>874471
Аноним 12/11/16 Суб 11:39:58 874471
>>874467
Что такое нормальный ждк? Жава у меня вызывает отторжение и переборол себя я только из-за того что альтернатив не особо есть.
Ответы: >>874475
Аноним 12/11/16 Суб 11:44:11 874475
>>874471
Есть опенждк, есть официальный ждк. Тебе нужен официальный. Хотя хуй вас, арчеебов, знает, может у вас в репах и так оракловский, вы же беспредельщики, вам все похуй. Жавац -версион у тебя какой?
Ответы: >>874477
Аноним 12/11/16 Суб 11:44:36 874477
>>874475
openjdk version "1.8.0_112"
OpenJDK Runtime Environment (build 1.8.0_112-b15)
OpenJDK 64-Bit Server VM (build 25.112-b15, mixed mode)
Ответы: >>874479
Аноним 12/11/16 Суб 11:45:56 874479
>>874477
Ну вот, я же говорил.
Ответы: >>874480 >>874491
Аноним 12/11/16 Суб 11:47:54 874480
>>874479
Окай, щас накачу из аура. Посмотрим что из этого выйдет.
Аноним 12/11/16 Суб 12:07:45 874491
>>874479
Ну лучше не стало. Если и стало то на какие-то доли, потому что отзывчивость по прежнему так себе.
Ответы: >>874493
Аноним 12/11/16 Суб 12:08:33 874493
>>874491
А сейчас джвац -версьон какой?
Ответы: >>874495
Аноним 12/11/16 Суб 12:09:06 874495
>>874493
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
Ответы: >>874496
Аноним 12/11/16 Суб 12:10:31 874496
>>874495
И у тебя по-прежнему тормозит с-м-х в сидере? Быть того не может. Ты с телефона сидишь? У тебя магнитные диски вместо памяти?
Ответы: >>874520
Аноним 12/11/16 Суб 12:48:43 874520
>>874496
Как я уже говорил, "тормозит" = больше 16мс.
А оно где-то с секунду думает.
Ответы: >>874635
Аноним 12/11/16 Суб 15:23:30 874634
https://itch.io/jam/autumn-2016-lisp-game-jam
Как всегда внезапно
Аноним 12/11/16 Суб 15:23:40 874635
>>874520
Секунду думает после с-м-х? Чувак, я правда не знаю, попробуй почистить комплюктер от вирусов. Что-то с твоей машиной и сетапом, кложа тут явно не при делах. Даже не знаю, что еще посоветовать, кроме тотального сноса всего связанного с этим добра из хомяка и клин инстала. Ну и ты так и не сказал, что у тебя за машина.
Ответы: >>874640
Аноним 12/11/16 Суб 15:28:22 874640
>>874635
Маня, единственное что тормозит это jvm и все что с ней связано.
> Kernel: x86_64 Linux 4.8.6-1-ARCH
> CPU: Intel Core i5-4590 CPU @ 3.7GHz
> RAM: 3744MiB / 7931MiB
Ответы: >>874649 >>874687
Аноним 12/11/16 Суб 15:29:26 874642
Сап джаваны, обновил jdk до последней версии и эклипс перестал запускаться, в конфиге эклипс поменял на свою версию jdk, эклипс запустился. Но нихуя не компилится, как исправить ?
Ответы: >>874645
Аноним 12/11/16 Суб 15:33:15 874645
>>874642
Поставить емакс, очевидно
Аноним 12/11/16 Суб 15:39:15 874649
>>874640
Почему маня-то, э? Я тебе и говорю - что-то с машиной и сетапом, а не кложей\фигвилом. Раз у тебя тормозит все, что связано с жвм, то кложа явно не при делах, угумс? Может арчедети что-то опять сломали, попробуй в виртуалке на дебе поднять енвайронмент. Хотя я бы на твоем месте уже забил, наверное. Хотя интересно конечно, что именно у тебя там не так.
Ответы: >>874652
Аноним 12/11/16 Суб 15:41:23 874652
>>874649
Ну, у меня деб. Шустрее ява от этого явно не стала >>874332
Ответы: >>874654
Аноним 12/11/16 Суб 15:47:52 874654
>>874652
Чувак, почему ты не можешь в контекст? Тот чувак жалуется, что у него с-м-х отрабатывает секунду, а ты ссылаешься на время старта жвм и лейна. Зачем? Не делай так больше, пожалуйста.

Я, кстати, все-таки надеюсь, что когда-нибудь лейн заведут на ноде. Вот вроде бы с одной стороны это не критично для дела, но с другой - чисто эстетически, блядь, неприятно, что он по пять секунд стартует. Особенно когда забыл какую-нибудь депенденси в билд добавить и перезапускаешься.
Ответы: >>874660 >>874663
Аноним 12/11/16 Суб 15:57:08 874660
>>874654
Не понятно почему ты отрицаешь очевидное: кложура тормозное говно. Проблема в том, что все остальное еще хуже.
Ответы: >>874665 >>874682
Аноним 12/11/16 Суб 15:59:13 874663
>>874654
>у него с-м-х отрабатывает секунду
А теперь представь, за сколько это счастье отрабатывает у меня.
>Зачем?
Чтобы тебе было с чем сравнить.
Ответы: >>874682
Аноним 12/11/16 Суб 16:01:23 874665
>>874660
А вот была бы кложа полноценным языком, уже давно кто-нибудь запилил бы нормальную реализацию.
Аноним 12/11/16 Суб 16:16:55 874682
>>874660
Извини, но ты рассуждаешь как пидораха, вот честно. Я говорю: лейн стартует медленно, это особенность лейна, но с-м-х должен отрабатывать мгновенно, если нет - это проблема на стороне анона. В ответ - "ой-йо, тормозное говно". Я говорю о конкретной проблеме и пытаюсь сподвигнуть анончика выяснить ее причину, а в ответ слышу что-то уровня бабок у подъезда. Ну блядь, пагни, нахуя так жить-то?

>>874663
За несколько миллисекунд это счастье у тебя отрабатывает, не? Мне есть с чем сравнивать, я же говорил, что юзал сидер на лаптопе десятилетней давности с гигом памяти.
Ответы: >>874684 >>874688
Аноним 12/11/16 Суб 16:18:38 874684
>>874682
Тебе два разных человека утверждают одно и то же: оно тормозит. (Оно еще и в браузере тормозит так, что выдает 0.7фпс).
А ты дальше гонишь свою линию "что-то не так на стороне анона".
Ответы: >>874687
Аноним 12/11/16 Суб 16:22:59 874687
>>874684
Вообще-то второй анон (это ты?) не говорил, что у него тормозит эвал. Он задал риторический вопрос, но конкретных чисел не привел.

Давай я еще раз повторю: я юзал сидер на лаптопе с гигом памяти - не тормозило. Посмотри на спеки >>874640. У него тормозит. Одна и та же программа. У меня не тормозит, у него тормозит. Как думаешь, на чьей стороне проблема?
Ответы: >>874689
Аноним 12/11/16 Суб 16:24:19 874688
>>874682
>За несколько миллисекунд это счастье у тебя отрабатывает, не?
Ага. Только за эти несколько миллисекунд я успеваю отодрать жопу от стула, налить чаю и вернуться обратно.
И да, съеби обратно на свою /по/мойку, здесь таким не рады.
Ответы: >>874694
Аноним 12/11/16 Суб 16:24:21 874689
>>874687
Какая "программа", о чем ты?
Ответы: >>874694
Аноним 12/11/16 Суб 16:31:47 874694
>>874688
Ни разу не был в /по. Под "пидорахой" подразумевал человека, который вместо логики пользуется эмоциями, вместо решения проблемы разводит нудятину про то, как все плохо и какое кругом говно. Если тебя это оскорбляет - я могу извиниться конкретно за это слово, но поинт мой ты уловил, согласись.

После нажатия с-м-х ты успеваешь попить чай, прежде чем форма заэвалюируется? Прекрати толстить, дружище. На рапсберри репл запускаешь?

>>874689
>Какая "программа"
Сидер и кложур.джар, привет.
Ответы: >>874698 >>874705
Аноним 12/11/16 Суб 16:41:08 874698
2016-11-12-1939[...].png (20Кб, 1082x728)
2016-11-12-1940[...].png (25Кб, 1069x851)
>>874694
Давай по существу поговорим.
Вот тебе мой говнокод: https://github.com/TatriX/potential-fields
Хуй с ним C-M-x. Скажи как решить проблему на пикрелейтед. На первом скрине кложурскрипт, на втором ванильный жс.
Ответы: >>874712
Аноним 12/11/16 Суб 16:46:03 874701
Никогда еще в этом треде не было такого бурного обсуждения. Лисп сново жив!
Ответы: >>874703
Аноним 12/11/16 Суб 16:48:55 874703
>>874701
А то! Ето все неспроста, хе-хе.
Аноним 12/11/16 Суб 16:49:18 874705
>>874694
>попить чай
Налить.
>вместо решения проблемы разводит нудятину
Выводы о непригодности кложи я уже давно сделал, поэтому проблемы, похоже, здесь только у тебя: ты всячески пытаешься отрицать факт наличия тормозов как минимум у двоих ИТТ.
Ответы: >>874712
Аноним 12/11/16 Суб 16:53:58 874712
>>874705
Я не пытаюсь отрицать факт наличия тормозов, я пытаюсь выяснить их причину, сказал ведь уже.

А ты что-то явно перепутал. Вычисление (+ 1 1) у тебя занимает столько времени, что ты успеваешь налить чай? Ну брось, это же смешно. На каком тапке ты репл пускаешь?

>>874698
Сейчас гляну.
Ответы: >>874715
Аноним 12/11/16 Суб 17:00:46 874715
>>874712
Запушил еще код на жсе. Мало ли.
Ответы: >>874724
Аноним 12/11/16 Суб 17:12:28 874724
>>874715
А чому апдейт закомментирован? Алсо, глянь хоть профайлер, скажи, что тормозит - так сходу мне трудно понять по одному тексту. Разве что убери из ргба вызов претипринтерских функций, они по идее медленные.
Ответы: >>874725 >>874730
Аноним 12/11/16 Суб 17:14:40 874725
>>874724
Апдейт двигает персонажа, перебирая и сортируя поля. Для чистоты эксперимента отключил, потому что на ванильном жсе этого нет.
Аноним 12/11/16 Суб 17:17:54 874730
2016-11-12-2017[...].png (53Кб, 632x504)
>>874724
Лол.
Ответы: >>874734 >>874736
Аноним 12/11/16 Суб 17:21:40 874734
>>874730
Ну вот! Я молодец? Где моя печенька?
Ответы: >>874737
Аноним 12/11/16 Суб 17:21:43 874736
2016-11-12-2021[...].png (65Кб, 619x541)
>>874730
Да уж блять. ФП. ИМУТАБЕЛЬНОСТЬ.
Аноним 12/11/16 Суб 17:22:06 874737
>>874734
30фпс. И это я еще ничего не написал. А оно УЖЕ тормозит и требует профайлер. Как так то блять.
Ответы: >>874747
Аноним 12/11/16 Суб 17:26:59 874743
Ладно, я понял что на клжс можно только формочки лепить на реакте. Для игростроя и чего-то требовательного к перформансу оно не пригодно.
Ответы: >>874746 >>874747
Аноним 12/11/16 Суб 17:30:48 874746
>>874743
А elm не щупал?
Ответы: >>874751
Аноним 12/11/16 Суб 17:31:22 874747
>>874737
Ну, ппринт - только для девтайма, он не предназначен для применения где-то еще. Вроде в доках написано об этом.

А остальное - ну... преждевременная оптимизация - сам знаешь что. Напиши, будет работать медленно - соптимизируешь боттлнек на использование транзиентов, это две строчки добавить. Не вижу проблемы.

>>874743
Чувак, я как раз игру на клжс писал, лол. С физикой и туевой хучей мапов с редьюсами. 30 фпс стабильно было.
Ответы: >>874751
Аноним 12/11/16 Суб 17:33:38 874751
>>874746
У нас тут лиспотред если че.
>>874747
Лол что? ПРЕЖДЕВРЕМЕННАЯ? Ты видишь что то что на ванильном жсе (код блять один в один, тот же редьюс) 60 фпс вообще без вопросов. А говнохуйня которюу нагенерил кложурскрипт выдает сраных 30 фпс. Я уж молчу что если включить апдейт персонажа, оно до 15 падает.

Допустим что я криворукий еблан, ок, ибо я тут первый день на этом дерьме пишу. Покажи как сделать 60фпс.
Ответы: >>874757 >>874789
Аноним 12/11/16 Суб 17:39:57 874757
>>874751
>У нас тут лиспотред если че.
Ну и что? Кложу же тоже обсуждаем, чем elm хуже?
Ответы: >>874773
Аноним 12/11/16 Суб 17:56:28 874773
>>874757
> Тайпклассов нет.
Аноним 12/11/16 Суб 18:17:14 874789
>>874751
Бро, у меня субкота, поздний вечер, а ты меня просишь преписать за тебя какой-то код, потому что тридцать фпс тебя не устраивают. У меня даже пеки под рукой нет. Вот первое, что бросается в глаза - в жс-коде у тебя три поля, а в клжс - четыре. И что-то всяких дирекшнов в жс коде я не вижу.

Еще раз: напиши сперва, что тебе нужно, а потом оптимизируй, если будет медленно. Поменяй дефрекорд на дефтайп, хэшмапы на филд акцесс. Редьюс медленный - сделай аредьюс, он в цикл развернется, возьми редьюсеры вместо ленивых коллекций, раз тебе числа дробить надо, ну или транзиенты, или нативные массивы в конце концов, он тебе в тоге тот же самый код сгенерит, что ты руками написал на жс. Но повторюсь, лично на мой взгляд ты сам себе выдумал проблему сейчас, а в реальности это проблемой не является.
Ответы: >>874801
Аноним 12/11/16 Суб 18:23:33 874801
>>874789
Ты что ебанулся? 30 фпс по твоему не проблема? 30 фпс это пиздец какая проблема. Да все понятно и так. Кложура не подходит для разработки чего-то что должно работать быстро.
Ответы: >>874822
Аноним 12/11/16 Суб 18:44:03 874822
Ну и в том же редьюсе в жс ты делаешь один проход, а в клжс - два, кстати. А говоришь, что код один в один.

>>874801
Чувак, я тебе только что написал дюжину способов поднять фпс. Кстати, я уж не говорю про то, что апдейтить стейт при перерисовке - этой ой-ой. Ты же хотел по существу поговорить - и опять скатился в всеплохаговнобабкауподъезда.

Это не проблема, потому что, блин, у тебя там пятнадцать строк числодробления. Какая вообще разница, на чем их писать? Лично я, если бы у меня в кодобазе была одна маленькая функция, которая была бы боттлнеком, просто не задумываясь переписал бы ее на жс и массивах, это дело десяти минут, блин. А ты делаешь какую-то религиозную драму из этого. Хуй знает, по-моему такое вот отношение просто с опытом отмирает и сглаживается.
Ответы: >>874844 >>874859
Аноним 12/11/16 Суб 19:05:43 874844
>>874822
С опытом приходит понимание того, что если какой-то инструмент

1) Требует ручной оптимизации для простейших вещей
2) Сложно настраивается
3) Имеет тормозной тулинг и сборку


то такой инструмент нужно выпилить нахуй и не пользоваться. Но почему то вместо этого все принимают такое положение вещей как данность.

Сравни кложопарашу с го, например.
Ультрабыстрый, простой и удобный тулинг. Быстрый язык. Миллиард либ и вообще.
Ответы: >>874897 >>874936
Аноним 12/11/16 Суб 19:23:20 874859
>>874822
Где я обновляю стейт в отрисовке?
Там обычный геймлуп, update обновляет стейт, draw его рисует. То что оно внутри requestAnimationFrame не означает что оно "в отрисовке". Или ты предлагаешь каналами обмазаться, чтобы оно еще сильнее начало тормозить?
Ответы: >>874897
Аноним 12/11/16 Суб 20:07:51 874897
>>874844
Чувак, тебя никто не заставляет ничем пользоваться. Ты пришел в лиспотред, попросил помощи, тебе помогли, потом ты попросил еще, тебе объяснили, что нужно еще сделать, но ты встал в позу и начал доказывать, что тут все дураки. Зачем? Давай не будем языкосрач разводить.

Я ведь тебе сказал: я писал игру на клжс. Ты отвечаешь: нет, нельзя писать игру на клжс, у меня тут 30 фпс, значит нельзя. Ну детский сад же. И полное непонимание того, что инструменты решают конкретные задачи.

Про тулинг тебе, во-первых, объяснили уже, что ты перепутал время компиляции и время выполнения выражения. А во-вторых - "сложно настраивается"? Серьезно? Ты по этому критерию выбираешь средства для решения задачи? "Простой и удобный тулинг"? Может еще приятный синтаксис сюда добавить? И красивый логотип, да? Нравится\не нравится? Ведь это то самое хипсторство в самом худшем смысле этого слова! И твое сравнение клжс с го отлично это иллюстрирует. Как их можно сравнивать, когда у них абсолютно разные области применения? Надо будет тебе спа запилить - что, го будет лучше клжс? Ну зато тулинг быстрый, ага, охуеть. И наоборот: если мне нужно быстренько нахреначить консольную тулзу, то я что, буду по-твоему думать о том, какие в кложе классные абстракции, какая там иммутабельность с асинхронностью и какая охуенная штука этот репл? Я понимаю, что у тебя сейчас задачи, видимо, сводятся к "что-нибудь на чем-нибудь запилить джаст фо фан", но в реальном мире это немного не так работает.

Наконец, блин, два прохода вместо одного в главном лупе - это не "ручная оптимизация", это элементарный здравый смысл, компетентность и понимание того, что ты делаешь. Давай, запили уже там один проход через аредьюс и замени дефрекорды на дефтайпы, а кейворд акцесс на филд акцесс. Вангую, что будут там твои 45-50 фпс, с 10-20% оверхеда на ленивость. Или не будут. Анус не поставлю. Я бы массивы тут использовал.

>>874859
В реквестанимфрейм - только отрисовка, стейт обновляется по отдельному тику, 60 раз его обновлять смысла никакого нет. По-моему в каждой статье про геймдев на жс пишут, что мол в нашем примере мы все пихаем в реквестанимфрейм, чтобы меньше буков, а вы так никогда не делайте, а то у вас апдейты к скорости рендеринга будут привязаны, - разве нет?

Извиниюсь за стену текста, да.
Ответы: >>874908 >>874920 >>874924
Аноним 12/11/16 Суб 20:19:58 874908
>>874897
> а то у вас апдейты к скорости рендеринга будут привязаны, - разве нет?
что в принципе может и не плохо, главное в апдейт лямбду времени передавать
Ответы: >>874911
Аноним 12/11/16 Суб 20:24:32 874911
>>874908
Плохо, брат, плохо. Зойчем считать и увеличивать энтропию вселенной, когда можно не считать и никто не заметит разницы?
Аноним 12/11/16 Суб 20:30:30 874920
>>874897
Разве нет. Два базовых варианта: передавать dt в update, второй вариант внутри итерации цикла делать еще один цикл с апдейтом мира с фикированной дельтой.

Удобство использования инструментом для решения задачи складывается комплексно из всех факторов. Тормозной тулинг сильно уменьшает желание этим инструментом пользоваться.

Понимаешь, когда на слайдах красиво говорят про ФП, имутабельность и прочее, а на деле будь добр цикл размотай и сделай даф машину, то хочется таким евангелистам на ебало нассать.
Ответы: >>874930
Аноним 12/11/16 Суб 20:35:01 874924
2016-11-12-2333[...].png (110Кб, 1690x875)
>>874897
Убрал лишний проход я получил +5фпс.
А вот добавив лишний проход в жс, я получил... А ничего не получил. Оно все так же быстро работает.

Цена которую приходится платить за семантику не должна быть слишком большой.
Ответы: >>874930
Аноним 12/11/16 Суб 20:50:22 874930
>>874924
Дефтайпы сделал? На гитхвб не запушил вроде?

>>874920
Внутри еще один цикл, чего? Не, это же стандартная штука, три таймера: отрисовка, апдейт, синхронизация. Все так делают вроде.

Я и не говорю, что он не уменьшает желание. Уменьшает. Но желание - это про нравится\не нравится, а кроме этого есть еще и объективные факторы. К тому же в сотый раз повторяю, ты его не настроил просто, тормозит там только запуск лейна, который происходит раза три за рабочий дееь максимум, в сумме - ну минуты полторы в день для пары kloc проекта.

Про фп и иммутабельность я тебе постарался ведь объяснить, у меня не получилось видимо. Я сотню раз уже сказал, что на твои пару десятков строк вообще пофиг на чем писать, хоть на форте, блин, это ничего не показывает, и в твоем конкретном случае даже цикл разматывать не надо, потому что 30 фпс достаточно. Фп и иммутабельность начинаются, когда у тебя появляется структура, когда тебе нужно проектировать, тестировать, думать об архитектуре, изменять код, когда у тебя асинхронность и куча разных данных. А числодробилку лично я бы на жс и написал, потому что там это все не нужно, это просто одна функция фактически.
Ответы: >>874939 >>874977
Аноним 12/11/16 Суб 21:20:30 874936
>>874844
Го-даун решил опять засрать чужой тред. Уёбывай в свой загон и не показывайся.
Аноним 12/11/16 Суб 21:28:52 874939
>>874930
http://gafferongames.com/game-physics/fix-your-timestep/
> ты его не настроил просто,
> 2) Сложно настраивается

Ну и да, говорить "я писал игру", но не знать основ построения этих самых игр, и при этом утверждать что 30фпс это норма, как бы все ставит на свои места.
Ответы: >>874946
Аноним 12/11/16 Суб 21:45:33 874946
>>874939
Лол, если ты не настроил, то дело необязательно в том, что оно сложно настраивается.

Я, кстати, читал эту статью - а вот ты, видимо, нет. Иначе бы заметил, что она не учитывает синхронизацию с сервером.

Алсо, погугли "30 fps vs 60 fps" что ли, я даже не знаю. Тема тыщу раз обсосана.
Ответы: >>874953
Аноним 12/11/16 Суб 22:09:31 874953
>>874946
http://30vs60.com/
> синхронизацию с сервером

> если ты не настроил
> Please don't invest too much time trying to set up a sweet development environment, there is a diverse set of tools that is constantly in flux and it's very difficult to suss out which ones will actually help you. If you spend a lot of time evaluating all these options it can become very frustrating.
> https://github.com/bhauman/lein-figwheel

Вместо того, чтобы слепо защищать своё говно, попробуй ради разнообразия нормальные инструменты.

Писать на кложуре в здравом уме я не стану. А вот для веб параши, кложурскрипт увы не худшее решение.
Ответы: >>874956
Аноним 12/11/16 Суб 22:29:07 874956
>>874953
Как связаны 30 фпс и сервер? Ты сломался, ты просто гринтекстишь случайный текст!

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

Я тебе еще десяток постов назад сказал, что как минимум мне уж точно все равно, на чем ты будешь писать, а на чем не будешь. И сейчас ты опять показываешь, что думаешь не головой, рационально и с помощью логики, а эмоциями, как ребенок. "Я попробовал один день использовать языкнейм, у меня не получилось, я обиделся, больше никогда не буду его трогать! Он плохой!!" - ну, опять же: хули тут поделать, да.
Ответы: >>874961 >>874964
Аноним 12/11/16 Суб 22:42:59 874961
>>874956
Блять какой сервер, ты что припадочный? Кложурскрипт и сервер? Учитывая что все это время разговор был про то что это убожество не может выдать 60 фпс на канвасе без профайлера и оптимизации, потому что генерит кучу ленивого говна?

Про прибаутки уровня, ну похуй что наш софт запускается минуту, зато, ээээ, зато мммм, ну зато!

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

Они еще выебываются тем что у них блять репл. Только каждый раз забывают добавить что
1) Вам нужно намазать 33 слоя говна на свой тулинг
2) Оно будет тормозить
ну и самая главная фича
3) Вам нужно особенным правильным образом писать код, чтобы мы просто могли взять, послать (очень медленно) собранный жс и тупо его заэвалить в браузере.

Да ты блять посмотри хотя бы setScriptSource в хромиуме и поймешь, что лайв релоад в кложуре это жалкий никчемный кусок говна.
Ответы: >>874977
Аноним 12/11/16 Суб 22:59:36 874964
>>874956
А в своем глазу бревна не замечаешь
>Кому-то не понравился мой любимый инструмент, значит этот кто-то плохой, тупой и криворукий
мимокрокодил
Ответы: >>874977
Аноним 12/11/16 Суб 23:43:33 874977
>>874964
С чего ты взял, что лейн - мой любимый инструмент? Ты какой-то странный. Почитал бы сперва наш диалог, бро. Он же сам жаловался на то, что у него не получается. Я-то тут при чем?

>>874961
> какой сервер
Так, успокойся, дыши глубоко, перечитай >>874930, про три таймера. Ты в ответ на это мне выдал ссылку на статью и обвинил в незнании основ геймдева, помнишь?

> говно
> говна
> кусок говна
Так, выпей новопассита, приляг, все хорошо. Включи мозг обратно, успокойся. Софт не запускается минуту - минуту в день суммарно ты тратишь на ожидание запуска. Посмотри, я так и написал в прошлом посте, видишь?

Намазывать 33 слоя нужно почему-то только тебе, а остальные просто пользуются фигвилом и радуются жизни. Тормозит почему-то он только у тебя - может пора устроиться на работу и купить себе нормальную машинку? "Особым образом" код нужно писать всегда, это называется "избавиться от глобального состояния", глобальное состояние - это плохонько.

Но все в этом треде уже поняли, что ты обиделся на кложурь и больше не можешь на нем ничего писать, так что не задумывайся особо о глобальном состоянии и прочей ерунде, посмотри еще на красивый логотип го да выпей чаю. Вкусно?
Ответы: >>874985 >>875047
Аноним 13/11/16 Вск 00:14:05 874985
>>874977
>С чего ты взял, что лейн - мой любимый инструмент?
Будь это не так, ты бы не пыхтел полтреда, яро пытаясь одолеть жалких еретиков, пытающихся осквернить светлое имя Кложи.
Ответы: >>874988
Аноним 13/11/16 Вск 00:27:10 874988
>>874985
У тебя наверное и диплом психолога есть, дружище?

Лейн - неповоротливый динозавр; если бы ты прочитал наш диалог, то увидел бы, что я об этом говорил. И не читай больше на ночь сказок про инквизицию, а то у тебя фантазия вон как разыгралась, дружочек.
Аноним 13/11/16 Вск 07:29:59 875047
>>874977
Тебе бы самому всё перечитать с самого начала не помешало бы, сектант-кун.
>язык охуенный, просто у тебя руки кривые
>чтобы не тормозило - пиши неидиоматично и с ассемблерными вставками
>это не тормозит, это у тебя компьютер слабый
>УМВР
Ответы: >>875277 >>875459
Аноним 13/11/16 Вск 18:32:53 875277
>>875047
Ты опять ничего нк понял, смешал в кучу свою игрушку и фигвил и присвоил сне словая которых я не говорил. Впрочем, тред в бамплимите, так что продолжать смысла нет. Ждем-с.
Ответы: >>875295
Аноним 13/11/16 Вск 19:03:02 875295
>>875277
Непробиваемая фанатичность.
Аноним 13/11/16 Вск 20:47:08 875321
>>875320 (OP)
>>875320 (OP)
>>875320 (OP)
Аноним 14/11/16 Пнд 09:00:42 875459
>>875047
>присвоил сне словая которых я не говорил
Ну зачем ты так, фанатик-кун?
>язык охуенный, просто у тебя руки кривые
"У меня не тормозит, а у тебя одного тормозит" - не твоё высказывание?
>чтобы не тормозило - пиши неидиоматично и с ассемблерными вставками
"Сделай на массивах на чистом джаваскрипте" - не твои слова?
>это не тормозит, это у тебя компьютер слабый
"Заработай себе уже и купи нормальную машину" - не ты ли говорил?
>УМВР
Смотри выше. Ты это не один раз повторил. И про ту же игру в 30 фпс, которая у тебя идеально шла - это тоже не ты говорил? Мне ссылки на посты тебе найти, фанатик-кун?
Подумай о своём поведении.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ Автообновление ] 505 | 28 | 141
Назад Вверх Каталог Обновить

Топ тредов
Избранное
Подписывайся на официальный канал Двача в Телеграме и узнавай обо всех новостях и мемах первым! https://tlg.wtf/dvachannel[X]