М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 28 апреля 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

88 Кб, 400x391

Лиспотред №5 10 Фев, 20:09 #649344 В конец треда | Веб

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

Основные диалекты
— 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 - это минималистичный лисп, пригодный в основном для обучения, исследований. Тем не менее, Racket вполне практичен. Racket включает в себя много подъязыков (typed racket, lazy racket, frtime racket), включая схему стандартов r5rs и r6rs.
— Clojure - Стильный, модный, молодежный лисп с бóльшим уклоном в функциональщину, иммутабельными структурами данных, поддержкой параллельщины с транзакционной памятью, агентами. Ориентированность на JVM сильно отразилась на дизайне языка, что многим не нравится.
— 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

Как изучить?
— 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
+ Racket Guide
+ SICP (это скорее вводные лекции по программированию, а не учебник по схеме, но тоже пойдет)
+ Попрактиковаться можно на Exercism'е http://exercism.io/languages/scheme

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

— 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
+ 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
Текущая версия шапки: http://pastebin.com/NQcjG6Kp

Ответы>>649769>>658657>>665405>>674097

10 Фев, 20:11 #2 #649348

https://www.youtube.com/watch?v=xzTH_ZqaFKI

Ответы>>651743>>685707

179 Кб, 1920x1080

10 Фев, 21:53 #3 #649567

Ударим лиспом по игропрому!
http://www.youtube.com/watch?v=7V9TF2qx1_8

Ответы>>653132

11 Фев, 04:12 #4 #649769

>>649344 (OP)
Что происходит на ОПпикче? Лисп похищает петон с земли, или же наоборот ПОДБРАСЫВАЕТ ЕГО НАМ?

Ответы>>649770>>649789>>650439

11 Фев, 04:20 #5 #649770

>>649769
Пидорским его делает, своими пидорскими лучами.

Ответы>>652186

11 Фев, 07:07 #6 #649789

>>649769
Думаю, похищает, спасая тем самым человечество от вредного питона.

11 Фев, 22:10 #7 #650439

>>649769
Он его поднимает. Просто другие способы его поднять не сработали. Оставалось только попробовать летающую тарелку и гравитационные лучи. Вот так питон и взлетел. А если выключить луч, то питон упадёт.

1604 Кб, 1920x1080

12 Фев, 20:44 #8 #651743

>>649348
https://www.youtube.com/watch?v=V0zxtX_1X8E

Ответы>>652203>>653132

13 Фев, 12:14 #9 #652186

>>649770
не пидорским а украинским

Ответы>>652346

13 Фев, 12:51 #10 #652203

>>651743
золотце, ты?

Ответы>>652258

13 Фев, 14:13 #11 #652258

>>652203
Разве это похоже на симту?

13 Фев, 15:02 #12 #652341

Лиспаны, а сильно ли велик оверхед от CLOSовских методов?
И как это проверить?

13 Фев, 15:06 #13 #652346

>>652186
Лол, а ведь правда.

1466 Кб, 1317x742

13 Фев, 23:43 #14 #653132

>>649567
>>651743
Лисп пиздит питон.

Ответы>>653294>>657889

14 Фев, 03:35 #15 #653294

>>653132
Как же всё-таки графон игру преображает.

14 Фев, 04:46 #16 #653314

Есть ли что-нибудь по лиспу типа checkio?

Ответы>>653331

10 Кб, 1012x475

14 Фев, 07:56 #17 #653331

>>653314
Что это? Хипстота какая-то?
Я так и не дождался, пока оно намайнит достаточное количество биткоинов, чтобы запуститься.

265 Кб, 554x408

16 Фев, 19:20 #18 #656437

Ну что же вы, лиспаны?
Ньюфаг вкатывается в тред. Начинаю учить кложуру для своего удовольствия. Какие подводные камни?

Ответы>>656525>>656526>>656609

16 Фев, 19:58 #19 #656525

>>656437
У тебя жаба в жопе застрянет, аккуратней.

16 Фев, 19:58 #20 #656526

>>656437
>Какие подводные камни?
java

Ответы>>656572

16 Фев, 20:14 #21 #656572

>>656526
где жава то, если кложура минуя жабу компилится в машинный код jvm?

Ответы>>656598>>656601

16 Фев, 20:26 #22 #656598

>>656572
Это ты так толстишь?

Ответы>>657663

16 Фев, 20:28 #23 #656601

>>656572
А жава там by design, потому что кложура - hosted язык. Читай как нескучный синтаксис к яве.

Ответы>>656605

16 Фев, 20:31 #24 #656605

>>656601
Ну так и хорошо же. Все это томкаты, jdbc драйверы, разве плохо?

Ответы>>656607>>656620>>656706

16 Фев, 20:32 #25 #656607

>>656605
Томкат - гавно, а вот netty - заебись.

Ответы>>656617

16 Фев, 20:32 #26 #656609

>>656437
Жабу знаешь? Если нет, то начни с чего-нибудь более самдостаточного.

Ответы>>656612

16 Фев, 20:34 #27 #656612

>>656609
знаю жабу и груви.

57 Кб, 604x403

16 Фев, 20:36 #28 #656617

>>656607
звучит достоверно

16 Фев, 20:39 #29 #656620

>>656605
>Ну так и хорошо же.
Не очень. Жаводрисня в кложурном коде выглядит слишком гхм... гармонично. Профит сомнителен.
>Все это томкаты, jdbc драйверы, разве плохо?
Конечно. Но некоторым вроде норм.

Ответы>>656623>>656642

16 Фев, 20:42 #30 #656623

>>656620
Какой тогда есть диалект лиспа с конкурентоспособной инфраструктурой?

Ответы>>656625

16 Фев, 20:44 #31 #656625

>>656623
Common Lisp, конечно же

Ответы>>657244

16 Фев, 20:52 #32 #656642

>>656620
https://gist.github.com/nblumoe/5468625
Вот типичный пример использования кложуры. Скриптуем яву в странном синтаксисе.

Ответы>>657244

16 Фев, 21:26 #33 #656706

>>656605
Если торчащая изо всех щелей жава тебя тебя не сильно смущает, то кложура, может быть, не такой уж и плохой выбор. Хотя я бы на твоём месте сначала присмотрелся к скале или котлину.

Ответы>>657244

208 Кб, 603x596

17 Фев, 06:20 #34 #657244

>>656706
>>656642
>>656625
Отлично, зашел в лиспотред чтобы услышать какое говно кложура. Ну ничего, если мне не понравится то уйду на коммон лисп. Или скалу, раз настаиваете.

Ответы>>657259>>657260

17 Фев, 07:41 #35 #657259

>>657244
Про

17 Фев, 07:42 #36 #657260

>>657244
Просто кложура здесь не в почёте.

Ответы>>657261

17 Фев, 07:48 #37 #657261

>>657260
Просто использование ЯП без нормальной системы типов не считается современным и оправданным.

Ответы>>657266

17 Фев, 08:04 #38 #657266

>>657261
А разве уже есть нормальные системы типов?

Ответы>>657274

17 Фев, 08:29 #39 #657274

>>657266
Нормальные ::= Те, чье наличие приносит меньше вреда, чем отсутствие статической системы типов.

Такие есть. Даже сраные кресты в этом смысле лучше кложуры с динамикой.

Ответы>>657288

17 Фев, 08:55 #40 #657284

Ананасы, а как у Лиспа обстоят дела с вебом? Есть ли удобные фреймворки с MVC архитектурой и функциональными плюшками (асинхронность, иммутабельность и т.д.)?

Я писал сайты/веб-сервисы на Java, C#, Python, PHP, Node.js, немного смотрел Ruby, Perl и Go, но ничего из этого не понравилось, как-то все оно громоздко и неуклюже, с тоннами глючащего говнокода. Вот сейчас решил попробовать функциональщину и размышляю, что лучше выбрать, Лисп, Хаскель или Эрланг.

Ответы>>657291>>657299>>689798

17 Фев, 08:58 #41 #657288

>>657274
Ну, существует также мнение, что кресты сами по себе приносят больше вреда, чем пользы. Да и еблю с Map<String, Vector<Pair<X, Y>>> едва ли можно признать нормальной. В этом смысле мне больше нравится ocaml. Да и в общелиспе благодаря частичному выводу типов отлавливается большинство ошибок, связанных с типизацией.

Ответы>>657293

17 Фев, 09:02 #42 #657291

>>657284
>удобные фреймворки с MVC архитектурой
Построены на модели чистых вычислений почти полностью (асинхронность, иммутабельность): React c Redux. Или ScalaJS c React и с Diode.
>а как у Лиспа обстоят дела с вебом
вот так (скорее всего):
>неуклюже, с тоннами глючащего говнокода

Ответы>>657292>>657294

17 Фев, 09:03 #43 #657292

>>657291
На самом деле, не так всё плохо.

17 Фев, 09:05 #44 #657293

>>657288
>Map<String, Vector<Pair<X, Y>>>
Как что-то плохое, за исключением иммутабельности, работой с Optional через монады, и т.п.

17 Фев, 09:05 #45 #657294

>>657291
А Clack и Caveman?

67 Кб, 1048x468

17 Фев, 09:14 #46 #657299

>>657284
Сейчас в основном используются фреймворки, построенные поверх clack ( http://clacklisp.org/ ): caveman, lucerne, ningle.
Иммутабельные структуры данных есть, но в виде отдельной библиотеке, которой мне никогда пользоваться не приходилось. fset, кажется, она называлась.
Для асинхронности существует cl-async и построенная поверх него библиотека promise'ов - blackbird.
Как-то так. И да, общелисп - не функциональщина.

Ответы>>657301>>657640

17 Фев, 09:14 #47 #657301

>>657299
>библиотеки

17 Фев, 16:32 #48 #657640

>>657299
> И да, общелисп - не функциональщина.
Хаскель тоже не функциональщина из-за монад.

Ответы>>657654

17 Фев, 16:39 #49 #657654

>>657640
>calc.exe не функциональщина из-за нагрева процессора

Ответы>>657662

17 Фев, 16:46 #50 #657662

>>657654
>матешка не фопэ из-за расходования чернил

17 Фев, 16:47 #51 #657663

>>656598
http://blog.guillermowinkler.com/blog/2014/04/13/decompiling-clojure-i/

1379 Кб, 1282x722

17 Фев, 21:19 #52 #657889

>>653132
Лисп еще много кого пиздит.
http://www.youtube.com/watch?v=xaR_Hqo68TU

Ответы>>657914>>657917>>658251>>658794>>661174

17 Фев, 21:52 #53 #657914

>>657889
О, ты наконец-то сделал подсказку.

17 Фев, 21:53 #54 #657917

>>657889
Графон охуенный, кстати

18 Фев, 12:04 #55 #658251

>>657889
Поделюсь что-ли впечатлениями от процесса написания игрушки.

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

Дальше пошла ебля с ffi. Здесь все волшебство репла кончилось. Понадеявшись на сборку мусора я поймал замечательные баги с неверной очисткой памяти и вообще порчей этой самой памяти при нескольких перезапусках SDL/переподгрузкой спрайтов. Ладно, хоть продакшн версия не страдает от этого недуга, т.к. после выхода полностью убивает образ. В общем прелести репл разработки свелись к тому, что постоянно приходилось перезапускать этот самый репл. Времени на поиск причин, очевидно, не было, потому что надо было делать игру. Итак столько дней было убито на попытки заставить это все работать под виндой и некоторые другие фиксы библиотеки.

Но это все частности, библиотека сырая, комьюнити полтора инвалида. Спишем на это.

CLOS при всей своей навороченности выдает такие стек трейсы (по крайней мере в sbcl) что отладка превращается в загрузку всего кода в голову, в попытках понять где вообще это произошло. Да, не осилил.

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

Рефакторинг динамически типизированного языка, особенно с макросами уровня with-slots это полный распиздос. Да, не осилил.

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

Ответы>>658374>>658794

18 Фев, 13:18 #56 #658330

У вас есть обфускация кода?

Ответы>>658333>>658334

18 Фев, 13:22 #57 #658333

>>658330
Зачем?

Ответы>>658341

18 Фев, 13:23 #58 #658334

>>658330
Принципиально возможна, но реализована ли - мне не известно.

Ответы>>658341

18 Фев, 13:27 #59 #658341

>>658333
Любопытно.

>>658334
Значит за столько лет её никто не написал? А криптографические программы на лиспе писать можно? Как у него со скоростью? Всякую стенаграфию шифровать на алгоритме который легко распространить но сложно понять принцип работы получится?

Ответы>>658353

18 Фев, 13:42 #60 #658353

>>658341
>А криптографические программы на лиспе писать можно?
http://www.cliki.net/Ironclad
>Как у него со скоростью?
SBCL, CCL и все (вроде бы все) коммерческие реализации генерируют довольно эффективный код.

18 Фев, 14:15 #61 #658374

>>658251
Наверное, стоило тебе посоветовать использовать более отлаженный да и вообще неплохо написанный lispbuilder-sdl. Правда он первую версию sdl'я поддерживает, а не вторую.
> В общем прелести репл разработки свелись к тому, что постоянно приходилось перезапускать этот самый репл.
Можно было обернуть место, где у тебя инициализируется игровой мир, перезапуском и его уже дергать без переинициализации sdl.
>особенно с макросами уровня with-slots
with-slot'ом лучше не злоупотреблять. Обычно он используется для слотов, которые считаются приватными, потому как обращается к ним напрямую через slot-value, а не через методы-accessor'ы, которые могут быть переопределены пользователем.

Ответы>>658828

Помогите с формулой 18 Фев, 14:43 #62 #658432

Господа, задали ДОМАШКУ в вузе. Я не прошу ее решать, прошу только помочь с формулой (ну да, сказать формулу - считай решить, лол). Просто подскажите формулу, как проверить "входит ли одна окружность в другую". Я с детства в контрах с алгеброй и геометрией. Вот текст задачи:
"Даны координаты центров и радиусы двух окружностей на плоскости. Может ли вторая окружность целиком содержится внутри первой?"
Не нужно решение, просто формула или хотя бы подскажите, куда копать. С меня нефть или фотки Эммы Стоун.

Ответы>>658438

18 Фев, 14:46 #63 #658438

>>658432
>Я с детства в контрах с алгеброй и геометрией
Нет, просто ты ленивое мурло, решившее поступить в вуз "шоб як у всiх". Отчисляйся, высшее образование не для тех, кто задачу седьмого класса решить не может.

Ответы>>658441>>658486

18 Фев, 14:48 #64 #658441

>>658438
Ну не помогай, тебя не заставляют.
Гондон.

Ответы>>658486

sage 18 Фев, 15:15 #65 #658486

>>658441
Поддвачну >>658438-адеквата, задача простая, гондон ленивый здесь ты.

Ответы>>658503

18 Фев, 15:31 #66 #658503

>>658486
Да я знаю, что она простая. Но я не знаю, в каком направлении копать, блять. Ебаный в рот, у меня по геометрии было три года подряд ебаная два, по алгебре аж три. Ну что, сложно сказать, что искать? Что за упыри, блять.

Ответы>>658542

18 Фев, 15:50 #67 #658542

>>658503
За это время мог бы уже изобразить задачу да сориентироваться, как её решать.
Расстояние между центрами вычисли, а потом сравнивай с радиусами.

Ответы>>658550

18 Фев, 15:56 #68 #658550

>>658542
Мне уже знакомый хохол с хабра скинул формулу. Это вообще какая-то вычислительная геометрия, оказывается.
Почему такая конъюктура на большинстве форумов? Если кто-то спрашивает, то его сначала хуесосят, пытаются провести анализ, проецируя свои реалии на этого человека (например, тот имбецил, который ляпнул про вуз), а потом дают наставление? Да я ебал, аж бесит.

Ответы>>658565

18 Фев, 16:05 #69 #658565

>>658550
Потому что нет никакого желания помогать ленивому хуйлу, которому лень пять минут посидеть, подумать.

Ответы>>658582

18 Фев, 16:11 #70 #658582

>>658565
Ты совсем ебнутый? Я специально написал, что я не умею в геометрию и алгебру, чтобы таких имбецилов, как ты, прогнать. Нет же, любой, кто знает (или делает вид, что знает), но не хочет сказать, считает долгом высраться в стиле "а ты сначала подумай, а потом реши". Как по-твоему, если я вообще не умел в геометрию, сейчас приду к выводам о решении формулы? Тебе же на это похуй, ты просто захотел высраться и высрался. Типичный дегенерат с постсовка. На стаке за "а ты подумай", "да это элементарно" банят нахуй и правильно.

Ответы>>658584

18 Фев, 16:14 #71 #658584

>>658582
Не можешь в геометрию - не сможешь и код писать.

Ответы>>658593

18 Фев, 16:18 #72 #658593

>>658584
ты правда даун, лол
бля, не знать алгебру - одно дело
да и то её можно знать на уровне 3-4 класса максимум 7-9
а вот кукарек насчёт геометрии пиздец какой тупой
в каком месте она нужна кроме дрочева задач?

Ответы>>658612

18 Фев, 16:37 #73 #658612

>>658593
>в каком месте она нужна кроме дрочева задач?
справка что не дебил. с дебилами по своей воле никто работать не станет

Ответы>>658622

18 Фев, 16:43 #74 #658622

>>658612
>вместо ответа он решил скосить под дурачка
неплохо ты под себя подливки ебнул, даун ;)
не знать геометрию - пиздец гуманитарем надо быть
думать что она пригодится в программировании не относящемся к топологии и архитектуре - нужно быть не просто гуманитарием нужно быть абсолютно отбитым ебанатом, который запизделся по ходу дискуссии ;)
ладно там тервер или дискретка, она нужна почти всем, но геометрия
кто то запизделся чуточку
короче, разбирайтесь, хотя понятно, что тут школьник с пятеркой по геометрией обосрался, защищает марь ивановну, у которой он любимчик

Ответы>>658652>>658655

18 Фев, 16:44 #75 #658624

Заебали срать, ну.

18 Фев, 17:04 #76 #658652

>>658622
О чем говорить с тем, кто не осилил уравнение окружности? Просто умри, мразь.

Ответы>>658658

sage 18 Фев, 17:06 #77 #658655

>>658622
>стена текста с БОЛЬЮ в каждом посте
>кто то запизделся чуточку
совсем не чуточку

18 Фев, 17:08 #78 #658657

>>649344 (OP)
Зашел в тред, чтобы узнать, зачем вы хотите похищать питон.

Ответы>>658677

18 Фев, 17:08 #79 #658658

>>658652
обосрался, обтекай, маня
я вообще мимокрокодил и геометрию я знаю, как и кучу других мат.дисциплин
меня аж перекосоебило от громкого заявления, что без геометрии не получится писать код
это несколько несвязанные между собой дисциплины а ты петушок с клювиком :^)

Ответы>>658670>>658672>>658676>>658680

18 Фев, 17:17 #80 #658670

>>658658
Никто не говорит, блядь, что для любого кода требуется знание геометрии. Смысл в том, что с долбоебом, не владеющим школьной программой, никто вменяемый не будет взаимодействовать, а тем более что-то там советовать/помогать. Это блядь базовые навыки, как чистить зубы, и не гадить под себя. И не коси под другого анона.

Ответы>>658683

sage 18 Фев, 17:18 #81 #658672

>>658658
>я вообще мимокрокодил и геометрию я знаю, как и кучу других мат.дисциплин
эти маневры

Ответы>>658680

sage 18 Фев, 17:20 #82 #658676

>>658658
>это несколько несвязанные между собой дисциплины
рюзске ты тоже хуево осили. умри уже, мразота.

Ответы>>658680>>658683

18 Фев, 17:22 #83 #658677

>>658657
>зачем вы хотите похищать питон
Добавить макросы с AST и легкую кодогенерацию

18 Фев, 17:25 #84 #658680

>>658676
>>658672
>>658658
Откуда вы такие натекли?

18 Фев, 17:27 #85 #658683

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

Ответы>>658687>>658696

18 Фев, 17:30 #86 #658687

>>658683
Пиздец блядь, вот тебе урок орфографии:
так пишет говно без мозга:
>это несколько несвязанные между собой дисциплины
вот так пишет хомо сапиенс:
>это нисколько не связанные между собой дисциплины

Ответы>>658689>>658691

18 Фев, 17:31 #87 #658689

>>658687
или
>это несколько не связанные между собой

23 Кб, 433x346

18 Фев, 17:32 #88 #658691

>>658687
тут шкет не знает про правописание причастий и прилагательных

Ответы>>658697

18 Фев, 17:34 #89 #658696

>>658683
Научись читать, говнюк. Я не пишу, что школьная программа пиздец как нужна полностью и каждый день. Я пишу, что уебыш, не осиливший в 6 классе геометрию, должен быстро уверенно пиздовать в макдак говорить "Свободная касса", или быть переработанным на метан в случае копротивлений. Так понятней, мразота?

Ответы>>658698

18 Фев, 17:35 #90 #658697

>>658691
Блядь, деепричастие, лол.

Ответы>>658698>>658702

18 Фев, 17:37 #91 #658698

>>658696
понятней, но у тебя опять же заблуждения на уровне дауна
умение разбираться в школьной программе по тому или иному предмету зависит от области знаний, в которой ты работаешь
ты вряд ли сможешь раскидать мне таблицу наследования рецессивных генов, а это проходят классе в 10, но это и не нужно тем кто не связан с медициной
так что обтирай трусики от какашек
>>658697
>несвязанные
>деепричастие
бляяяя, давай в пятый класс, там выучишь про наличие полных форм, зависимые слова, возможность замены синонимом и т.д.

Ответы>>658712

53 Кб, 960x642

18 Фев, 17:38 #92 #658702

>>658697
>Какие? Что сделанные?
>Деепричастие
Угостись, а потом иди подыхать в подъезд. Он еще тут учить кого-то вылез, блять.

Ответы>>658707

18 Фев, 17:41 #93 #658707

>>658702
Да, тут обосрался, таки причастие.

Ответы>>658719

18 Фев, 17:44 #94 #658712

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

Проблема осилить уравнение окружности в 5м классе — вполне достаточный признак имбецильности.

Ответы>>658721>>658827

sage 18 Фев, 17:47 #95 #658719

>>658707
таки 2 варианта:
>нисколько не связанные
>несколько несвязанные

Ответы>>658724

18 Фев, 17:48 #96 #658721

>>658712
ну это да
%здесь должен быть список из пары тысяч уравнений, понятий, правил, методов, задач и т.д, неосиляторство которых является признаком имбецильности%
мы скорее подходим к вопросу о гуманитариях и технарях

18 Фев, 17:50 #97 #658724

>>658719
ой, у нас тут покакали сами себе в рот)
ну хоть признался честно не стал дальше цирк устраивать

Ответы>>658730

18 Фев, 17:52 #98 #658730

>>658724
а подробнее?
>нисколько не связанные
раздельно, т.к. `нисколько` усиливает отрицание
>несколько несвязанные
таки не с причастием в общем случае

проблемс?

Ответы>>658731

18 Фев, 17:55 #99 #658731

>>658730
я в общем о том, что ты покакал себе в рот, спизданув про то, что у меня там ошибка
но ты молодец, что не стал отрицать, да еще и полез правила поискал, нашел и сам признался, что ошибки не было
хотя вопрос непринципиальный

Ответы>>658739

18 Фев, 18:02 #100 #658739

>>658731
>спизданув про то, что у меня там ошибка
увлекся косплеем Луговского, споткнулся на `несколько` сраспарсил как нескОлько, бывает

18 Фев, 19:00 #101 #658794

>>658251
>>657889
А исходники?

Ответы>>658828

18 Фев, 19:27 #102 #658827

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

Проблема осилить энергетические уровни в 10м классе — вполне достаточный признак имбецильности.
Ну ты понел.
мимо

18 Фев, 19:28 #103 #658828

>>658374
>Можно было обернуть место, где у тебя инициализируется игровой мир, перезапуском и его уже дергать без переинициализации sdl.
Я так и делал же.
>with-slot'ом лучше не злоупотреблять.
Не принципиально. Сделал я себе макрос на with-accessors уровня with-slots, чтобы не писать по 10 раз одно и то же. Суть проблемы в том что я переименовал/выпилил свойство из класса и рефакторинг этого дерьма нихуя не приятен.
>>658794
Оформлять надо. Пока лень.

Ответы>>658836

18 Фев, 19:36 #104 #658836

>>658828
Разве slime-who-calls не находит ацессоры по коду?

Ответы>>658852

18 Фев, 19:41 #105 #658852

>>658836
Хз, не пробовал. Хочется статическую типизацию, чтобы убрал поле из класса и код не соберется, показывая каждую строчку где оно используется, но тут уж либо-либо.

Раст что-ли пощупать? Там и макросы есть вроде как.

Ответы>>658873>>665297

18 Фев, 19:51 #106 #658873

>>658852
Щупал, но мне не понравился. Ебля с этими владениями памяти напрягает похлеще лифтинга монад в хаскеле.
Попробуй лучше ocaml. Там тебе и макросы (хотя они отличаются от лисповых и вообще я их не осилил), и ФП, и ООП, и ебли с типизацией и мутабельными данными нет.

Ответы>>658937>>659061

18 Фев, 20:24 #107 #658937

>>658873
Да в целом я пока общелисп буду дальше палочкой тыкать. Уж слишком гомоиконность с макросами хороша.

18 Фев, 22:07 #108 #659060

>SBCL compiles by default: even functions entered in the read-eval-print loop are com‐
>piled to native code, unless the evaluator has been explicitly turned on. (Even
>today, some 30 years after the MacLisp compiler, people will tell you that Lisp is an
>interpreted language. Ignore them.

Ответы>>659063

18 Фев, 22:10 #109 #659061

>>658873
Что скажешь за окамл? Прочитал статейку на вики. Увидел ML/haskell и ;;
Возможность городить императивную лапшу порадовала.

Ответы>>659148>>659161

18 Фев, 22:13 #110 #659063

>>659060
Блядь, а вот это проблема:
> SBCL, like most (maybe all?) implementations of Common Lisp on stock hardware, has
> trouble passing floating point numbers around efficiently, because a floating
> point number, plus a few extra bits to identify its type, is larger than a machine
> word. (Thus, they get "boxed" in heap-allocated storage, causing GC overhead.)
> Within a single compilation unit, or when doing built-in operations like SQRT and
> AREF, or some special operations like structure slot accesses, this is avoidable:
> see the user manual for some efficiency hints. But for general function calls
> across the boundaries of compilation units, passing the result of a floating point
> calculation as a function argument (or returning a floating point result as a
> function value) is a fundamentally slow operation.

Я хочу opengl гонять, а там без флоатов никуда.

Ответы>>659079

18 Фев, 22:36 #111 #659079

>>659063
Посоны успокоили, мол простые флоаты на х64 все равно не боксят, да и вообще векторы во все поля.

19 Фев, 00:03 #112 #659148

>>659061
Написал текст, подумал, удалил. Окамл довольно хороший язык, но у него нихуя нет. А если ты под виндой, то там у него нихуя нет в квадрате. Зато там есть макросы, которые позволяют перепердолить язык, как тебе хочется (я пока в них не смотрел), и производительность почти как у крестов.

Ответы>>659161>>659165

19 Фев, 00:20 #113 #659161

>>659061
Ну, если пересаживаться на окамл после хаскеля, то первым делом в глаза бросается отсутствие тайпклассов, от чего в стандартной библиотеке ты можешь увидеть +. -. /. для флоатов и + - / для интов, что немного напрягает при написании числодробилок, т.е. ad-hoc полиморфизма нет (если не считать ООП, которое в языке стоит немного особняком), только параметрический. Но это отчасти компенсируется системой модулей, функторами (параметризируемыми модулями).
Стандартная библиотека - говно. Такое ощущение, что её когда-то примерно на половину не успели доделать, а потом просто забили. Но существуют замены ей: batteries и core от jane street.
Сборщик мусора многопоточный они не осилили, unboxed-типов не завезли.
Ситуация с библиотеками примерно как у общелиспа. Может чуть хуже.
>>659148
>и производительность почти как у крестов.
Ну, до крестов ему далековато. Немного быстрее sbcl.

19 Фев, 00:29 #114 #659165

>>659148
>Зато там есть макросы, которые позволяют перепердолить язык
Это не совсем макросы в лисперском понимании. Они представляют из себя расширения препроцессора.
https://en.wikipedia.org/wiki/Camlp4#Example

19 Фев, 10:22 #115 #659293

https://github.com/search?p=1&q=stars:>1+language:ocaml&type=Repositories&utf8=✓
Лицокнига первонах

Ответы>>659314

19 Фев, 11:17 #116 #659314

>>659293
>stars:>1 language:ocaml
>We’ve found 2,375 repository results

>stars:>1 language:common-lisp
>We’ve found 2,825 repository results

Ответы>>659341

19 Фев, 12:02 #117 #659341

>>659314
При этом по звездам (читай лайкам -> размеру сообщества) лисп печально всасывает.

Ответы>>659343

19 Фев, 12:08 #118 #659343

>>659341
Ну, звезды - не показатель. Вангую, что больше половины звёзд ставили праздные зеваки, которые прочитали где-то на хакерньюс о новом суперпроекте от лицокниги.

Ответы>>659349

19 Фев, 12:21 #119 #659349

>>659343
И то верно.

20 Фев, 12:00 #120 #660819

Поле :type у слотов классов имеет хоть какое-то значение?

Ответы>>660838

20 Фев, 12:20 #121 #660838

>>660819
>as the CLOS slot types are not available for the type inferencer, nor do CLOS slot types provide any efficiency benefits.
Нашел. sbcl их только для проверки типов может использовать, но не для вывода типов.

20 Фев, 17:27 #122 #661095

Аноны, поясните. Какая крупная прога написана полностью на лиспе?

Ответы>>661128>>661129

20 Фев, 18:13 #123 #661128

>>661095
https://en.wikipedia.org/wiki/Maxima_(software)

Ответы>>661153

20 Фев, 18:13 #124 #661129

>>661095
https://github.com/search?utf8=✓&q=stars:>1+language:common-lisp&type=Repositories&ref=searchresults

Ответы>>661145

20 Фев, 18:42 #125 #661145

>>661129
https://github.com/metawilm/cl-python
Во! Что я нашел

20 Фев, 18:57 #126 #661153

>>661128
Охренеть. Тут 90% посетителей младше этой проги. Спасибо.

Ответы>>661215

20 Фев, 19:02 #127 #661162

Есть реализация умеющая компилить под ведроид?

Ответы>>661170

20 Фев, 19:07 #128 #661170

>>661162
Под arm умеют почти все. Но встроить в jvm получится только ecl и некоторые коммерческие (mocl, allegro, lispworks).

Ответы>>661174

20 Фев, 19:09 #129 #661174

>>661170
Хочу попытаться собрать >>657889 под ведро.

Ответы>>661180>>661241

20 Фев, 19:15 #130 #661180

>>661174
Интересно будет посмотреть. Только учти, ecl ещё не научился в кросскомпиляцию.

20 Фев, 19:46 #131 #661215

>>661153
Как и емакс.

20 Фев, 20:11 #132 #661241

>>661174
Ой да чет впизду. Слишком дохуя гемороя.

Ответы>>662291

21 Фев, 21:03 #133 #662291

>>661241
https://www.youtube.com/watch?v=ApXVNPXibaU

Ответы>>662441>>662453

21 Фев, 22:23 #134 #662441

>>662291
Именно. Попробуй сам если хочешь.

21 Фев, 22:28 #135 #662453

>>662291
Фу, какая неприятная дама.

24 Фев, 14:19 #136 #665036

Господа, делал задачку из сиспа, а она не хочет работать. Концептуально - вроде правильно. Сначала считает длину, потом берет список, найденную длину как n-1 (список же идет с нуля) и рекурсивно считает, по идее должно возвращать последний элемент. Но не работает. В чем трабл, как вы думаете?
Текст из сиспа
Упражнение 2.17.
Определите процедуру last-pair, которая возвращает список, содержащий только последний
элемент данного (непустого) списка.
(last-pair (list 23 72 149 34))
(34)

https://repl.it/Bpk7/1

Ответы>>665245>>665254

24 Фев, 17:42 #137 #665245

>>665036
user=> (defn last-pair [arg] (list (last arg)))
#'user/last-pair
user=> (last-pair (list 23 72 149 34))
(34)

24 Фев, 17:51 #138 #665254

>>665036
Он ругается, на выражение (= n 0)
Он ждет число в n, но у тебя вместо числа замыкание.

24 Фев, 18:37 #139 #665297

>>658852
>Раст что-ли пощупать? Там и макросы есть вроде как.
Они там куцые, как дженерики по сравнению с темплейтами. Насколько я понял, даже факториала не посчитать, просто шаблонные подстановки кода. Но там еще плагины для компилятора можно писать, там уже есть тьюринг полнота.

Ответы>>665352

24 Фев, 19:36 #140 #665352

>>665297
>Но там еще плагины для компилятора можно писать
Нда, с таким лишний раз связываться не захочешь.

24 Фев, 20:23 #141 #665405

>>649344 (OP)
Зачем питон забрали? Верните на место!

Ответы>>665612

24 Фев, 22:43 #142 #665612

>>665405
Ещё спасибо скажешь.

1438 Кб, 1345x786

24 Фев, 22:59 #143 #665642

Поддержите лисп, товарищи!
http://steamcommunity.com/sharedfiles/filedetails/?id=631802657

Ответы>>665774

25 Фев, 00:26 #144 #665774

>>665642
Дай ссылочку на свежий билд, а то так и не поиграл.

Ответы>>665866

25 Фев, 02:13 #145 #665866

>>665774
Только под винду, потому что под линь лень собирать в кучу .so
Если надо, могу собрать под линь, но либы надо будет доставлять через пакетный менеджер или руками.
http://tatrix.org/public/games/lispstone.zip

25 Фев, 17:43 #146 #666416

Ковырял кто-нибудь qtools-ui?

20 Кб, 674x501

25 Фев, 20:38 #147 #666668

>>666666

25 Фев, 20:39 #148 #666671

Вот гадость! Не успел

28 Фев, 15:13 #149 #669762

Палю годноту: http://franz.com/support/documentation/10.0/doc/basic-lisp-techniques.pdf

Добавьте в шапку, чтоль.

Ответы>>669781>>672911

28 Фев, 15:31 #150 #669781

>>669762
Лучше сам добавь, а то к бамплимиту опять забудется.

Ответы>>672407

01 Мар, 16:35 #151 #672407

>>669781
Такими темпами бамплимита мы не дождемся.

Ответы>>672704

01 Мар, 22:17 #152 #672704

>>672407
Ну, у нас тут всё-таки не перезвоним-тред, чтоб перекатываться часто.

Ответы>>672788

01 Мар, 23:06 #153 #672788

>>672704
Ну так-то да. Нужна тема для обсуждения что-ли.

24 Кб, 600x600

02 Мар, 00:09 #154 #672911

>>669762
>Basic Lisp Techniques
> David J. Cooper, Jr.
> March 19, 2003
>March 19, 2003
>2003

Суть некроговна без задач.
Бамплимита они, блядь, ждут.

Ответы>>672914>>672926

02 Мар, 00:12 #155 #672914

>>672911
По меркам лиспа, это относительно свежая книга.
Иди куда шел, смертный.

Ответы>>672920

39 Кб, 600x600

02 Мар, 00:22 #156 #672920

>>672914
А ты бессмертный дохуя?
13 (ТРИНАДЦАТЬ!) лет прошло, всё так же тормозит и не имеет ни вменяемых компиляторов, ни библиотек.
ЗАЧЕМ???
Зачем вам это окаменевшее говно?
Чтобы показать какой ты ХАКЕР? Чтобы все охуели? Фанаты некроговна похожи на идиота из Goat.se, который умеет из очка делать бездонное дупло. Это невероятно выглядит, этого очень трудно достичь, ЗАЧЕМ это делать со СВОИМ очком?

Ответы>>672924>>672932>>672941

02 Мар, 00:26 #157 #672924

>>672920
Может ты еще покукареашь на "The C programming Language"?

02 Мар, 00:27 #158 #672926

>>672911
А что такого? На общелиспе писали ещё в те времена, когда твоя мамка была молодой девчушкой.
Удивительно, но спустя столько времени он всё ещё остаётся современным, в отличие от твоей мамки.

02 Мар, 00:31 #159 #672932

>>672920
>13 (ТРИНАДЦАТЬ!) лет прошло, всё так же тормозит и не имеет ни вменяемых компиляторов
Лолчто? Вменяемыми компиляторы и 13 лет назад, и 15, и даже 20.
А библиотек - да, не очень много.

02 Мар, 00:47 #160 #672941

>>672920
Каких именно библиотек тебе не хватило? В чем невменяемость SBCL/Clozure?
>Чтобы показать какой ты ХАКЕР? Чтобы все охуели?
Это, конечно, хорошо, что у тебя есть хотя бы такая мотивация, но у людей могут быть другие причины, представь себе. Ты бы смог их понять, если бы попытался немного вникнуть в предмет обсуждения, чего ты не сделал, судя по
>всё так же тормозит
0/10, try harder m8

Ответы>>673156>>673529

02 Мар, 10:37 #161 #673156

>>672941
Залетный кукарека, что с него взять.

02 Мар, 15:05 #162 #673340

Решил пройти SICP, скачал схем отсюда https://www.gnu.org/software/mit-scheme/ .
Не могу понять как им пользоваться, слишком олдскульно.
Дайте советов, спасибо.

Ответы>>673348

02 Мар, 15:12 #163 #673348

>>673340
drracket качай

Ответы>>673351

40 Кб, 605x642

02 Мар, 15:15 #164 #673351

>>673348
Так и сделал, но не будет никаких несоответствий с SICP?

Ответы>>673359

02 Мар, 15:20 #165 #673359

>>673351
Выставь язык r5rs и всё будет нормально.

Ответы>>673365

02 Мар, 15:27 #166 #673365

>>673359
Спасибо.

Ответы>>673497

02 Мар, 17:54 #167 #673497

>>673365
Вернулся. Первое задание сицпа, сума квадратов наибольших двух чисел из трех возможных.
Ебаные скобочки

(define (square x) (* x x))
(define (sumofsquares x y) (+ (square x) (square y)))
(define (largest x y z) (sumofsquares
(cond ((and (>= x y) (>= x z)) x)
((and (>= y x) (>= y z)) y)
(else z))
(cond ((and (>= x y) (<= x z)) x)
((and (>= y x) (<= y z)) y)
(else z))))

Ответы>>673525

02 Мар, 18:19 #168 #673525

>>673497
У тебя ошибка. Ты получаешь в результате сумму квадратов наибольшего числа (т.е. 2 * max²), а не двух наибольших.

Ответы>>673631

02 Мар, 18:28 #169 #673529

>>672941
>SBCL
>Последняя версия 28 июня 2015
Ну хорошо хоть не 1985.

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

Ответы>>673531>>673533>>673548>>674091

02 Мар, 18:30 #170 #673531

>>673529
>Ну хорошо хоть не 1985.
Это форк cmucl, первая версия которого была в ~85 году. Сам cmucl тоже вроде живой, недавно даже релиз выкатили.

02 Мар, 18:31 #171 #673533

>>673529
>5й тред спрашиваю, хуею с заплесневелых мозгов некрофилов.
Алсо, что именно ты спрашиваешь? Я, например, в твоем набросе вопросов не вижу.

Ответы>>673551>>673582

02 Мар, 18:41 #172 #673548

>>673529
>Последняя версия 28 июня 2015
Давненько в википедии информацию не обновляли. С тех пор семь релизов успело выйти.

Ответы>>673553

02 Мар, 18:44 #173 #673551

>>673533
Реально рабочие проекты есть?
Работают? Разрабатываются? Именно проекты, а не полтора прыща на GitHub.
Вакансии есть? Востребован?
Коммьюнити есть? На любом языке, главное чтобы >1.5 быдлокодера.
Вектор развития? Библиотек нет уже 30+ лет - а через 30 уже будут?

Ответы>>673559

02 Мар, 18:47 #174 #673553

>>673548
>The most recent version is SBCL 1.3.3, released February 29, 2016

Действительно, снимаю свой говнокомментарий.

02 Мар, 18:50 #175 #673559

>>673551
>Реально рабочие проекты есть?
Есть.
>>673551
>Работают?
Да.
>>673551
>Разрабатываются?
Да.
>>673551
>Именно проекты, а не полтора прыща на GitHub.
Да.
>>673551
>Вакансии есть?
Мало.
>>673551
>Востребован?
Мало.
>>673551
>Коммьюнити есть?
Не слишком большое.
>>673551
>Библиотек нет уже 30+ лет - а через 30 уже будут?
Они и раньше были. И сейчас есть. За это время уже несколько раз успели полностью обновиться (в том смысле, что старые выкинули, написали новые).
Алсо, с появлением quicklisp'а ситуация с библиотеками (точнее, с их доступностью) заметно улучшилась.

Ответы>>673569>>673576

02 Мар, 18:55 #176 #673569

>>673559
>Есть
>Да
>Да
>Да
>Да

Странно, а гугл не находит. Неужели ты пиздишь?

Ответы>>673570

02 Мар, 18:56 #177 #673570

>>673569
Возможно, ты просто не умеешь гуглить.

Ответы>>673582

02 Мар, 19:00 #178 #673576

>>673559
>с появлением quicklisp'а
Не Quicklisp, а Quicklisp beta.
Beta уже в назвнании - это разве не пиздец?
Релизом она станет лет через 20-25, хотя, как упомянул этот >672914 упоротый, по меркам лиспа это все еще будет относительно быстро и свежо.

Ответы>>673578

02 Мар, 19:00 #179 #673578

>>673576
Там от беты только название.

02 Мар, 19:03 #180 #673582

>>673570
Толст, некрфл.
Примеры есть?

>>673533
Пиздец, вопросы есть, ответов нет, некрофилы требуют еще вопросов.
Ок, задам их еще раз в 6м треде.
Может там появится кто-то без мозгоплесени.

Ответы>>673585>>673586>>673627

02 Мар, 19:07 #181 #673585

>>673582
>Примеры есть?
http://tech.grammarly.com/blog/posts/Running-Lisp-in-Production.html
Ну на

Ответы>>674501>>674570

02 Мар, 19:09 #182 #673586

>>673582
Можешь ещё проектики всяких CMU поискать. Или лиспворкс в промышленности. Или всякие семантиквебы на аллегро. Да или просто йоба-сайтики.
Только зачем тебе это?

02 Мар, 19:30 #183 #673627

>>673582
Ну что? Твоё любопытство удовлетворено?

Ответы>>673672>>674501

35 Кб, 687x501

02 Мар, 19:36 #184 #673631

>>673525
Я тебя не понял.

Ответы>>673636

02 Мар, 19:41 #185 #673636

>>673631
А, мне показалось, что у тебя условия одинаковые. Можно было и проще, кстати.
[code lang=scheme]
(define (largest x y z)
(cond ((> x y z) (+ (square x) (square y)))
((> z y) (largest x z y))
((> y x) (largest y x z))))
[/code]

Ответы>>673642

02 Мар, 19:46 #186 #673642

>>673636
>(> x y z)
Обосрался немного. Должно быть (>= x y z)

Ответы>>673653

02 Мар, 20:00 #187 #673653

>>673642
А повторов не много ли?

Ответы>>673655

02 Мар, 20:01 #188 #673655

>>673653
М?

Ответы>>673658

02 Мар, 20:03 #189 #673658

>>673655
Ну сортировать еще несколько раз, чтобы сработало первое условие.

Ответы>>673660

02 Мар, 20:04 #190 #673660

>>673658
Максимум две перестановки будет.

Ответы>>673661

02 Мар, 20:05 #191 #673661

>>673660
А, не. Три.

02 Мар, 20:14 #192 #673672

>>673627
Ты только со школодебилами дело имеешь? Я изучаю ссылку. Одну, как ответ на все мои вопросы, наверное.

Ответы>>673673

02 Мар, 20:17 #193 #673673

>>673672
Нет, почему. Бывают и нормальные люди. Но сегодня, увы, вместо них ты.

03 Мар, 09:17 #194 #674091

>>673529
>>другие причины
>5й тред спрашиваю, хуею с заплесневелых мозгов некрофилов.
Скорость разработки. Выразительность. Любая фича любого другого языка реализуется в CL за полчаса под пивас (ок, почти любая, call/cc не завезли, увы). Производительность, при грамотном использовании макросов и деклараций типов, отсасывающая, разве что, C/C++. Интерактивная разработка, загрузка и компиляция нового кода без остановки программы, встроенные средства для дебаггинга и интроспекции. Максимально гибкая объектная система, породившая такие языки как Python или Ruby (являющиеся, по сути, недолиспами с инфиксным синтаксисом).
"Некрофил с заплесневелыми мозгами" -- тот, кто использует один из вариантов высокоуровневого ассемблера, вместо языка, опередившего свое время и повлиявшего на дизайн практически всех мейнстримных ЯП.

Ответы>>674113>>674177>>674327

03 Мар, 09:32 #195 #674097

>>649344 (OP)
http://okmij.org/ftp/Scheme/
В шапку можно добавить, я считаю.

Ответы>>674505

03 Мар, 10:28 #196 #674113

>>674091
Объясни, мне тупому что это за call/cc такой, и почему все так жалеют о том, что его не завезли?

Ответы>>674224

03 Мар, 12:34 #197 #674177

>>674091
> языка, опередившего свое время и повлиявшего на дизайн практически всех мейнстримных ЯП
Ну збс, опередил свое время 50 лет назад, повлиял на всех, зачем его сейчас-то использовать? Серьезно, последний стандарт общелишпа вышел 22 года назад (и уже тогда был устаревшим мессом, собранным из 10 разных версий прямиком из 70х), даже няшная за это время успела два новых выкатить.
Если уж браться за лиспы сейчас, то за схему/ракет/кложуру, CL стоит оставить легасикрестьянам.

Ответы>>674224

03 Мар, 14:00 #198 #674224

>>674113
Представь, что это setjmp/longjmp, сохраняющий состояние стека. Или "first-class goto".
>>674177
А что именно тебя в стандарте не устраивает кроме отсутствия call/cc, TCO и того, что это lisp-2? Все, что должно, по идее, быть в стандарте (сокеты, многопоточность, MOP), есть во всех живых имплементациях, врапперы для их портабельного использования тоже есть. Такой-то CFFI есть. Хуле еще надо?
>Если уж браться за лиспы сейчас, то за схему
Схема -- не лисп. Схемка, конечно, няшка и май вайфу, но тут люди про серьезные проекты™ говорят, а как их писать, когда есть стандарт, в котором почти нихуя и зоопарк несовместимых между собой реализаций -- хуй знает.
>кложуру
Тогда уж браться за обычную жабу и не страдать хуйней.

Ответы>>674236

03 Мар, 14:32 #199 #674236

>>674224
> Хуле еще надо?
Надо выкинуть все старье (типа динамических переменных и car/cdr) и дублирующий функционал, привести все к одному виду (типа -p суффиксов у предикатов), OOP должен быть интегрирован с остальным языком, а не быть левой приблудой, добавленной в последний момент, юникод должен быть в стандарте, макросы должны быть гигиеничными, стандартная библиотека должна быть больше.
>сокеты, многопоточность, MOP есть во всех живых имплементациях
В каждой со своими тараканами и через свои костыли.
> 2016
> CL
> серьезные проекты
Лiл.

Ответы>>674417>>674444>>674695

03 Мар, 16:07 #200 #674327

>>674091
>call/cc не завезли, увы
Как не завезли? cl-cont же

Ответы>>674695

03 Мар, 17:03 #201 #674417

>>674236
>старье
>типа динамических переменных
Схемер что ли? С чего ты взял, что это старье? Одна из самых удобных фишек лиспа.
>OOP должен быть интегрирован с остальным языком
Оно и так интегрировано. Другое дело, что в стандартной библиотеке практически не используется.
>юникод должен быть в стандарте
Хотел было возразить, но оказалось, что его и правда нет в стандарте. Тем не менее, во всех живых реализациях заподдержку завезли с два десятка лет назад.
>макросы должны быть гигиеничными
А, и точно схемер. Покажи, как анафорические макросы с гигиеной реализуются.
>стандартная библиотека должна быть больше
Ещё больше?
>В каждой со своими тараканами и через свои костыли.
И много ты их разглядел через closer-mop или usocket, которые де-факто стандарт?

Ответы>>674463

03 Мар, 17:14 #202 #674444

>>674236
https://github.com/cl21/cl21
А вообще, пилится замена стандартной библиотеке с MOP, gray-steams, alexandia и т.д.
Но, как у них сказано
>CLOS-based functions and MOP -- write fast, tune later
оно пока что только write fast.

Ответы>>674463

03 Мар, 17:25 #203 #674463

>>674417
> Схемер что ли? С чего ты взял, что это старье? Одна из самых удобных фишек лиспа.
Их оставили для совместимости со старым кодом, со времен, когда lexical scoping еще не утвердился, они не нужны и регулярно приводят к багам. Посмотри как elisp-ры с ними страдают.
> Другое дело, что в стандартной библиотеке практически не используется.
Вот-вот.
> Покажи, как анафорические макросы с гигиеной реализуются.
Анафорические макросы нахуй не нужны в реальной жизни, зато отсутствие гигиены приводит к куче проблем. Максросистема общелиспа это еще один кусок говна прямиком из 60х, оставшийся для совместимости, хотя уже в 80х все понимали, что надо делать как в схеме.
> Ещё больше?
Меньше в плане ненужной/повторяющейся/устаревшей хуиты и больше в плане функционала и интегрированности, типа современной STL или даже BCL.
> которые де-факто стандарт
И вот так 20 разных либ, разбросанных по интеренетам, и каждая - де-факто стандарт для отдельной кучки лишпохачкеров.
>>674444
Он ожил штоле? Он же года два как мертвым лежал. Но если ожил то збс, но это надо было делать 15 лет назад и комитетом, не столько добавляя сколько выкидывая, переписывать учебники, все дела. Я чую это благое начинание так и останется поделкой для полутора хачкеров.

Ответы>>674504

03 Мар, 17:50 #204 #674501

>>673585
>>673627
Этот текст один сплошной ЛОЛ. Ты хоть сам читал его?
На полторы простыни автор высказывает следующие тезисы:
1. На Лиспе не хватает функционала
2. На Лиспе нет того что нам нужно
3. Мы все это дописали сами, изобрели костыли с колесом
4. Держим хуеву тучу лисперов, чтобы это все работало
5. ЛИСП ОХУЕНЕНН!!!1111

Автор - невероятный идиот, блядь как я смеялся. Ты хоть сам читал по ссылке?
Это ты привел пример реально рабочих проектов? Ты упорот?

Ответы>>674509>>674516

03 Мар, 17:53 #205 #674504

>>674463
>они не нужны
Мне нужны. Без них многие вещи писать сложнее.
>регулярно приводят к багам
Одна область видимости для функций и переменных тоже к багам приводит. Да и про динамическую типизацию тоже такое нередко слышишь. Но ничего, люди же справляются.
>Посмотри как elisp-ры с ними страдают.
Елиспы страдают не с динамическими, а без лексических переменных. Не путай.
>Анафорические макросы нахуй не нужны в реальной жизни
Я тебя не спрашивал: нужны они или нет. В этом вопросе твое мнение меня не интересует.
Я просил показать реализацию.
>зато отсутствие гигиены приводит к куче проблем
Странно, что в реальной жизни они не попадаются.
>И вот так 20 разных либ, разбросанных по интеренетам
Обновляй методичку. Уже давно методом естественного отбора поотсеивались всякие uffi, metabang и т.д.
>каждая - де-факто стандарт для отдельной кучки лишпохачкеров.
Это ты про dwim.hu что ли? Эти странные уже прекратили свою деятельность.

Ответы>>674519

03 Мар, 17:53 #206 #674505

>>674097
Что это и нахуй надо?

Ответы>>674695

03 Мар, 17:57 #207 #674509

>>674501
Насколько я помню, автор описывал проблемы, с которыми им приходилось сталкиваться.
>Это ты привел пример реально рабочих проектов?
А он не реально рабочий или что? Думаешь, эти хитрецы наняли ораву индусов и посадили обрабатывать запросы, а сами сказали, что всё написано на лиспе?

Ответы>>674558

03 Мар, 18:06 #208 #674516

>>674501
Проглядел статью и возникло пару вопросов.
Ты точно английский разумеешь? И ту ли ты статью читал?

Ответы>>674561

03 Мар, 18:09 #209 #674519

>>674504
> В лиспе уже 60 лет можно сделать Х, а в других языках - нельзя.
> Но ведь Х не нужен, усложняет использование языка и приводит к плохо отлаживаемым проблемам. Развитие PLT с 70х по настоящее время показало полную несостоятельность такого подхода и подложило множество гораздо более продуманных, удобных и безопасных альтернатив. Остальные языки давно уже отказались от Х как от устаревшей технологии и вовсю пользуются этими альтернативами.
> Я тебя не спрашивал: нужны они или нет. Мне нужны. В реальной жизни эти проблемы не попадаются. Ничего, люди же справляются. В этом вопросе твое мнение меня не интересует. Я просил показать реализацию X в других языках.
Каждый раз.

Ответы>>674532

03 Мар, 18:24 #210 #674532

>>674519
Ух какой ты склизкий и вертлявый.

6 Кб, 272x185

03 Мар, 18:41 #211 #674558

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

Ответы>>674595

03 Мар, 18:43 #212 #674561

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

11 Кб, 214x229

03 Мар, 18:47 #213 #674570

>>673585
Автор с гордостью декларирует, как они любят подбирать язык под задачу. А потом описывает трудности, решение которым - Python. Но они используют Лисп. Дебилы блядь.

Ответы>>674581

03 Мар, 18:50 #214 #674581

>>674570
Боже, откуда ж вы набежали-то такие? Го-тред закрыли что ли?

03 Мар, 18:59 #215 #674595

>>674558
И сколько их там? Не вижу в статье упоминаний.

03 Мар, 20:36 #216 #674695

>>674236
>выкинуть все старье (типа динамических переменных и car/cdr)
Не используй.
>привести все к одному виду (типа -p суффиксов у предикатов)
Приведи.
>OOP должен быть интегрирован с остальным языком, а не быть левой приблудой
лiлшто
>макросы должны быть гигиеничными
Не используй негигиеничные. Или руки чешутся, боишься сорваться ненароком?
>юникод должен быть в стандарте
>стандартная библиотека должна быть больше
Ну какой же это схемер -- обычный гвидосектант.
>>674327
Костыль на макросах, раскрывающийся в абсолютно не пригодную к отладке лапшу.
>>674505
Всякие прикольные штуки, на схеме написанные и все такое. Чтоб было, а хуле нет?

Ответы>>674763>>674811

sage 03 Мар, 21:23 #217 #674763

>>674695
>можнозделать

Ответы>>674799>>674821

sage 03 Мар, 21:37 #218 #674799

>>674763
>нинужна

03 Мар, 21:43 #219 #674811

>>674695
>Костыль на макросах, раскрывающийся в абсолютно не пригодную к отладке лапшу.
Да, есть такое. Но для применения вполне пригодна.
Алсо, разве встроенный call/cc легче поддается отладке?

Ответы>>674827

03 Мар, 21:50 #220 #674821

>>674763
Сделай. Никто не будет пилить твой вишлист фич, без которых сообщество прекрасно обходится больше двадцати лет.

03 Мар, 21:53 #221 #674827

>>674811
Ну, стек-трейсы вменяемые хотя бы.

04 Мар, 00:22 #222 #675095

https://github.com/Bike/compiler-macro
https://github.com/Bike/compiler-macro/blob/master/test/tabasco-sort.lisp
Ура, кто-то не поленился и запилил. Джва года собирался.

05 Мар, 23:26 #223 #677786

https://common-lisp.net/project/parenscript/
Кто-нибудь пользовался?

Ответы>>677885

06 Мар, 02:10 #224 #677885

>>677786
http://www.youtube.com/watch?v=aKYzfew1pnE
Сам не пользоваться, но вроде выглядит вполне юзабельно.
Даже обертки для реакта и жквери нагуглились.

Ответы>>677971>>678040

06 Мар, 10:22 #225 #677971

>>677885
Ага, кажется, я это уже видел. Ладно, попробуем-с.

06 Мар, 12:49 #226 #678040

>>677885
Кстати, жтот же товарищ замутил cl-collider, клиент для SupperCollider: http://www.youtube.com/watch?v=xzTH_ZqaFKI
Пытался заставить его работать, но, увы, безрезультатно. Хотя scide работает и пищит.

Ответы>>678045>>678307>>678316

06 Мар, 12:54 #227 #678045

>>678040
Вчерашний видос
http://www.youtube.com/watch?v=PqwuIfl-G1w

Ответы>>678307

06 Мар, 16:04 #228 #678242

http://www.youtube.com/watch?v=_B_4vhsmRRI

06 Мар, 16:58 #229 #678307

>>678040
Странно, это суперколлайда даже в репах нет.
>>678045
Лисп-диджей, лол

Ответы>>678563

06 Мар, 17:09 #230 #678316

>>678040
лол, что это за скобочоки (())))??

Ответы>>678326

06 Мар, 17:15 #231 #678326

>>678316
Круглыми, кажется, называются. А что? Не встречал таких?

06 Мар, 17:40 #232 #678362

Сколько шуму-то этот вулкан наделал. Аж в мир лиспа просочился.
https://github.com/3b/cl-vulkan

06 Мар, 20:09 #233 #678563

>>678307
В арче есть, например. Что у тебя за дистр?

Ответы>>678627

06 Мар, 20:39 #234 #678627

>>678563
гента

06 Мар, 20:53 #235 #678655

Эх, все таки большое сообщество кложуры и куча готового дерьма под неё подкупают. Перебороть что-ли отвращение к джаве?
Отговори, меня, анончик, скажи мне что общелисп пизже.

Ответы>>678703>>678708>>678736

06 Мар, 21:25 #236 #678703

>>678655
$ time lein help
Leiningen is a tool for working with Clojure projects.

Several tasks are available:
change Rewrite project.clj by applying a function.
check Check syntax and warn on reflection.
classpath Print the classpath of the current project.
clean Remove all files from project's target-path.
compile Compile Clojure source into .class files.
deploy Build and deploy jar to remote repository.
deps Download all dependencies.
do Higher-order task to perform other tasks in succession.
help Display a list of tasks or help for a given task.
install Install the current project to the local repository.
jar Package up all the project's files into a jar file.
javac Compile Java source files.
new Generate project scaffolding based on a template.
plugin DEPRECATED. Please use the :user profile instead.
pom Write a pom.xml file to disk for Maven interoperability.
release Perform :release-tasks.
repl Start a repl session either with the current project or standalone.
retest Run only the test namespaces which failed last time around.
run Run a -main function with optional command-line arguments.
search Search remote maven repositories for matching jars.
show-profiles List all available profiles or display one if given an argument.
test Run the project's tests.
trampoline Run a task without nesting the project's JVM inside Leiningen's.
uberjar Package up the project files and dependencies into a jar file.
update-in Perform arbitrary transformations on your project map.
upgrade Upgrade Leiningen to specified version or latest stable.
vcs Interact with the version control system.
version Print version for Leiningen and the current JVM.
with-profile Apply the given task with the profile(s) specified.

Run `lein help $TASK` for details.

Global Options:
-o Run a task offline.
-U Run a task after forcing update of snapshots.
-h, --help Print this help or help for a specific task.
-v, --version Print Leiningen's version.

These aliases are available:
downgrade, expands to upgrade

See also: readme, faq, tutorial, news, sample, profiles, deploying, gpg,
mixed-source, templates, and copying.

real0m58.031s
user0m44.256s
sys0m2.000s

Отговорил?

Ответы>>678708>>678709>>678739

06 Мар, 21:27 #237 #678708

>>678703
Фу, распидарасило.
>>678655
>$ time lein help
>real 0m58.031s
>user 0m44.256s
>sys 0m2.000s

137 Кб, 1445x916

06 Мар, 21:28 #238 #678709

>>678703
Лол. Серьезно?

Еще читал что JVM охуевает частенько от лиспо-стиля разработки с постоянными перезагрузками классов и прочего дерьма.

Ответы>>678719

06 Мар, 21:35 #239 #678719

>>678709
Ну, ros-то всё-таки на сишке.
>Серьезно?
А то! Слава жвм!

Ответы>>678721>>678722

06 Мар, 21:40 #240 #678721

>>678719
И правда на сишке. А почему не на лишпе, интересно.

Ответы>>678725

06 Мар, 21:41 #241 #678722

>>678719
Впрочем лиспообразы собранные розвелом запускаются не намного быстрее.

Ответы>>678725

06 Мар, 21:45 #242 #678725

>>678721
Чтоб меньше зависимостей для сборки тянуть.
>>678722
>не намного быстрее
Всего раз в 60.

06 Мар, 21:51 #243 #678736

>>678655
>Перебороть что-ли отвращение к джаве?
А стоит ли оно того? А ведь она там всюду.
[code lang=clojure]
(def IPaddress "10.71.18.81")
(def port 1500)

(def socket (Socket. IPaddress port))
(println "Connected:" (.isConnected socket))
(def in (DataInputStream. (BufferedInputStream. (.getInputStream socket))))
(def out (DataOutputStream. (BufferedOutputStream. (.getOutputStream socket))))
(def command "Some string")
(println "Input:" command)
(.writeUTF out command)
(.flush out)
(def response (.readUTF in))
(println "Output: " response)
[/code]
>скажи мне что общелисп пизже.
Общелисп пизже.

Ответы>>678739

06 Мар, 21:52 #244 #678739

>>678736
>>678703
Убедили чертяки. Здесь все мои друзья.

07 Мар, 03:20 #245 #679045

Писал сегодня скриптоту на лиспе, хотя обычно это делаю на скриптовых языках. Внезапно неплохо. blackbird для асинхронщины понравился.

Ответы>>679067

07 Мар, 03:48 #246 #679067

>>679045
Тьфу, блядь. Недописанным отправилось. Ладно, похуй.

Ответы>>679178

07 Мар, 11:03 #247 #679178

>>679067
Нет уж, дописывай.

07 Мар, 23:59 #248 #679923

Решил таки пощупать палочкой кложуру. В оп-посте рекомендуют The Joy of Clojure, а автор emacsrocs и parens of the dead предлагает http://www.braveclojure.com/
Что скажете, с чего лучше начать?

Ответы>>679926>>679943>>680503

08 Мар, 00:01 #249 #679926

>>679923
С общелиспа

126 Кб, 911x846

08 Мар, 00:18 #250 #679943

>>679923
Пиздец. Блять. Но, сообщества общелиспа мертво 8(

Ответы>>679958

08 Мар, 00:36 #251 #679958

>>679943
Секунда с небольшим? Хуя у тебя аппаратище. Мой калькулятор целую минуту надрывается, чтобы высрать хелп.

Ответы>>680211>>680245

08 Мар, 13:12 #252 #680211

>>679958
Обычный апарат: Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz
Но, ебаный по голове, секунду с хером только для того, чтобы выдать хэлп, это какой-то нездоровый пиздец.

Ответы>>680238

4 Кб, 564x38

08 Мар, 13:58 #253 #680238

>>680211
Нда.

Ответы>>680252

08 Мар, 14:03 #254 #680245

>>679958
У меня около 25 секунд, лол. i3 блядь

5 Кб, 737x37

5 Кб, 728x36

08 Мар, 14:07 #255 #680252

>>680238
Первый пик без ql, второй с.

8 Кб, 1161x40

08 Мар, 14:09 #256 #680253

Оно даже скомпилированное тормозит.

Ответы>>681883

08 Мар, 14:10 #257 #680256

Короче я считаю что нам нужен новый лисп, без кучи наследственного говна и протухших библиотек: CL21++

Ответы>>680416>>680510>>681085

08 Мар, 16:21 #258 #680416

>>680256
Нет, правда. Никто те считает так же?

135 Кб, 1576x477

08 Мар, 17:20 #259 #680503

>>679923
Чуть-чуть почитал breaveclojure. Неплохо расписали как настроить окружение и про емакс. Дальше забил хуй, переключился на joy of closure. Прочитал первые две главы — через каждое слово java, java, java, java.

Бектрей сидора-пидора выглядит модно-мололежно, но по информативности, как про мне еще хуже слайма.

Ответы>>680517

08 Мар, 17:22 #260 #680510

>>680256
Ну, я думаю, cl с батарейками вполне на современный лисп тянет. А с ридер макросами из cl21 так вообще заебись.

Ответы>>680614

08 Мар, 17:24 #261 #680517

>>680503
А что там с отладкой? В слайме-то ты хотя бы бектрейс пощупать можешь, перезапуск вызвать. А тут что?

Ответы>>680545

08 Мар, 17:43 #262 #680545

>>680517
А хер его знает пока.

08 Мар, 18:21 #263 #680614

>>680510
Вот что меня раздражает в экосистеме общелиспа, так это то, что есть миллиард заброшенных проектов. Из-за этого приходится руками перебирать кучу дерьма, в поисках того, что хоть как-то поддерживается.
Может я просто не знаю где искать либы?

Ответы>>680619

08 Мар, 18:23 #264 #680619

>>680614
http://quickdocs.org/
Здесь, например.

Ответы>>680855

08 Мар, 18:55 #265 #680674

Есть тут кто решает задачки из SICP?

Ответы>>680717

08 Мар, 19:11 #266 #680713

Анон, не разберусь с деревьями из SISP'а, если не трудно - помоги. Решение задачки я просто нагуглил, вот оно:

Процедура fringe будет производить обход дерева в глубину слева направо и собирать узлы в порядке обхода в один список. Ее структура очень похожа на структуру count-leaves. При рассмотрении каждого узла также рассматриваются три случая: пустое дерево, листовой элемент и нелистовой элемент (поддерево).

-Для пустого дерева на входе мы генерируем пустой список на выходе.
-Для листового элемента на входе генерируем список из этого одного элемента.
-Для нелистового элемента возвращаем список, составленный из списка для его первого поддерева, к которому добавлен с помощью append результат для этого же элемента без первого поддерева.
(Что это значит?)

Сам код решения:
(define (fringe tree)

(cond ((null? tree) (list))

((pair? tree) (append (fringe (car tree))(fringe (cdr tree))))
(else (list tree))))
(fringe (list 1 (list 2 (list 3 4)) 5))

Что происходит, когда задача "доходит" до момента с (list 2(list 3 4). По идее (list 2(list 3 4) и 5 - не являются парой, и что происходит? Я просто уже часов пять лбом бьюсь и не могу понять, помоги пожалуйста!

Ответы>>680728

08 Мар, 19:14 #267 #680717

>>680674
Все уже решили, ты чето слоу

08 Мар, 19:22 #268 #680728

>>680713
Так, я тут проверил, (list 2(list 3 4)) и 5 являются парой. Но все равно не могу взять в ум, как так получается, что выводится в результате (1 2 3 4 5).

По идее, я так думал, должно вывести (1 (2 (3 4)) 5). Потому что, на первом проходе car = 1, на втором проходе car = (2 (3 4)), на третьем проходе car = 5. Куда подевались скобочки на втором проходе? Я правда нихуя не пойму.

Ответы>>680756>>680759

08 Мар, 19:49 #269 #680756

>>680728
>на втором проходе car = (2 (3 4))
Потом оно идет по второму условию append (fringe |car = 2|) (fringe |cdr = (3 4)|)
И так далее.

08 Мар, 19:51 #270 #680759

>>680728
В рэкете отладчик есть. Попробуй в нем пошагово прогнать.

Ответы>>680769

08 Мар, 19:58 #271 #680769

>>680759
Ебаааать, брат, много красивых женщин тебе и баранов толстых. Оказалось, что логика schem'ы работает не так, как я себе ее представлял. Хотя несколько уебищно и не по сиспу, там такое ну точно не разбирали.

Ответы>>680777

08 Мар, 20:01 #272 #680777

>>680769
>там такое ну точно не разбирали.
Рекурсию там в самом начале разбирают же. Ну и где-то перед обходом дерева должен был рассматриваться обход списка.

Ответы>>680784

08 Мар, 20:05 #273 #680784

>>680777
И рекурсию и обход списка разбирали. Прикол в том, что отладчик не проходит третью строчку до конца, а начинает брать значение car'а и проходится с ним от начала до конца, потом добавляет его в (list tree), потом берет cdr, но от изначального значения и считает его. Это что-то вообще пиздец.

Ответы>>680802>>680820

08 Мар, 20:18 #274 #680802

>>680784
Короче, в сиспе деревья очень плохо разобраны, как мне показалось. Просто дан пример подсчета количества его листов, а дальше - разбирайся сам, еще и в очень странных приемах, просто ебанись каких странных.

08 Мар, 20:38 #275 #680820

>>680784
Попробовал прогнать в отладчике. Да, правда. Рэкет неправильно визуализирует ветку else в cond.
Замени там else на (number? tree), тогда визуализироваться будет правильно, хоть и код сломается для нечисловых деревьев.

Ответы>>680834>>680854

08 Мар, 20:50 #276 #680834

>>680820
Я не понял, в каком месте подставить number?, когда я подставляю его куда-то, у меня наебывается вообще все, лол.

08 Мар, 21:04 #277 #680854

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

08 Мар, 21:05 #278 #680855

>>680619
Там много чего нет, что валяется на просторах гитхаба, увы.

Ответы>>680880

08 Мар, 21:51 #279 #680880

>>680855
А этих пидарасов пинать надо, чтобы привели код в подобающий вид и добавились в квиклисп.

Ответы>>680978

08 Мар, 23:54 #280 #680978

>>680880
О чем и речь. Хуево с маленьким сообществом.
CL21 джва года никто не трогал. Бида.
Да и даже если его будут пинать, то у нас тут такая куча легаси, что его адаптация выглядит очень спорно.

09 Мар, 01:04 #281 #681020

>>681000
В официальной документации?

09 Мар, 02:41 #282 #681085

>>680256
Да. И чтобы без отдельного пространства имен для функций, с обязательным TCO и call/cc чтобы был. Джва года жду такой лисп!

Ответы>>681120

09 Мар, 04:08 #283 #681120

>>681085
>чтобы без отдельного пространства имен для функций
>и call/cc чтобы был
Фу, схемер чтоль? У нас здесь такие не в почете.
>и call/cc чтобы был
Но тогда не будет сигнального протокола с перезапусками и unwind-protect'а. Нахуй так жить?

Ответы>>681145>>681166

09 Мар, 04:29 #284 #681145

>>681120
>У нас здесь такие не в почете
>У нас здесь элитный клуб "3.5 некролиспера"

Ответы>>681148

57 Кб, 468x506

09 Мар, 04:35 #285 #681148

>>681145
Молодой человек, покиньте клуб.

09 Мар, 06:13 #286 #681166

>>681120
>Но тогда не будет сигнального протокола с перезапусками
Почему? В чем противоречие, если рестарты можно реализовать с помощью call/cc? Или, если нельзя, объясни, пожалуйста, почему.
>unwind-protect
Ну будет он называться dynamic-wind, какая разница, в самом деле.

Ответы>>683415

09 Мар, 14:51 #287 #681440

Как в др.ракете сделать так, чтобы он мог латех выводить?
(define (k n) (* 5 n n)) ----> 5n^2

Ответы>>681480>>682016

09 Мар, 15:08 #288 #681464

Бляяять, какая же кложура медленная, это пиздец.

Ответы>>681511

09 Мар, 15:21 #289 #681480

>>681440
Посоны, бамп.
n: undefined;
cannot reference undefined identifier

149 Кб, Webm

09 Мар, 15:39 #290 #681511

>>681464
> java
> java
> java
> z-z-zz-z--z-z-

Ответы>>681908>>682590

09 Мар, 21:12 #291 #681883

>>680253
Слабо измерить без времени загрузки JVM?

09 Мар, 21:33 #292 #681908

>>681511
И что ты этим хотел сказать?

Ответы>>681945

09 Мар, 22:05 #293 #681945

>>681908
Цитата из книжки по кложуре.
Через каждое слово java, и тормозит как незнаю что.

Ответы>>681947

09 Мар, 22:08 #294 #681947

>>681945
На сл будет быстрее и короче?

Ответы>>682007

09 Мар, 23:01 #295 #682007

>>681947
Само собой, что быстрее. Короче конкретно тот пример врядли выйдет. Там же кода практически нет. А вот идиоматичнее - да.

Ответы>>682012

09 Мар, 23:14 #296 #682012

>>682007
> Короче конкретно тот пример врядли выйдет.
Уже вижу эту нечитаемую простыню.

Ответы>>682042

2000 Кб, 693x448

09 Мар, 23:20 #297 #682016

>>681440
Ну подскажите.

Ответы>>682047

09 Мар, 23:47 #298 #682042

>>682012
Более нечитабельным, чем на кложуре, вряд ли получится сделать. Разве что если напрямую сишку пердолить через низкоуровневый ffi. Но в здравом уме так никто делать не будет

Ответы>>682244

09 Мар, 23:50 #299 #682047

>>682016
Ты что хочешь? Выражения упрощать и в TeX форматировать? Maxima возьми.

Ответы>>682077

10 Мар, 00:32 #300 #682077

>>682047
Exercise 1.10.
https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-11.html#%_sec_1.2

Ответы>>682095

10 Мар, 00:50 #301 #682095

>>682077
Ты про это что ли?
>Give concise mathematical definitions for the functions computed by the procedures f, g, and h for positive integer values of n. For example, (k n) computes 5n2.
Имеется в виду вручную, а не программно

10 Мар, 02:48 #302 #682244

>>682042
Ну не знаю, дружище, на той вебм код вполне себе читаем.

Ответы>>682290

10 Мар, 06:30 #303 #682290

>>682244
вся вонь итч против кложуры ток в том что она ТАРМОЗИТ и что ЖАВА. Даже принимая во внимание столь скептические взгляды, это не препятствие чтобы ее использовать. Особенно если ты жава нейтив.

Ответы>>682491

10 Мар, 12:53 #304 #682491

>>682290
Ты считаешь что в 21 веке позволительно ТАК тормозить на элементарных вещах?
А жава это полный пиздец,. А раз кложура хостед, значит и кложура полный пиздец.

Ответы>>682517

10 Мар, 13:29 #305 #682517

>>682491
как ТАК-то? дай замеры тормознутости. Без времени загрузки JVM, офк. кложура хостится на JVM а не на Java, и это большая разница.

Ответы>>682590>>682627

10 Мар, 14:58 #306 #682590

>>682517
Кого ебет как оно там внутри работает?
Консольная утилита которая для того чтобы выдать срану справку жжот процессор почти 2 секунды.

Окей, утилиты на этом дерьме писать нельзя, запомнили.

А теперь посмотри на видео >>681511
На прогретой жвм оно закрашивало 512х512 пикселей так, как будто это жипег с голой бабой по модему.

10 Мар, 15:30 #307 #682627

>>682517
>кложура хостится на JVM
Наоборот. Кложура (язык) хостится на жаве.
Разница и правда большая, но ты её не чувствуешь.

Ответы>>682644

10 Мар, 15:53 #308 #682644

>>682627
Приплыли.

Ответы>>682660>>682666

10 Мар, 16:11 #309 #682660

>>682644
Выплывай.

10 Мар, 16:16 #310 #682666

>>682644
Т.е. по-твоему clojurescrpit хостится на v8, а не js, а clojure на jvm, а не java?

Ответы>>682750

10 Мар, 17:26 #311 #682750

>>682666
clojure транслируется в жаву? можешь дать выхлоп?
нет, не можешь
потому что кложура транслируется в байткод
Вот кложурскрипт транслируется в жс, а не в байткод.

Ответы>>682799

10 Мар, 18:22 #312 #682799

>>682750
Ты путаешь язык и его реализацию. И, похоже, не знаешь, что такое хостед язык.

Ответы>>682805>>682806

10 Мар, 18:30 #313 #682805

>>682799
Clojure is designed to be a hosted language, sharing the JVM type system, GC, threads etc. All functions are compiled to JVM bytecode.

Ответы>>682815>>682822

10 Мар, 18:31 #314 #682806

>>682799
ты путаешь язык Java и JVM

Ответы>>682815

10 Мар, 18:40 #315 #682815

>>682805
>>682806
Исключения, интерфейсы, классы жавы - тоже часть жвм?

Ответы>>682817

10 Мар, 18:43 #316 #682817

>>682815
часть JRE

Ответы>>682822

10 Мар, 18:46 #317 #682821

ввожу на sheme https://repl.it/BuuC
(define (gsd a b)
(if (= b 0)
a
(gcd b (remainder a b))))
а он выдает что процедура remainder не определена, а в SICP написано что эта элементарная процедура присутствует в sheme, что делать?

Ответы>>682825>>682828>>682829>>682870

10 Мар, 18:46 #318 #682822

>>682805
ABCL тоже в JVM-байткод компилирует, но CL от этого хостед языком не становится.
>>682817
Жава то есть

Ответы>>682825

10 Мар, 18:47 #319 #682825

>>682822
нет, джава это язык. JRE это коллекция скомпилированных библиотек
>>682821
схемы бывают разные

Ответы>>682833

10 Мар, 18:51 #320 #682828

>>682821
Написать свою реализацию.

Ответы>>683590

10 Мар, 18:53 #321 #682829

>>682821
Поставь рэкет или найди другую реализацию с поддержкой r5rs

10 Мар, 18:58 #322 #682833

>>682825
Стандартная библиотека частью языка является.

Ответы>>682854

10 Мар, 19:10 #323 #682854

>>682833
nyet

10 Мар, 19:19 #324 #682870

>>682821
>define gSd a b
>(gCd b (remainder)
Ты тут не обкакался?

10 Мар, 22:45 #325 #683197

Стоит ли прорешивать каждую задачку в SICP? Просто, скучно пиздец. Вообще, полезная ли книга?

Ответы>>683242>>683415

10 Мар, 23:21 #326 #683242

>>683197
Как хочешь. Я бы часть попропускал. Книга полезная.

11 Мар, 00:15 #327 #683332

Поясните за Symbolic Data.
Почему
(quote 2) -> 2
(quote (quote 2)) -> ''2

DrRacket

Ответы>>683415

11 Мар, 04:14 #328 #683415

>>683332
>(quote (quote 2)) -> ''2
Видимо, ты сломал свой рэкет и он больше ничего не интерпретирует, а просто выдает то, что ты ввел. (quote x) вычисляется в x, так что (quote (quote 2)) -> '2
>>683197
Это же мемчик, чтобы ньюфагов траллить, хуле ты. На самом деле, да, полезна, если это первый опыт, связанный с программированием, ну и для расширения сознания, если на схеме/ML/чем-то подобном не писал. Как вводная в разработку компиляторов/интерпретаторов еще может быть. Навыки, улучшающие конкурентоспособность на рынке труда, скорее всего, эта книга не даст, так что можешь не превозмогать, хотя главы с третьей поинтересней будет.
>>681166
Бамп вопросу! Поясните, кто-нибудь, в чем несовместимость call/cc и рестартов (кроме религиозной)? В GNU/MIT Scheme же завезли и то и то.

Ответы>>684556

11 Мар, 12:54 #329 #683590

>>682828
>Написать свою реализацию.
в голову пришло только
(define (>= x y)
(or (> x y) (= x y)))
(define (remainder a b)
(if (>= (- a ( b a)) 0)
(- a ( b a))
(remainder (- a 1) b)))

все время выдает нули, задумка такая умножая "a" "b" и каждый раз снижая (-a 1) мы получим положительное число которое будет равно остатку или нуль если делиться без остатка, но вышла хуета

Ответы>>683662>>683681>>683744>>683983

11 Мар, 13:32 #330 #683662

>>683590
(define remainder mod)
есть функция mod

Ответы>>683685

11 Мар, 13:47 #331 #683681

>>683590
(define (ss a b c)
(if (> (- a ( b c)) 0)
(- a ( b c))
(ss a b (- c 1) )))
(define (remainder a b) (ss a b 10))

еще чуток наваял

11 Мар, 13:50 #332 #683685

>>683662
>define remainder mod)
>есть функция mod
что ты имеешь ввиду?
имеешь ввиду что есть аналогичная элементарная функция?

Ответы>>683722

11 Мар, 14:25 #333 #683722

>>683685
да

11 Мар, 14:51 #334 #683739

https://www.twitch.tv/tatrics
http://goodgame.ru/channel/TatriX/
Унылый скобкострим. Читаю книжку. Про себя.

11 Мар, 14:58 #335 #683744

>>683590
Да ты же наркоман
(define remainder
(lambda (x d)
(- x (* (truncate (/ x d))
d))))

11 Мар, 15:50 #336 #683812

Ананасы, объясните мне одну вещи.
Изучаю понемногу ракет и решил запилить что-нибудь простое на sdl.
Так вот столкнулся с проблемой. Я совершенно не понимаю как создать указатель, а затем передать его в функцию.

Ответы>>683852

11 Мар, 16:38 #337 #683852

>>683812
А зачем тебе создавать указатель? Ты хочешь сдл напрямую через ffi пердолить? Были же вроде нормальные обёртки

Ответы>>683863

11 Мар, 16:46 #338 #683863

>>683852
Вот что я нашёл.
https://github.com/cosmez/racket-sdl

> А зачем тебе создавать указатель?
https://github.com/cosmez/racket-sdl/blob/master/sdl/definitions.rkt#L674
Например

Ответы>>683968>>684138

11 Мар, 18:24 #339 #683968

>>683863
Пиздец-то какой. Похлеще кложуры.
>Например
https://github.com/cosmez/racket-sdl/blob/master/sdl/structs.rkt#L472
http://docs.racket-lang.org/foreign/intro.html#(part._.C_.Structs)
Должен был сгенерироваться конструктор make-SDL-Event, им создавай. А лучше поищи нормальную обёртку.

Ответы>>683973

11 Мар, 18:30 #340 #683973

>>683968
> Должен был сгенерироваться конструктор make-SDL-Event
sdl_event не структура.

А как, например, с передачей обычных переменных?
https://github.com/cosmez/racket-sdl/blob/master/sdl/definitions.rkt#L242

Ответы>>683992>>684116

11 Мар, 18:37 #341 #683983

>>683590
на кложуре:
(defn remainder [x y] (if (< x y) x (recur (- x y) y)))

Ответы>>683995

11 Мар, 18:43 #342 #683992

>>683973
>sdl_event не структура.
И точно, не доглядел. Пока не вижу в документации, как с объединениями обращаться.
>А как, например, с передачей обычных переменных?
А вот не знаю. Попробуй из репла подергать.
Думаю, ffi об этом должен позаботиться.

11 Мар, 18:46 #343 #683995

>>683983
Можешь пояснить, в чем суть изъебства с recur? Компилятор не может сам определить: вызывает он ту же функцию или другую?

Ответы>>684000>>684003>>684079

11 Мар, 18:51 #344 #684000

>>683995
создатели кложуры посчитали что tco в jvm это как шредингера, поэтому лучше добавить явный рекур, чем обманывать надежды разработчиков на то, что tco оптимизирует их рекурсию. Работает как рекурсия, но не выдает stack overflow.

Ответы>>684005>>684079

11 Мар, 18:54 #345 #684003

>>683995
Прозреваю, что это явный хвостовой вызов, в скале подобная хуйня. Джавопроблемушки какие-то.

Ответы>>684030>>684079

11 Мар, 18:55 #346 #684005

>>684000
А при чем тут jvm? Компилятор кложи не может определить хвостовой вызов и сгенерировать соответствующий байт-код?

Ответы>>684016>>684079

11 Мар, 19:02 #347 #684016

>>684005
1. не всегда
2. а если тебе нужна именно хвостовая рекурсия?

Ответы>>684030>>684079

11 Мар, 19:13 #348 #684030

>>684003
В скале вроде компилятор умеет в TCO.
>>684016
>1. не всегда
Т.е. они просто не осилили и забили? Типа ебитесь сами с хвостовыми вызовами.
>2. а если тебе нужна именно хвостовая рекурсия?
Ну и напишешь хвостовую, а компилятор пусть оптимизирует. Зачем лишние сущности-то в языке плодить?

Ответы>>684050>>684059>>684079

11 Мар, 19:21 #349 #684050

>>684030
ты не сможешь знать наперед смог компилятор ее оптимизировать или нет.

Ответы>>684071>>684079

11 Мар, 19:25 #350 #684059

>>684030
В скале аннотации для TCO. Специфика платформы, судя по всему.

Ответы>>684071>>684079

11 Мар, 19:34 #351 #684071

>>684050
Если у языка (ВЫСОКОУРОВНЕВОГО ЯЗЫКА!) такой сырой компилятор, что программист должен беспокоиться: "а смог ли он заоптимизировать", то нахуй такой вообще использовать?
Да и вообще, это какая-то исключительная ситуация, баг. Наткнулся - ну сообщи разработчикам, пусть исправляют. А вот выпячивать средства оптимизации в язык - не дело.
>>684059
http://anadea.info/ru/blog/scala-tailrec-optimization
Первая ссылка в гуголе. У него без аннотаций компилятор догадался.

Ответы>>684079

46 Кб, 640x480

11 Мар, 19:41 #352 #684079

>>684071
>>684059
>>684050
>>684030
>>684016
>>684005
>>684003
>>684000
>>683995
recur - это когда ты хочешь чтобы компилятор кложуры оптимизировал хвостовой вызов, не-recur - это когда ты не хочешь чтобы компилятор кложуры оптимизировал вызовы. При этом их может отпимизировать jvm, но тут никто никакой гарантии не дает, так как жвмов более 9000, и естессно лучше полагаться на recur

ПРОСТИТЕ МНЕ ГОСПОДА КОМПЬЮТЕРНЫЕ УЧЕНЫЕ И МАТЕМАТИКИ МОЮ БЕЗГРАМОТНОСТЬ

Ответы>>684106

11 Мар, 19:51 #353 #684106

>>684079
>не-recur - это когда ты не хочешь чтобы компилятор кложуры оптимизировал вызовы
Как можно не хотеть оптимизации?
>При этом их может отпимизировать jvm
Среди jvm-языков не принято заниматься оптимизациями байт-кода, и они полностью полагаются на jit jvm'а?

Ответы>>684172

11 Мар, 19:53 #354 #684116

>>683973
>sdl_event не структура.
(malloc _SDL_Event)

11 Мар, 19:58 #355 #684138

>>683863
У петушиной схемы есть обертка получше.
http://wiki.call-cc.org/eggref/4/sdl2
https://gitlab.com/chicken-sdl2/chicken-sdl2/blob/master/demos/basics.scm

11 Мар, 20:09 #356 #684172

>>684106
> Как можно не хотеть оптимизации?
если бы оптимизация была неявной, такие же воображули как ты возмущались бы "как можно было лишить меня выбора?". Дальнейшую дискуссию на эту тему считаю бессмысленной.
> Среди jvm-языков не принято заниматься оптимизациями байт-кода, и они полностью полагаются на jit jvm'а?
JVM ориентируется на джаву а не на jvm-языки. В jave нет TCO на уровне компиляции.

Ответы>>684186

11 Мар, 20:15 #357 #684186

>>684172
>если бы оптимизация была неявной, такие же воображули как ты возмущались бы "как можно было лишить меня выбора?"
Хуйни-то не неси.
>JVM ориентируется на джаву а не на jvm-языки.
В jvm есть инструкции, позволяющие сделать хвостовой вызов? Судя по существованию recur, они есть. Какие тогда могут быть претензии к jvm?

Ответы>>684301

11 Мар, 21:24 #358 #684301

>>684186
ты тупой

Ответы>>684312

11 Мар, 21:29 #359 #684312

>>684301
Да и ты, похоже, ничуть не умнее. Ничего более-менее похожего на внятный ответ я так и не услышал.

11 Мар, 21:30 #360 #684315

>если бы оптимизация была неявной, такие же воображули как ты возмущались бы "как можно было лишить меня выбора?".
Вот много ли недовольных от обязательной TCO в схеме, интересно было бы узнать.

11 Мар, 23:37 #361 #684523

Хм. Вот в ООП есть наследование, полиморфизм, инкапсуляция и абстракция. А как строить архитектуру на функциональщине?

Ответы>>684572>>684578

11 Мар, 23:55 #362 #684556

>>683415
Это нарушает моё представление о работе Scheme.

(quote (quote 2))

Сначала рассчитается (quote 2) = 2
Потом подставится в исходное
(quote (quote 2)) = (quote 2) = 2

Что не так? Почему должно выводить '2?

Ответы>>684562

12 Мар, 00:00 #363 #684562

>>684556
(eval '(quote (quote 2))) → (quote 2)
(eval '(quote 2)) → 2

Ответы>>684567

12 Мар, 00:02 #364 #684567

>>684562
А что в моём неверном понимании работы неверно?

Ответы>>684568

12 Мар, 00:03 #365 #684568

>>684567
За один раз снимается только один слой quote

12 Мар, 00:04 #366 #684572

>>684523
Ты не совсем по адресу. Лисп является не большей функциональщиной, чем какой-нибудь питон. В cl и clojure ООП даже из коробки есть.

Ответы>>684651

12 Мар, 00:07 #367 #684578

>>684523
Просто используются свои средства абстракций: функции, модули (обычные или параметризируемые как в ocaml), классы типов, ADT и т.д.

Ответы>>684651

12 Мар, 01:33 #368 #684651

>>684572
>>684578
Расскажи про классы типов и ADT.

Ответы>>684671

12 Мар, 02:17 #369 #684671

>>684651
https://en.wikipedia.org/wiki/Type_class
https://en.wikipedia.org/wiki/Algebraic_data_type

Ответы>>684811

12 Мар, 11:08 #370 #684811

>>684671
А теперь расскажи своими словами, как ты это все понимаешь.

12 Мар, 14:18 #371 #684933

Предположим мы все-таки решили делать свой лисп с :blackjack и :whores.
Это будет лисп-1 или лисп-2 и почему?

Ответы>>684941

12 Мар, 14:45 #372 #684941

>>684933
Вот анон вчера спрашивал про ffi рэкета.
Поясни, соглашение об именовании продиктовано лисп1-проблемами или есть иные причины? Я про _union, _SDL_Event и прочие.

Ответы>>685022

12 Мар, 15:25 #373 #684979

Лисперы, хальп!
Есть сабж https://ideone.com/rlWaN8
Пытаюсь перепилить его на CL - и эта гнида чего то козлит.
http://pastebin.com/6xGZSze4

Пытаюсь сделать (step 50 50 200) - и говно какое то.

Ответы>>685016

12 Мар, 15:56 #374 #685016

>>684979
1) Ты переборщил со скобками:
>(step (x) (+ y 1) (- k 1))
2) В пакете cl уже есть макрос с именем step (который, кстати, при компиляции функции у тебя четырежды раскрывается). Или переименуй функцию, или создай свой пакет, или разблокируй пакет cl и замени step на свою функцию.
http://www.lispworks.com/documentation/HyperSpec/Body/m_step.htm
>Пытаюсь сделать (step 50 50 200)
А не охуеет ли оно у тебя без мемоизации?
Можешь воспользоваться одной из библиотек
http://quickdocs.org/memoize/api
http://quickdocs.org/function-cache/
http://quickdocs.org/fare-memoization/api
или запили сам, там ничего трудного.

Ответы>>685017

12 Мар, 15:58 #375 #685017

>>685016
>В пакете cl уже есть макрос с именем step
У меня оно говорит, что переопределило его. Ну ок, переименую.
>А не охуеет ли оно у тебя без мемоизации?
Странно. А вики сказала, что в лишпе мемоизация по дефолту есть, собсно почему я к нему и обратился. Ололо, пиздит?

Ответы>>685023

12 Мар, 15:59 #376 #685022

>>684941
Понятия не имею. В cl-sdl2 все норм с именами.

12 Мар, 15:59 #377 #685023

>>685017
Где ты такое вычитал?

Ответы>>685024

12 Мар, 16:00 #378 #685024

>>685023
Что именно?

Ответы>>685026

12 Мар, 16:01 #379 #685026

>>685024
>что в лишпе мемоизация по дефолту есть
Это. Она легко реализуется, но по дефолту её нет.

Ответы>>685029

12 Мар, 16:03 #380 #685029

>>685026
Окай. Как ее "легко реализовать"? Есть уже где готовый кусок кода можно найти?

Ответы>>685071

12 Мар, 16:28 #381 #685071

>>685029
Наивная реализация выглядит примерно так.
http://ideone.com/280xHa
Думаю, суть понятна.

12 Мар, 23:55 #382 #685673

Какая фича в лиспе привлекает вас больше всего? Почему именно лисп?

Ответы>>685674>>685684

48 Кб, 772x578

12 Мар, 23:57 #383 #685674

>>685673
На нем пишет Лейн.

Ответы>>685702

13 Мар, 00:08 #384 #685684

>>685673
SLIME

Ответы>>685700

13 Мар, 00:23 #385 #685700

>>685684
Ну не только в лиспе есть репл. Чем конкретно слайм так хорош?

Ответы>>685707

1371 Кб, 1280x720

13 Мар, 00:26 #386 #685702

>>685674
Спешите видеть: костыли и велосипеды: https://github.com/TatriX/lispstone

13 Мар, 00:27 #387 #685707

>>685700
Поддержкой т.н. интерактивного метода разработки.
То видео >>649348 по-моему неплохо его демонстрирует.

Ответы>>685720

13 Мар, 00:43 #388 #685720

>>685707
Ну а что, так больше нигде нельзя?

Ответы>>685735>>685755

13 Мар, 00:44 #389 #685722

Раз уж у вас Clojure уже есть, то добавьте в шапку еще и это питоноговно: http://docs.hylang.org/en/latest/

Ответы>>685727>>685749

13 Мар, 00:52 #390 #685727

>>685722
Запили лучше сам.
https://titanpad.com/x87hR0KJ2w

13 Мар, 00:56 #391 #685735

>>685720
Даже на сишке можно. Только для этого нужно придется написать свою реализацию лиспа.

Ответы>>685762

13 Мар, 01:11 #392 #685749

>>685722
Пиздец какой-то. Но за анафорические макросы из коробки лойс.

Ответы>>685758

13 Мар, 01:28 #393 #685755

>>685720
Найдешь - приноси. Посмотрим.

Ответы>>685959

13 Мар, 01:33 #394 #685758

>>685749
Оно только для макросов и нужно. Это просто питон без синтаксиса и с макросами.

13 Мар, 01:43 #395 #685762

>>685735
REPL в няшке:
https://www.youtube.com/watch?v=W_b4zMxfLvA

Ответы>>685769

13 Мар, 01:52 #396 #685769

>>685762
Кажется, у него там кресты, а не няшная.

Ответы>>685796

13 Мар, 02:35 #397 #685796

>>685769
http://www.templeos.org/Wb/Doc/HolyC.html

24 Кб, 644x205

13 Мар, 11:07 #398 #685959

>>685755
Ну возьми тот же хачкель. Репл есть? Есть.

Ответы>>685964>>685967>>686013

13 Мар, 11:13 #399 #685964

>>685959
Ну так-то и в гаидоне репл есть.

13 Мар, 11:19 #400 #685967

>>685959
И как ты в этом огрызке код наживую писать предлагаешь?

Ответы>>685969

13 Мар, 11:28 #401 #685969

>>685967
Расскажи для начала, что ты подразумеваешь под "писать код наживую".

Ответы>>685992>>686004

13 Мар, 12:02 #402 #685992

>>685969
Ну ты бы хоть ознакомился с предметом, прежде чем в тред лезть со своими умозаключениями.

Ответы>>685996

13 Мар, 12:06 #403 #685996

>>685992
Я понимаю, что ты особенный, и считаешь что все разговаривают и думают так же как и ты, но будь добр, сделай исключение для нас, смердов, расскажи как конкретно ты, повелитель вселенной, пишешь код "наживую".

13 Мар, 12:14 #404 #686004

>>685969
В видео тебе же вчера указали. Разве по нему не очевидно?

Ответы>>686009>>686019

13 Мар, 12:19 #405 #686009

>>686004
На видео т.е.

20 Кб, 260x252

13 Мар, 12:25 #406 #686013

>>685959
>Ну возьми тот же calc.exe. Умножение/сложение есть? Есть.

13 Мар, 12:34 #407 #686019

>>686004
Ну да, SuperCollider именно для такого и предназначен.
Все эти волшебные видео с обновлением канваса на лету (js + skewer/swank-js = то же самое).
Не надо мне рассказывать про постановочные видео, расскажите мне про ваш реальный воркфлоу.

Ответы>>686975

13 Мар, 23:57 #408 #686975

>>686019
Если код содержит основной цикл (отрисовка, обработка запросов, событий и т.п.), то разработка выглядит точно так же, как на "постановочных" видео: написал каркас, запустил и начинаешь постепенно реализовывать, наблюдая за результатом. А в случае ошибки исправляешь её, дергаешь один из доступных перезапусков и продолжаешь дальше.
В остальных случаях процесс отличается тем, что о сохранении промежуточного состояния приходится заботиться самому, и тем, что код сначала пишется выражениями, а затем реструктурируется в функции/методы.
Может, немного сумбурно описал, но, думаю, суть понятна.

Ответы>>687272

14 Мар, 10:49 #409 #687272

>>686975
Ты сам то пробовал? Пока я пилил игрушку на конкурс мне пришлось перезапустить sbcl чуть более 9000 раз, потому что сишные либы, на которых все держится не очень то под это приспособлены.

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

Ответы>>687391

14 Мар, 13:34 #410 #687391

>>687272
>Ты сам то пробовал?
Конечно. Именно так и делал, когда писал на сдл с опенгл.
>Пока я пилил игрушку на конкурс мне пришлось перезапустить sbcl чуть более 9000 раз, потому что сишные либы, на которых все держится не очень то под это приспособлены.
На сдл2? Там, скорее всего, не сишные библиотеки виноваты, а сырая лисповая обертка.
>Но чем это отличается от любой скриптопараши, ведь там то же самое: файл сохранил, страничку в браузере обновил, вуаля.
Сохранением состояния, например. И запрос из-за ошибки в обработчике зачастую можно не повторять, достаточно вызвать перезапуск.

Ответы>>687449

14 Мар, 14:11 #411 #687434

Нейронные сети на лиспе, есть?

Ответы>>687437>>687470

14 Мар, 14:12 #412 #687437

>>687434
Нет, я нашел библиотеки, но вопрос в том, насколько они говно?

14 Мар, 14:20 #413 #687449

>>687391
Что писал? Оперсурс?

Ответы>>687466

14 Мар, 14:31 #414 #687466

>>687449
Реализовал поддержку какого-то формата моделей, пощупал шейдеры, склепал сценку и забросил. Код не выкладывал, т.к. он не причесанный.

14 Мар, 14:33 #415 #687470

>>687434
Первая ссылка в гуглеквикдоксе http://quickdocs.org/mgl/

Ответы>>687476>>692654

14 Мар, 14:37 #416 #687476

>>687470
вроде норм, но документации практически нет

Ответы>>687481

14 Мар, 14:41 #417 #687481

>>687476
Разве? http://melisgl.github.io/mgl-pax-world/mgl-manual.html

Ответы>>687484

14 Мар, 14:42 #418 #687484

>>687481
крутяк

14 Кб, 292x351

15 Мар, 01:43 #419 #688390

Поясните за систему модулей в петухосхеме.

Wiki предлагает мне нестандартный (declare ...):
http://wiki.call-cc.org/man/4/Using the compiler#an-example-with-multiple-files
Это работает, но нестандартно и экспортируется вообще все, а хочется именно модули. Насколько я понял, это просто использование тулчейна няшки для линковки бинарей. Все прелести сишки присутствуют, вплоть до невозможности экспорта макросов.

Вот тут пример использования системы модулей: http://wiki.call-cc.org/man/4/Modules#examples-of-using-modules
Нихуя непонятно, как сделать цельную программу без ебли с ,l и динамических библиотек.

Еще R7RS подъехал со своими library. На R6RS положили хуй, так что туда даже не смотрю. http://wiki.call-cc.org/r7rs-tasks#library-syntax

Что из всего этого зоопарка нужно юзать? Хочу вкатиться в Scheme, а не поддерживать legacy CL, но что-то не получается.

Ответы>>688607>>691297

15 Мар, 11:58 #420 #688607

>>688390
Если ты в chicken - то юзай их систему
В ракете юзай ракетовскую

15 Мар, 17:19 #421 #688901

Решил перепилить протухший туториал для пс на фукамачи технологиях.
https://github.com/TatriX/Parenscript/blob/tutorial/examples/hello.lisp

16 Мар, 03:33 #422 #689486

http://panicz.github.io/pamphlet/

16 Мар, 16:24 #423 #689798

>>657284
Не забудь про эликсиру с фениксом, няша.
http://elixir-lang.org -- очень на лисп похож с синтаксисам десу.

Вот видосики принёс с последнего схода
https://www.youtube.com/watch?v=XJ9ckqCMiKk
https://www.youtube.com/watch?v=eSWNi5vRxU8
https://www.youtube.com/watch?v=fklep3sUSWo

18 Мар, 03:00 #424 #691297

>>688390
http://www.phyast.pitt.edu/~micheles/scheme/scheme5.html#there-is-no-portable-module-system

66 Кб, 949x1024

18 Мар, 19:55 #425 #691877

На всякий случай напоминаю: я стримлю CL.
Сегодня очередной стрим. Ориентировочно в 22:00
Будем доделывать небольшой веб-сервис на caveman2

https://www.twitch.tv/tatrics
http://goodgame.ru/channel/TatriX/

19 Мар, 19:23 #426 #692654

>>687470
Блядский БЛАСЛАПАК не хочет ставиться на винду

Ответы>>692662

19 Мар, 19:31 #427 #692662

>>692654
А зачем ты сидишь под виндой?

69 Кб, 1517x707

21 Мар, 15:13 #428 #694130

Антош, чего ему надо от меня?

Ответы>>694405>>694479>>694820

21 Мар, 18:00 #429 #694405

>>694130
Оказалось, что ничего.

21 Мар, 18:47 #430 #694479

>>694130
ШГ

22 Мар, 00:19 #431 #694820

>>694130
Раз уж речь про Guile, есть тут аноны, прогающие под него? Покажите пример workflow. Как настраиваете load path? Добавить в него "." из .guile или завести себе директорию с модулями, куда складывать весь более-менее реюзаемый код?

22 Мар, 02:27 #432 #694861

Какая же боль это программирование!

Ответы>>694993

22 Мар, 13:01 #433 #694993

>>694861
Значит, ты делаешь что-то не так.

Ответы>>695141

22 Мар, 16:18 #434 #695141

>>694993
Я таки поставил БЛАС ЛАПАК вчера в три ночи

Ответы>>695174

22 Мар, 16:58 #435 #695174

>>695141
Виндопроблемы?

Ответы>>695401

22 Мар, 20:11 #436 #695401

>>695174
lf

25 Мар, 14:39 #437 #697804

Код со стрима, если кому интересно.
https://github.com/TatriX/blue-water

61 Кб, 553x526

26 Мар, 19:20 #438 #699084

Лиспоны, читаю потихоньку Joy of Clojure, и подумал, а почему бы не сделать из этого сравнение с общелиспом.
Заодно узнаю всякого о самом общелиспе.

https://github.com/TatriX/cl-vs-clojure/blob/master/comparison.org
Предлагайте улучшения для CL кода

Ответы>>699553

27 Мар, 01:04 #439 #699553

>>699084
Ну и как тебе самому-то?

Ответы>>699571

27 Мар, 01:42 #440 #699571

>>699553
Кложура-то? Ну если бы там жава со всех щелей не выглядывала БЛЯДЬ КАК ЖЕ ЭТА ПАДЛА ТОРМОЗИТ было бы неплохо. Пока общелисп больше нравится.

Ответы>>699779

27 Мар, 12:13 #441 #699779

>>699571
>ТОРМОЗИТ
Тормозит-то наверно при старте только, а не вообще.

Ответы>>699818

27 Мар, 13:04 #442 #699818

>>699779
При старте она не просто тормозит, а делает как твикс "И пусть весь мир подождет". А в остальное время она рандомно подвисает мерзенько при выполнении команд из репла.

Ответы>>700158

27 Мар, 17:06 #443 #700158

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

Enjoy your garbage collection.

Да, я знаю что в любом лиспе есть GC, но в Java оно запускается как будто по таймеру, просто вешает GUI и начинает чистить мусор несколько секунд.

Ответы>>700159>>700160

27 Мар, 17:06 #444 #700159

>>700158
Алсо, может быть действительно параметры GC покрутить у JVM попробовать?

27 Мар, 17:06 #445 #700160

>>700158
>Enjoy your garbage collection.
Какой из?
Хочешь минимальные паузы - используй CMS или G1.

20 Кб, 1280x748

98 Кб, 1576x477

NEED HELP 28 Мар, 11:17 #446 #700837

Нубас итт, как сделать разделитель не по горизонтали, а по вертикали?

И чтоб строки по числам.

Слева моё, справа пример.

Ответы>>700853>>700859

28 Мар, 12:02 #447 #700853

>>700837
C-x 3
M-x linum-mode

28 Мар, 12:18 #448 #700859

>>700837
;; split window horizontally by default
;; (setq split-height-threshold nil)
;; (setq split-width-threshold 0)
Читай доку
С-h v split-height-threshold

706 Кб, 348x232

NEED HELP 28 Мар, 21:21 #449 #701401

Пацны я просто пиздец заебался, у меня не запускается автоматически slime

В .spacemaks в
(defun dotspacemacs/user-config ()
добавляю
(add-to-list 'load-path "C:/Users//AppData/Roaming/.emacs.d/elpa/slime-20160325.1536")
(require 'slime)

И происходит целое нихуя.

Наставьте.

Ответы>>701673

29 Мар, 01:53 #450 #701673

>>701401
(setq inferior-lisp-program "/usr/sbin/sbcl")

(add-to-list 'slime-contribs 'slime-fancy 'slime-editing-commands)
(slime-setup '(slime-company))

(setq slime-company-completion 'fuzzy)

(make-directory "/tmp/slime-fasls/" t)
(setq slime-compile-file-options '(:fasl-directory "/tmp/slime-fasls/"))

Ответы>>701674

29 Мар, 01:57 #451 #701674

>>701673
Он, видимо, хочет запуск slime автоматически при запуске spacemacs, а приходится жать M-x slime.

Ответы>>701848

29 Мар, 12:19 #452 #701848

>>701674
А что мешает просто дернуть (slime) в конфиге?
С другой стороны, зачем так делать, это же замедляет запуск, а слайм нужен не всегда.

949 Кб, 416x234

NEED HELP 29 Мар, 13:18 #453 #701891

Пацаны нажимаю

C-x C-f

Не могу загрузить файл не с диска С, че делать?

Ответы>>701911

29 Мар, 13:41 #454 #701911

>>701891
Открой буффер messages и покажи что там.

Ответы>>701921

105 Кб, 1253x863

NEED HELP 29 Мар, 13:55 #455 #701921

>>701911

Ответы>>701939

NEED HELP 29 Мар, 14:09 #456 #701939

>>701921
Всё понял, нихуя я тупанул.

30 Мар, 12:30 #457 #702913

clojurescript vs purescript
Дискасс.

Ответы>>703275

30 Мар, 20:40 #458 #703275

>>702913
purescript вроды бы довольно маргинальная штука.
Обычно Elm c ClojureScript сравнивают.
Мой выбор - ебал в рот статическую типизацию, поэтому ClojureScript офк

Ответы>>703452

30 Мар, 23:30 #459 #703452

>>703275
Почему тебе не нравится статическая типизация? Она же избавляет от кучи проблем.

Ответы>>703588>>703755

31 Мар, 02:11 #460 #703588

>>703452
Статическая типизация это будущее же. Из статической типизации можно сделать динамическую, завернув все в box-ы, а из динамической статическую уже хуй сделаешь.

31 Мар, 11:08 #461 #703755

>>703452
И создаёт другую кучу проблем. Плюс на статически типизированном языке быстро не поразрабатываешь. Нахуй надо.
Минимализм, простота, гибкость, скорость разработки - вот что нужно, а не ёбаная тайп сейфити для аутистов, во всяком случае в вебе.

Ответы>>703801>>704072>>704482>>704714

31 Мар, 12:18 #462 #703801

>>703755
Ой вот не надо. В любом случае ты подразумеваешь что твой код использует определенные типы данных. И если пишешь ты не на крестах, а на каком-нибудь go, код пишется вполне себе быстро.

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

Ответы>>704043

31 Мар, 16:32 #463 #704043

>>703801
Го уже научился в нормальное обобщенное программирование?

Ответы>>704087

31 Мар, 16:47 #464 #704072

>>703755
Все тесты написал уже?

Ответы>>704087

31 Мар, 16:56 #465 #704087

>>704043
Нет, и вряд ли научится. Его ценность в другом.
>>704072
Вот кстати чем меня бесят тесты, так это тем что ты тупо удваиваешь количество кода, в котором ты можешь налажать. Хорошо работают только тесты уровня КО: а давайте сложим два и два, и проверим что на выходе должно быть четыре.

Ответы>>704474>>704486>>704519

31 Мар, 21:58 #466 #704474

>>704087
> Вот кстати чем меня бесят тесты, так это тем что ты тупо удваиваешь количество кода, в котором ты можешь налажать.

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

Ответы>>704521

31 Мар, 22:04 #467 #704482

>>703755
> И создаёт другую кучу проблем.
Назови несколько.

> Плюс на статически типизированном языке быстро не поразрабатываешь.

С выводом типов поразрабатываешь как нехуй делать. Посмотри на тот же Haskell, типы явно определять практически не нужно. Неявное приведение типов может и помогает, но динамическая система типов нахуй не нужна. Динамическая система типов это тип Box A, где вместо A любая хуйня вроде Integer, [Char] и т.д. Нахуя в рантайме проверять тип A, когда можно всегда накомпилить для нового типа код без проверок внутри него?

Ответы>>704563

31 Мар, 22:06 #468 #704486

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

31 Мар, 22:41 #469 #704519

>>704087
Так в динамическом языке тесты и есть уровня КО, лишь бы не упало от опечатки или кривого мерджа.

31 Мар, 22:41 #470 #704521

>>704474
Пример в студию.

31 Мар, 23:24 #471 #704563

>>704482
>Посмотри на тот же Haskell, типы явно определять практически не нужно.
Ну это ты лукавишь. Может, в каком-нибудь окамле и не принято указывать сигнатуры, но уж точно не в хаскеле.
>Нахуя в рантайме проверять тип A, когда можно всегда накомпилить для нового типа код без проверок внутри него?
При safety=0 sbcl так и делает.
А вообще, в рантайме много чего делать не следовало бы, но, увы, абстракций с нулевой стоимостью пока завести никуда не смогли.

01 Апр, 00:12 #472 #704607

http://www.red-lang.org/2016/03/060-red-gui-system.html

01 Апр, 08:41 #473 #704714

>>703755
>на статически типизированном языке быстро не поразрабатываешь
Как будто ты на динамическом быстро поразрабатываешь. Написал -> ой, не работает -> исправил -> ой, опечатка -> исправил -> ой, что-то не сходится -> через четыре часа отладки нашёл, что где-то в ебенях сложил апельсины с километрами.

Ответы>>704867>>704922>>704926

01 Апр, 12:22 #474 #704867

>>704714
То, что ты описал, обычно встречается в языках со слабой типизацией. И необязательно с динамической: в той же сишке, например, сложение апельсинов с километрами приведёт к трудноуловимой ошибке.

Ответы>>704919

01 Апр, 12:53 #475 #704919

>>704867
Ты мне вот что расскажи. Как рефакторить код без типизации? В статической ты просто, например удаляешь функции/поле в структуре и все, компилятор тебе сам скажет где что надо поправить. И поэтому элементарно делаются инструменты, которые делают подобные изменения автоматически.

Ответы>>704956>>704964

01 Апр, 12:54 #476 #704922

>>704714
Кстати вот этого товарища двачую, тупые ошибки должен проверять компилятор, а не ты сам в рантайме.

Ответы>>704933

01 Апр, 13:05 #477 #704926

>>704714
>ой, опечатка
это ещё синтакс чекер проверяет, прямо в редакторе/ide

Ответы>>704939

01 Апр, 13:08 #478 #704933

>>704922
ага, ценою того, чтобы тратить время на доказательство машине очевидных вещей, и нагромождения костылей фабрик фабричных стратегий

Ответы>>704939

01 Апр, 13:13 #479 #704939

>>704926
Редактор проверяет только простейшие вещи, и то частенько на них обсираясь.
>>704933
Ты проецируешь свой неудачный опыт общения с какой-нибудь жавой на весь статически типизированный мир.

Ответы>>704944

01 Апр, 13:14 #480 #704940

типы - не нужны,
я, например, и так помню что мои функции принимают в возвращают

Ответы>>704958

01 Апр, 13:21 #481 #704944

>>704939
увы, но тот же Haskell - язык для медленного вдумчивого top-down проектирования и по другому на нём нельзя

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

Ответы>>704958

01 Апр, 13:31 #482 #704956

>>704919
Рефакторинг, если ты не помнишь, миру подарил динамически типизированный смолтолк. И зародилась эта техника там в основном благодаря легкости (в сравнении со статически типизированными) внесения изменений.

Ответы>>704958

01 Апр, 13:32 #483 #704958

>>704940
Уходи.
>>704944
Посмотри на го. Там быстрый хуяк-хуяк в и продакшн.
>>704956
Не помню. Линкани почитать или, лучше, расскажи сам.

Ответы>>704975

01 Апр, 13:38 #484 #704964

>>704919
Ну и покажи мне хоть один инструмент для автоматического рефакторинга хаскеля, который делается элементарно.
И почему ты думаешь, что создание анализатора для языка проще опроса рантайма?

Ответы>>704973

01 Апр, 13:48 #485 #704973

>>704964
Потому что хаскель эзотерическое говно с уебанским синтаксисом, не?

В том же го прямо в стандартой библиотеке есть пакет ast при помощи которого довольно легко делается вот такое: https://godoc.org/golang.org/x/tools/cmd/gorename

Ответы>>704979>>705009

01 Апр, 13:55 #486 #704975

>>704958
Ну можешь Кента Бека почитать. Он где-то писал, что из техник разработки смолтолкеров экстремальное программирование и выросло.

Ответы>>704976

83 Кб, 1137x253

01 Апр, 13:57 #487 #704976

>>704975
Что именно?

Ответы>>704981

01 Апр, 14:01 #488 #704979

>>704973
После увиденных костылей для кодогенерации в го я отношусь с некоторым недовкрием к его "простым" (на грани примитивности) инструментам.

Ответы>>704982

01 Апр, 14:02 #489 #704981

>>704976
Если б я помнил.

Ответы>>704983

01 Апр, 14:02 #490 #704982

>>704979
Ну да, кодогенерация уебанская. Но в остальном тулзы довольно неплохие.

01 Апр, 14:02 #491 #704983

>>704981
Хуево читаешь, если не помнишь.

Ответы>>704984

01 Апр, 14:08 #492 #704984

>>704983
Я не слишком буквоедствую: проглядел, выудил основное да отбросил.

01 Апр, 14:44 #493 #705009

>>704973
Какой-то этот го слишком хуяк-хуяк. Почему флаги getopt находятся в gorename, а usage-строка в модуле rename?
Ну и код нечитабельный пиздец. Слишком уж он многословный.

Ответы>>705038

01 Апр, 15:23 #494 #705038

>>705009
А что по твоему читабельно? Хаскель?

Ответы>>705074

01 Апр, 15:50 #495 #705062

Я вам тут покушать принес: https://gist.github.com/chaitanyagupta/9324402
Общелисп можно научить понимать json. Кложура, твой ход.

Ответы>>705076

01 Апр, 16:05 #496 #705074

>>705038
Без перемудренных абстракций - да, обычно такой код намного чище.

01 Апр, 16:07 #497 #705076

>>705062
Общелисп и не такому научить можно https://github.com/y2q-actionman/with-c-syntax

01 Апр, 16:59 #498 #705105

Аноны, какой самый живой лишп пригодный для вебразработки?

Ответы>>705107>>705123>>705125>>705147>>705148>>705149>>705151>>705152>>705153>>705156>>705158>>705175

01 Апр, 17:01 #499 #705107

>>705105
clojure

01 Апр, 17:12 #500 #705123

>>705105
Common Lisp

01 Апр, 17:13 #501 #705125

>>705105
racket

01 Апр, 17:49 #502 #705147

>>705105
picoLisp

01 Апр, 17:50 #503 #705148

>>705105
Wolfram language

01 Апр, 17:50 #504 #705149

>>705105
Red

01 Апр, 17:52 #505 #705151

>>705105
NewLisp

01 Апр, 17:52 #506 #705152

>>705105
Arc

01 Апр, 17:53 #507 #705153

>>705105
LFE

01 Апр, 17:54 #508 #705156

>>705105
Elisp

01 Апр, 17:55 #509 #705158

>>705105
tcl

01 Апр, 18:08 #510 #705168

Перекат
>>705167 (OP)
>>705167 (OP)
>>705167 (OP)
>>705167 (OP)
>>705167 (OP)
>>705167 (OP)

01 Апр, 18:13 #511 #705175

>>705105
Общелисп пробуй. Ну или кложуру, если явой не брезгуешь

Тред утонул или удален.
Это копия, сохраненная 28 апреля 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion