::: Учебники- Cookbook :: https://lispcookbook.github.io/cl-cookbook/- PCL :: http://lisper.ru/pcl/- OnLisp :: http://www.paulgraham.com/onlisptext.html::: Документацияhttp://www.lispworks.com/documentation/HyperSpec/Front/index.htm::: Библиотеки- https://github.com/CodyReichert/awesome-cl- http://quickdocs.org/::: Среда разработки- Portacle :: https://portacle.github.io/- Остальные :: https://lispcookbook.github.io/cl-cookbook/editor-support.html
ОО шикарно. Короче, ботаю питон... Но дико угорел по метапрограммированию и лиспу. Какие у него преимущества по сравнению с питоном(точнее у каких диалектов? Sheme, CL, Clojure) и в каких сферах диалекты лиспа до сих пор остаются актуальны и останутся?Как лисп работает с многопоточностью?Насколько он быстр?Насколько у него большое и активное комьюнити (за пределами СНГ)?Первым дело я выбираю язык для аутирования, т.е для себя любимого. Мне интересны нейроночки и работа с сокетами. Стоит останавливаться на старичке, или лучше сразу обратить взор к Эрлангу или Скалеhttp://yablor.ru/blogs/common-lisp-vs-python/1025189И вот нашел блог, тут в колонке расписаны преимущества CL над питоном, но там версия 2.7 и блог за 2010г - это все еще актуально?
>>1140969>Какие у него преимущества по сравнению с питоном(точнее у каких диалектов? Sheme, CL, Clojure) и в каких сферах диалекты лиспа до сих пор остаются актуальны и останутся?Гомоиконность, макросы. Можешь быстро свой компилируемый питон а лиспе написать.>Как лисп работает с многопоточностью?Так же как и многие другие языки - треды.>Насколько он быстр?SBCL немногим медленнее СИ.>Насколько у него большое и активное комьюнити (за пределами СНГ)?Вялое.>Мне интересны нейроночкиОставайся в питоне.
>>1141140>Оставайся в питонене хочу, меня тошнит от его комьюнити, от стерильности его синтаксиса. Я его в джанго кмс юзаю и для написания всяких грабберов и скриптов. чисто макакой мне нужен язык для себя, и sheme с CL мне приглянулись хотя бы по синтаксису, мне понравились скобочки, а это уже показатель.Так все же, в чем сейчас активно используют тот же CL? Может есть какие то крупные проекты, хотя бы просто поддерживающие лисп?
>>1141140ладно, поставлю вопрос ребром Что может CL чего не может Python?В чём его преимущество?По скорости - черепашество питона лечится PyPy или чистым Си. Бенчмарки не проводил, но скорость резко возрастает.
>>1140969>точнее у каких диалектов?Надо пилить этот вопрос в шапку, буквально каждый анон спрашивает про ДИАЛЕКТЫ. Оп, ты что думаешь?>в каких сферахClojure - в основном бэкенды со всякой биг датой и машин лернингом, плюс кложурскрипт для больших SPA.Scheme (Racket) - в основном обучение и рисерч.CL - не могу сказать, по-моему в основном олдскульные лисперы пилят на нем свои стартапы.>Как лисп работает с многопоточностью?Нет никакого лиспа, есть си-образные языки (кресты, джава, раст), лиспообразные языки (CL, clojure, scheme), ml-образные языки (haskell, ocaml, reasonml).Про кл тебе ответили. У схемы в дополнение к этому есть континуэйшены, на которых можно запилить интересные конкуррентные модели (луркай "call/cc"). Кложа изначально проектировалась с расчетом на многопоточность и конкуррентность, поэтому там все по умолчанию иммутабельно, из коробки есть несколько lock-free ссылочных типов для разных видов конкуррентного обновления данных (compare-and-swap, STM и легковесные акторы), плюс из коробки есть поддержка асинхронного кода (core.async), плюс куча либ и оберток для параллельных вычислений.>Насколько он быстр?SBCL оче быстр. У схемы есть компиляторы в си, которые тоже вроде как очень быстрые (я не проверял). Кложа на жвм, поэтому потяжеловеснее и помедленнее (но быстрее питона; считай, между питоном и джавой).>Насколько у него большое и активное комьюнити (за пределами СНГ)?У кложи лучшее комьюнити их всех, что я встречал (ну и они каждый год проводят опросы, там стабильно новички отмечают комьюнити как один из главных плюсов языка). Куча крутых перцев, очень высокий средний уровень, но при этом нет илитизма, если ты не конченый уебок или пхпшник - тебе обязательно помогут. У CL комьюнити довольно небольшое и infamous тем, что в основном состоит из злобных токсичных олдскульных хацкиров (могут и обоссать). У схемки очень хорошая документация, но какого-то комьюнити как такового за пределами академии вроде и нет.>Мне интересны нейроночки и работа с сокетами>работа с сокетамиАутизм интенсифайс, лол. Если тебе хочется просто потыкать лишпы - бери scheme (конкретно - plt racket). Если тебе хочется конструктор, из которого можно навелосипедить что-то свое и необычное - бери CL. Если тебе хочется в продакшн, обработку данных и блидинг эйдж идеи - бери кложу.
Алсо, я и хотел запилить общий лиспотред для таких вот вопросов ("если хочется это - идите сюда, если то - идите туда"), но оп итт треда уже запилил кл-тред, а пилить третий лишпотред на нулевой как-то не комильфо. Ладно, похуй, подождем переката.
>>1141208спасибо за развёрнутый ответ>SBCLя тут прочитал что для его поддержки нужна орава "инженеров". его реализация сильно отличается к примеру от CCL?
>>1141383https://stackoverflow.com/questions/25092317/what-are-the-main-differences-between-clisp-ecl-and-sbcl
>>1141154>Так все же, в чем сейчас активно используют тот же CL?В том, где необходимо клепать DSL/eDSL.>Может есть какие то крупные проекты, хотя бы просто поддерживающие лисп?StumpWM. Поделки на лиспе в основном используются в закрытых проектах во многих компаниях.>>1141204Компилируемость, макросы, изменяемый синтаксис, гомоиконность, CLOS, полноценные замыкания, промышленный стандарт.
>>1141422читал мнение что в веб 3.0 благодаря "изменяемый синтаксису" и гомоиконности и макроса, Лисп восстанет аки Феникс из пепла, и хоронить его рано
>>1141430>восстанет>хоронить его рано Эт кто его там хоронить собрался? Общелисп жив и умирать вовсе не собирается.Даже наоборот, за последние лет 5 можно отметить нарастающую активность в сообществе.
>>1141606>>1141422>>1141208что то я не въехал... SBCL - имеет в корне отличный от CL синтаксис? Потому что я запутался с этими лисповскими синтаксисами и под-синтаксисами... Как его учить? Сначала вкатываться в CL, а после читать документацию по SBCL? Или есть сразу книга?
>>1141617>что то я не въехал... SBCL - имеет в корне отличный от CL синтаксис?Эм, нет. SBCL - одна из основных реализаций common lisp'а, никаких под- или надязыков там нет.>Как его учить? Ставь portacle (это настроенный и готовый к использованию emacs с sbcl в комплекте), открывай книгу да учи.
>>1141617Насчет совместимости тоже можешь не беспокоиться: если не использовал специфичных для реализации расширений, в чем надобности в общем случае возникать не должно, то код везде будет одинаково работать.
>>1141661спасибо. Начну с книги ANSI CL, а после перейду к Practical CL. Может посоветуете очередность литературы?
>>1141666Ну я бы посоветовал pcl как введение, после чего или даже параллельно полистать cl-cookbook для знакомства с некоторыми библиотеками, де-факто ставшими стандартными, и onlisp для познания lisp-way'а.Насчет ANSI CL ничего сказать не могу, не читал.
>>1141729>Это скорее недостаток, чем достоинство, лол. Никто в здравом уме не будет юзать нестандартизированный язык в индустрии.
>>1141987Разве что в твоем манямирке :3Алсо, из того факта, что ты не уловил мессадж моего поста, я делаю вывод, что ты не слишком-то знаком с CL, а потому и разговаривать мне с тобой не о чем.
>>1142069Дурачок. Вся индустрия держится на стандартах, не важно на сколько он монстр, или устаревший. Без стандартов всегда получается зоопарк хипстерского говна.
>>1142312Перед тем, как заходить в этот тред, надо включать мозг. Те, кто этого не делают, будут посланы нахуй быстрее, чем они успеют сказать "не понял".
>>1142416>Не понял.Ты долбоеб. Тебе не на дваче нужно сидеть, а по больше по сторонам оглядываться :-)
>>1142502Тебе же выше уже отвечали про машин лернинг, разве это не ты был?https://github.com/josephmisiti/awesome-machine-learning#common-lisp-general-purposeВыводы можешь сделать сам.
>>1142502Зависит от того, что именно тебе нужно.Пощупай эти:http://melisgl.github.io/mgl-pax-world/mgl-manual.htmlhttp://mmaul.github.io/clml/
>>1141648>Эм, нет. SBCL - одна из основных реализаций common lisp'а, никаких под- или надязыков там нет.Orly?http://sbcl.org/manual/#Beyond-the-ANSI-Standard
>>1142758>Orly?Практически - да.>один макрос чтения>одно опциональное поле у defpackageПро первый я забыл, а про второе даже и не знал - настолько они нужны.Остальное покрывается переносимыми библиотеками и в рабочем коде без действительной на то необхоимости непосредственно использоваться не должно.В общем, не считаю, что этим стоило лишний раз путать новичка.
>>1140969>язык для аутирования Вкатывайся в Хаскель. Скобочная динамопараша не очень хороша для этой цели.
>>1143261>да и метапрограммированием всё очень плохону не скажиhttp://ku-fpg.github.io/software/kansas-lava/
>>1143264Куда там тыкать, чтоб вау было?Хотя догадываюсь, что edsl построен не метапрограммными средствами.
>>1143268>Хотя догадываюсь, что edsl построен не метапрограммными средствами. https://github.com/ku-fpg/kansas-lava/blob/master/Language/KansasLava/Signal.hs
>>1143269>{-# LANGUAGE TypeFamilies, ExistentialQuantification,> FlexibleInstances, UndecidableInstances, FlexibleContexts,>ScopedTypeVariables, MultiParamTypeClasses #-}
>>1143261>метапрограммированием всё очень плохо.Зато можно весело поебаться с монадками и другими алгебраическими абстракциями, вместо грустной ебли с macroexpand-1.
Так...пожинаю плоды своего выбораПри попытке скомпилировать программу показывает Error Error is 2 level deep. Will try reset the I0 streams by calling stream cold init or RESET и вылетает "прекращена работа sbcl.exe" после чего редактор становится кирпичомв гугле не нашел описание этой ошибки windows 7
>>1144025У меня бы элементарно среда не открылась на 32х >>1144024Абсолютно любую, хоть "hello world"? один хрен. После попытки провести компиляцию через С-с С-с, редактор начинает колбасить, выдаёт ошибку и через секунд 10 вылетает "прекращена работа sbcl"" Will try reset the I0 streams by calling stream cold init or RESET"это тоже не работает, лишь перезапуск редактора нагуглил что это проблема окошек, но почему, не понятно. Попытаюсь поставить отдельно Emacs и Slime
>>1144201Покажи саму ошибку. Она в верхушке стектрейса.>У меня бы элементарно среда не открылась на 32х Ну мало ли, вдруг емакс 32хбитный в поставке.
>>1143739В шапке кложетреда есть список success stories (>>1139597 (OP)). И про крипту там дальше тоже есть.
>>1144241А, лол. Я понял. Ты нажимаешь C-c C-c не в буфере с кодом, а в репле, так? Там эта комбинация привязана к slime-interupt, который прерывает текущий поток и выполняет в нем break http://www.lispworks.com/documentation/HyperSpec/Body/f_break.htm Должно всплывать как у меня, но что-то идет не так.В общем, C-c C-c нужно делать в буфере с кодом.
Анон, помоги пожалуйста с порядком вычисление в Лиспе:Упражнение 1.6.Лиза П. Хакер не понимает, почему if должна быть особой формой. «Почему нельзя просто определить ее как обычную процедуру с помощью cond?» -спрашивает она. Лизина подруга Ева Лу Атор утверждает, что, разумеется, можно, и определяет новую версию if:(define (new-if predicate then-clause else-clause)(cond (predicate then-clause)(else else-clause)))Ева показывает Лизе новую программу:(new-if (= 2 3) 0 5)5(new-if (= 1 1) 0 5)0Обрадованная Лиза переписывает через new-if программу вычисления квадратного корня:(define (sqrt-iter guess x)(new-if (good-enough? guess x)guess(sqrt-iter (improve guess x)x)))Что получится, когда Лиза попытается использовать эту процедуру для вычисления квадратных корней? Объясните.Насколько я понял порядок вычисления при if будет такой:https://pastebin.com/qUW4PiziА при new-if как он будет выглядеть? До пункта 14 дойдет, а дальше как? Я знаю что дальше он зависнет в результате рекурсии (гуглил), но как это будет выглядеть?
>>1145610>А при new-if как он будет выглядеть?Зациклится, потому что sqrt-iter будет вызываться вне зависимости от того, нужен результат или нет.
>>1145610>Что получится, когда Лиза попытается использовать эту процедуру для вычисления квадратных корней? Объясните.Stack overflow из-за аппликативного порядка вычислений.
>>1146462Не объясню, потому что уже объяснено лучшеhttps://en.wikipedia.org/wiki/Continuation-passing_style
>>1146483Там ничего не написано про "stack overflow", может все-таки попробуешь сам сформулировать? Нет, не попробуешь.
>>1146524Во-первых, оно не мое. Во-вторых, оно как раз корректное, а ты просто выучил новый для себя термин и лепишь его куда попало - по-крайней мере, так это выглядит со стороны.>>1146435https://www.gnu.org/software/guile/manual/html_node/Stack-Overflow.html
>>1146545> оно как раз корректноеНет. Хотя бы потому, что там хвостовая рекурсия.>https://www.gnu.org/software/guile/manual/html_node/Stack-Overflow.htmlНу да, в этом обосрался. Почему-то думал, что стандарт схемы, как языка с поддержкой продолжений, обязывает реализацию не только оптимизировать хвостовые вызовы, но и переводить код к CPS-виду. Оказалось, так делают только некоторые реализации.
>>1146633Там не хвостовая рекурсия, так что в этом ты тоже обосрался. Читай SICP и не пизди, если не знаешь.
https://www.youtube.com/watch?v=vjVbxH1kdkQhttp://xelf.me/gui.htmlУх-ты, какую няшноту, оказывается, в xelf запилили - гуй в лучших традициях смолтолка.Пощупал демки - понравилось. Нужно будет сделать какую-нибудь игрушку на нем.
>>1154940Ну могу лишь предположить, что сообщество у фактора малочисленнее, библиотек меньше, граблей больше, а реализация только на x86.
>>1154912Хорошая штучка. Не слушай никого, кто пиздит про hy плохо. Код транслируется в python практически идеально. Hy - это все возможности питона плюс лисповые макросы.
Лиспач, смотри, что я тебе принёс: https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp> However, Naughty Dog has resumed using Lisp for scripting on PlayStation 3 games including The Last of Us.THE LAST OF US СКРИПТУЕТСЯ ЛИСПОМ
>>1158638Немного не въезжаю, что именно тебе непонятно. gensym просто создает уникальный символ. А дальше на месте вызова твоего макроса будет код, который внутри `(...). Убери макрос, напиши просто руками этот код. Лямбда внутри лет. Ну?
Ага, вроде понял. Меня сбивало то что там как будто два раза подряд let, мне казалось что при каждом обращении к функции второй let будет сбрасывать переменные в nil. Сейчас я понял что после того как макрос вызовут и лямбду сохранят, никакого let с пятой строчки уже не будет, останется только лямбда на 7-11.
Не заметил переката.Хеллоу, лисперы! Тут раньше был тред с факом по схеме. Что-то его не видно. Так вот мне нужна среда для решения задачек из SICP'а. До этого писал на С в связке VIM + gcc в консольке. Я так понял, что в схеме мне нужен интерпретатор, а не компилятор? Кароче, где мне писать свои хеллоуворды, не обременяясь тяжеловесными IDE?P.S. Emacs ковырять ой как не охота.
>>1159671> Я так понял, что в схеме мне нужен интерпретатор, а не компилятор?Тебе будет нужен, как минимум, REPL.> P.S. Emacs ковырять ой как не охота.А придётся. Если есть опыт с vim, может зайти Spacemacs, мне вот после восьми лет на виме заебись зашло, переехал и ни о чём не жалею. Как вариант можно взять DrRacket и вот это https://docs.racket-lang.org/sicp-manual/index.html, но это такое.
>>1159671DrRacket однозначно. Современная схема, минимальная иде где все из коробки настроено и работает.
>>1140925 (OP)В чем суть репла? По моему хуета бесполезная, никогда такого не хотелось в япах, но лишперы постоянно говорят шо это охуенная весчь.
>>1160456>В чем суть репла?Например, позволяет писать код прямо на работающую прогамму.https://www.youtube.com/watch?v=6pMyhrDcMzw
>>1159726Накатил спэйсмакс. Пока нравиться, за исключением того, что он какой-то дёрганный. Всё время что-то происходит, мигает, свистит, пердит и т.п. Хотя к этому можно привыкнуть. Вим-лайк шорткаты действительно заработали сразу это хорошо. То, что он при загрузке пакетов постоянно руинил парочку, и скачал только с третьего раза -- не хорошо. Алсо, в который раз убеждаюсь насколько же годная у Арчеводов вики(сам на демьяне). По информативности и дружелюбию уделывает гайд по спэйсмаксу с оф. сайта.>>1160390>>1160419DrRacket вроде тоже ничего так, но теперь уже только как запасной вариант рассматривать.mit-scheme в терминале это конечно тру. Для познания дзена самое то. Что до сублайма, то разбираться в ещё одном редакторе только ради его аддонов это как-то не очень. Тем более, выше писали, что у него ещё и совместимость с ними хромает.Спасибо. Продолжаю держать вас в курсе!
Анончики, я запутался. Помогити написать прожку. Задача: прочитать беззнаковое целое число из стандартного потока ввода и в каждом байте числа инвертировать значения двух старших битов каждой тетрады, если младший бит тетрады единичный. Результат вывести в стандартный поток вывода.Примеры преобразования:65535 (11111111 11111111) ==> 13107 (00110011 00110011)333444 (00000101 00010110 10000100) ==> 644740 (00001001 11010110 10000100)Написал такой код https://ideone.com/UL3dT8[CODE](defun change-byte (b) (let ((h (logand b #16RF0)) (l (logand b #16R0F))) (unless (zerop (logand h #16R10)) (setf h (logxor h #16RC0))) (unless (zerop (logand l #16R1)) (setf l (logxor h #16R0C))) (logior h l))) (defvar z 0)(setf z (read))(dotimes (i (ceiling (integer-length z) 8) z) (setf z (dpb (change-byte (ldb (byte 8 ( i 8)) z)) (byte 8 ( i 8)) z))))(print z)[/CODE]Что не так?
Поехала верстка. Как сделать так, чтобы данные из стандартного ввода записывались в переменную и обрабатывались при помощи функции, и дальше выводились в стандартный вывод?
>>1160990>То, что он при загрузке пакетов постоянно руинил парочку, и скачал только с третьего раза -- не хорошо.Бывает, melpa ложится полежать, спейсмаксу от этого становится худо.
>>1161173Так что ли?[CODE](let ((data (with-output-to-string (standard-output) (print "sample data")))) (print (string-upcase data)))[/CODE]
>>1161165>#16RПочему не #x?>Что не так? У тебя опчетка в change-byteНу и я бы переписал как-то так https://ideone.com/iHtCOW
>>1161173Читаешь с помощью того же read, обрабатываешь и выводишь. Код выше тебе для примера.Кстати, имей в виду, что использовать read для ввода небезопасно, потому что он читает парсером лиспа со всеми его особенностями. Например, ты можешь выполнить произвольный код, подав что-то вроде #.(progn (print 'AZAZAZAZ) (quit))
Господа, в чем вы пишете?Мне нравится Chicken, но официально ничего кроме вима и емакса не поддерживается, а ими обмазываться я не хочу. И Racket мне не по душе.Есть ли современный редактор для схемки?
>>1008826 (OP)Дочитал SICP до главы про недетерминистские вычисления, ну которые через особую форму amb упражнение 4.34, которое перед этой главой, заебался делать. Эта херь вообще где-нибудь используется? Аналоги этого механизма в языках не из LISP-семейства есть? А то что-то оно совсем крышесносно выглядит (пока, по крайней мере, не дошёл до упражнений).
CommonLisp живой? Как то не видно особого развития... точнее хоть какого то. Питон раз в месяц патчит версии, а тут с 2005 похоже тишина и только мёртвые с косами стоятЕсть ссылки на свежие проекты и желательно основные сайты забугорного комьюнити? буду рад И в чем отличия, плюсы и минусы Clojure перед CL?
>>1196314>CommonLisp живой? Да.>Как то не видно особого развития...Ты где-то не там смотришь.>Питон раз в месяц патчит версиих, а тут с 2005 похоже тишинасбцл тоже раз в месяц обновляется, коммерческие - примерно раз в полгода.>Есть ссылки на свежие проекты и желательно основные сайты забугорного комьюнити? буду рад На реддите смотри.>И в чем отличия, плюсы и минусы Clojure перед CL?Если кратко, первый - язык для менее болезненного программирования на яве, второй - язык общего назначения
>>1140925 (OP)Сап программисты.Ситуация такая, коллега на работе настоятельно рекомендует прочитать sicp. Постоянно говорит про какое-то просветление, самоподобие, код как данные, упомянал y-комбинатор, и вообще говорит, что если не знаешь лиспа - не программист.Собственно, не пиздит ли он? Есть ли смысл читать если ты программист другого языка? Я начал читать, пока не почувствовал ничего.
>>1198078Ну вот он прочитал, а ты нет, а в результате вы на одной работе работаете. Вывод: SICP ни на что не влияет.
>>1198078Ради расширения кругозора читать конечно стоит. Книжка, если что, не про какой-то конкретный язык, а про программирование в целом. Плюс она хорошо все раскладывает в голове по полочкам, ну и собственный язык в репах на гитхабе зачастую производит положительное впечатление.Кроме того, познакомиться с ней стоит хотя бы для того, чтобы не выставлять себя посмешищем, как вот >>1198121-анон.
>>1198078о тролинге говорят дегенераты-формошлёпы неспособные осилить архитектуру программ в своей голове, а лишь перепейсовать спизженные куски кода. Как минимум ознакомление с sicp обязательно каждому уважающему себя программисту, если ты конечно не макака
Посоны, поясните, какая разница между direct-слотами и effective?Вот, допустим, хочу я к определниям слотов добавить метаинформации. В каких случаях достаточно расширить direct-слоты, а в каких — и effective?
>>1217522>Так ты бы хоть код привел, анон - телепаты-то все на каникулах. (random-seed (current-milliseconds))
>>1217600Пробовал.(+ 1 current-milliseconds)>Type Checker: type mismatch> expected: Number> given: (-> Fixnum) in: current-milliseconds
>>1217600>>1217614Сори за тупость.Вот.(random-seed (+ 1 (current-milliseconds)))>Type Checker: type mismatch>expected: Positive-Integer>given: Integer in: (+ 1 (current-milliseconds))
>>1217614Ну, сам я этим не пользовался и даже не представляю, зачем такие извращения тебе могли понадобиться, поэтому могу только посоветовать читать руководство.
>>1217627(random-seed (add1 (abs (current-milliseconds))))>random-seed: contract violation>expected: (integer-in 0 2147483647)>given: 1530007455287
>>1217643Ох какая няшка.Скажи мне, красавица, как вообще типы данных правильно конвертировать в тайпед ракете?От чего такие трудности появляются? Почему нет стандартного набора функций конвертеров?В обычном ЯП я могу просто привести один числовой тип к другому.
>>1217646> Скажи мне, красавица, как вообще типы данных правильно конвертировать в тайпед ракете?Понятия не имею, я просто мимо проходил даже sicp не до конца дорешал> От чего такие трудности появляются?Тому що строгая типизация.
>>1217646>В обычном ЯП я могу просто привести один числовой тип к другому.Так тут тоже можешь, там все есть но тут-то тебе нужно по модулю число брать, если я правильно понял проблему
>>1218128Гуглить мама не научила? Привет ей передавайhttps://en.wikipedia.org/wiki/Agda_(programming_language)
Какие актуальные проекты на Common Lisp в данный момент есть... Желательно крупные и продакшен Сфера - любая
>>1218829Есть практические примеры, но именно упражений на самостоятельное решение нет. Кажется, в land of lisp были.Кстати, просто упражнения без привязки к языку можешь найти там https://projecteuler.net/
По DrRacket самый годный вариант - это How to Design Programs? Вроде больше ничего годного не нашёл, кроме нескольких видосов на ютубе, которые уже разобрал.
>>1220158Да там дохуя книжек так-то есть https://mitpress.mit.edu/books/little-schemer-fourth-edition
>>1220546Как можешь видеть, список составлялся недавно. Так что, если что-то уже не развивающееся и было добавлено, то какой-то интерес всё ещё представляет.
С форматированием таблиц вроде понятно, а как задать смещение самого прямоугольника и положение относительно краёв?
>>1222728>синтаксический сахарок для хешей>СИЛА жвм >и вообще хиика был правМощная аргументация. Все, бросаю общелисп и бегу записываться в ряды восторженных кложе-фанатов.
>>1223198>cl-фанатаhttps://github.com/SlightlyCyborg?tab=repositories&language=common+lispСудя по кодичеству и неуклюжести кода, все его фанатство - это несколько случайно прочтенных статей с ресурса уровня швабры.
>> Portacle :: https://portacle.github.io/У меня из-за этого портакла память утекла, сука, 8 гигов за 5 минут.В итоге на сервак домашний навернул vim и sbcl.
>>1225017емакс.sbcl у меня не тёк никогда.( так как я им давно пользуюсь, но отдельно). Вот решил скачать что тут советуют, и охуел.
>>1226566>Думаю отправить ли правку этому чуваку или нет Хули тут думать? Опенсрус он на то и опенсрус, чтобы коллективно фиксить проблемы. Или хиика дохуя?
решаю задачки из книги Ansi Common Lisp в portacle(format t "~A plus ~A equals ~A. ~%" 2 3 (+ 2 3))ошибка wrong type argument stringp, t поясните, аноны.а в чистом sbcl пашет, но это говно не работает с копированием.Что не так с портаклом?
>>1228474Перевод строки>>1226978Винда что ли? Ты откуда копируешь? Из пдф? Вангую, у тебя там юникодные кавычки вместо нормальных и не совпадают кодировки.
>>1228484я сам печатаю, лол.если юникодные кавычки, то чего sbcl сжирает?>>1224776 сделал как этот анон, так как этот вариант работает.
>>1228508>я сам печатаю, лол.Так, погоди, а куда ты вводишь код? Покажи скриншот, уж не емаксом ли ты пытаешься исполнить
Я тут глянул CL и понял что он просто идеален для создания полиморфной малвари и макросов... Так почему он не выстрелил и вместо него используют python и delphi, при том что в случаи с питоном приходится тащить с собой интерпретатор, что уж никак не сравнивается с компилируемым CL
>>1228763в sbcl да, сейчас в блокноте уже печатаю.в emacs я печатал и исполнял, а потом пытался делать как в гайде портакла написано, хуйня какая-то.
>>1229503> Я тут глянул CL и понял что он просто идеален для создания полиморфной малвари и макросов... > Стопицот гигабайт бинарник с зашитым рантаймом> рантайм попадет в базы эвристики и пиздец.
>>1229673>в sbcl да, сейчас в блокноте уже печатаю.Такое себе удобство.>в emacs я печатал и исполнялА буфер был в режиме емакслиспа, да? Судя по ошибке, именно так и было. В елипсе у format'а первым аргументом идет строка, вот оно тебе и ругалось, что t - нихуя не строка.После старта портакла загляни в C-x b Messages и C-x b inferior-lisp, видимо, там что-то не так.
>>1229675Я думаю, рантайм общелиспа можно неплохо утрясти. Начать хотя бы с удаления документации и отладочной информации, а закончить удалением неиспользуемых функций и пакетов. Кажется, коммерческий allegrocl именно так и делает.
>>1229675>> Стопицот гигабайт бинарник с зашитым рантаймомчёт я не понял а как же хвальба за возможность накатать интерпретатор питона на лиспе в 15 кб чему там столько весить?
>>1231142>чему там столько весить? У тебя в рантайме компилятор, всякого рода метаинформация ко всем объектам: отладочная, документация, местонахождение в исходном коде, служебная информация (например, типы функций, переменных, слотов и т.д.).Но это у sbcl рантайм жирноватый (сохраненный образ занимает ~30мб), у ccl - раза в два меньше, у ecl - вообще крошечный, но он заметно медленнее остальных и умеет компилировать только через сишку или интерпретировать.>а как же хвальба за возможность накатать интерпретатор питона на лиспе в 15 кб В 15кб чего? Откуда ты это вообще взял?Скорее всего, имелось в виду, что на лиспе легче реализовать, потому что у тебя уже есть фичастый рантайм и компилятор, который можно заточить под свои нужды.
>>1231674>отладочная, документация, местонахождение в исходном коде, служебная информацияЩито? Это же все удаляется, если не дебаг-билд, не?
>>1231802Эм, да в лиспе, можно сказать, нет такого понятия сборок, как нет и отдельной стадии компиляции, ибо код пишется сразу на работающий процесс. Как в смолтолке.Ты можешь подкрутить флажки, выставить дебаг 0, но это экономия на спичках, размер образа уменьшится едва ли на процент.Вот allegrocl, говорят, умеет подчищать свой рантайм основательно. Так, что в образе остается только необходимое.
>>1231927Во-первых не в лиспе а в коммон лиспеВо-вторых блждад я же тебе конкретный гринтекст указал, все это сбцл удаляет при прод-сборке насколько я знаюНу и про аллегро ты сам сказал, да
>>1231935>Во-первых не в лиспе а в коммон лиспеВ лиспе, в лиспе. Схема - отдельный лиспоподобный язык, а общелисп потомок - того самого.
>>1231967Лиспы - это семейство языков программирования. Common lisp - один из его представителей. Капитан Очевидность.>>1231958Ну дебаг+спид, ты же сам про это писал.
>>1231935>прод-сборке>дебаг+спидЧто есть прод сборка и спиды в CL, за отладку я понял. Я тут подумываю его юзать для своих подделок для души, но чёт меня отпугнули заявления анона выше за гигабайты мусора
>>1231986Причем тут сбощик мусора?>>1231998>Ну дебаг+спид, ты же сам про это писал.А, ты об этом. Я уже говорил, на размере это практически не сказывается.
>>1232016Не гигабайты, а всего +30мб (у сбцл), и не мусора, а в основном инструментария. Не так уж и много для такого рантайма, gcc с gperf, gdb и glibc занимают не меньше.Но если для тебя такой излишек непозволителен, возьми другую реализацию.
>>1232051>Но если для тебя такой излишек непозволителен, возьми другую реализацию. да нет, скорость играет первостепенную роль ибо область около биг дата, но и размер бинарника должен быть минимальный, так что тут лишь sbcl ладно, спасибо, выделил цитаты из диалога, буду гуглить.
>>1232052>размер бинарника должен быть минимальныйСбцл поддерживает сжатие образов, ужимает емнип до ~8мб.Вообще, можешь попробовать поудалять лишние пакеты из образа, документацию и т.п. Это тебе строк в 20-40 кода обойдется, пару мегабайт точно освободишь
https://bitbucket.org/mihailp/tankfeeder/src/default/Кто-нибудь пробовал использовать этот наркоманский пиколисп? Каждый раз, как натыкаюсь на код на нем, возникает противоречивое впечатление. С одной стороны, поражает, как код получается таким лаконичным, но с другой, ЧТО ЭТО БЛЯДЬ ЗА НАРКОМАНИЯ
>>1232426>https://bitbucket.org/mihailp/tankfeeder/src/default/Там, говорят, даже лямбд нормальных нет. Бери ракетку и не выёбывайся. Ну или clasp вон, если хочется странного.
>>1232534>Там, говорят, даже лямбд нормальных нет. Я слышал, там и лексических переменных нет, прям как в старом, добром лиспе. Но вообще, язычок хоть и страшненький, мне кажется, он идеален для хуяк-хуяк скриптов.>Бери ракетку и не выёбывайся.Как-то пробовал писать на её frtime, создалось впечатление, что оно пилилось вовсе не для практического использования, а показать МЫ ТОЖ ТАК УМЕЕМ, ЧЕ НАМ ЭТИ ХАСКЕЛИ. Уж больно все криво, сыро, несподручно было.Ну и тормозная она жутко. И ведь странно, схема же такой простой язык, почему для неё не могут запилить нормальную реализацию?
>>1232534>clasp>https://github.com/clasp-developers/clasp>https://www.cliki.net/ClaspЦє? Он ещё где-то далеко в альфе, не?
>Ну и тормозная она жутко. И ведь странно, схема же такой простой язык, почему для неё не могут запилить нормальную реализацию?В смысле тормознутая? С какими опциями компилировал?
>>1232559>почему для неё не могут запилить нормальную реализацию? Есть же компилятор схемы в си.>он идеален для хуяк-хуяк скриптов.Про пайтон слышал?>вовсе не для практического использованияДля практического использования на сегодня годится только один лиспообразный язык не считая жс и руби, и мы все знаем, как он называется.
>>1233074;)>>1233065У опа этого треда от него бомбит, так что я не буду нагнетать атмосферу.>>1233074Поясни про red, кстати. Действительно годнота, стоит в него потыкаться?
>>1233094>У опа этого треда от него бомбит, так что я не буду нагнетать атмосферу.ну пипец, взял, нагнал таинственности и ушел в туман. Нельзя так, мне тоже интересно стало
>>1233094>Действительно годнота, стоит в него потыкаться?Ну да, у них теперь планы наполеоновскиеhttps://www.red-lang.org/2017/12/leaping-into-future-red-goes-blockchain.html
>>1233142>Ну да, у них теперь планы наполеоновскиеТак, и в чем его плюсы перед теми же плюсами и какие резоны использовать оный вместо плюсов? Очередной велосипед походу
>>1233142Да в том и дело, что планы-то (и баззворды) наполеоновские, а как посмотришь, что реально есть, - какое-то говно, которым перекидываются полтора застрявших в 90-ых аутиста. Хуй знает корочи.>>1233145>Так, и в чем его плюсы перед теми же плюсамиОх, лол, и это я еще авторов реда аутистами называю.
>>1233145Лол, какой вообще может быть резон использовать кресты?>>1233157Вот уж не знаю, в каком оно сейчас действительно состоянии, но судя по отчетам они там не топчутся на месте. Собственно, жду следующего релиза, к нему собирались много чего допилить, будет уже более-менее пригодным для использования.
>>1233142>https://www.red-lang.org>>1233157>Да в том и дело, что планы-то (и баззворды) наполеоновские, а как посмотришь, что реально есть, - какое-то говно, которым перекидываются полтора застрявших в 90-ых аутиста. Хуй знает корочи.>>1233278>но судя по отчетам они там не топчутся на месте. Собственно, жду следующего релиза, к нему собирались много чего допилить, будет уже более-менее пригодным для использованияТак, что это за зверь такой вообще?Я вот сайт их полистал, и мягко говоря ничего не понял.Ну, заявления очень громкие да. Хеллов верд вроде есть.А в чем собственно специфика их языка, не в плане целей, а в плане вот синтаксиса, семантики, библиотек, модулей?Чем оно от лиспа отличается кроме формы скобочек?
Поясните за лит-ру по Racket, щас читаю How to Design Programs, далее планировал (закончить бы ещё для начала) её продолжения (HtDP Languages, HtDP Teachpacks), после - SICP (если вообще доживу до этого момента). Собственно что хочу спросить, есть ли ещё что-то годное по Racket? И, ваше мнение по поводу HtDP и SICP? HtDP точно прочитаю, а вот пару слов насчёт SICP хотел бы услышать, всё же даже отдельный тред в её честь есть.
SICP and HtDP have different audiences. HtDP was designed for people who know nothing about computer programming, particularly students who would not be pursuing a degree in computer science. SICP was used in a first CS course. Because they both use Scheme, they're complimentary. If you are starting out trying programming for the first time, then HtDP will certainly be a better choice. When you finish it, you should proceed to read SICP, followed by Concepts, Techniques, and Models of Computer Programming.
>>1233278>но судя по отчетам они там не топчутся на местеХуй знает, судя по отчетам они там сидят на виндуз 98 и пилят динамикодрисню со встроенной гуй-библиотекой для винды. Ну такое.>>1233351>Я вот сайт их полистал, и мягко говоря ничего не понял.>Ну, заявления очень громкие да. Вот у меня ровно то же ощущение. И от ребола было такое же.
>>1233715>виндуз 98На десяточке же.>со встроенной гуй-библиотекой для виндыУже давно для мака запилили же, а в апреле демкой для ведроида хвастались. Гтк-бекенд пока, видимо, некому пилить.
>>1233351Да тот же лисп, но с менее шумным синтаксисом и сразу спроектированный с подходом "каждой предметной области свой едсл"
Так, я тут наверно один такой, это всё тот же анон с vim и sbcl.Комбо мне показалась удобной, поэтому использую её.решил сделать функцию для поиска второго слова в строке.(defun second-word (str) (let ((p1 (+ (position #\ str) 1))) (subseq str p1 (position #\ str :start p1))))sbcl ругается на sharp slash. Я так понимаю я должен был писать #\str ?
В тред призываются Scheme-прогерыВопрос таков:Правильно ли я понимаю, что(cons 1 (cons 2 (cons #true (cons "2ch" '()))))==(list 1 2 #true "2ch")И, например(list (list "4" 2 (make-posn 5 5)) #false)==(cons (cons "4" (cons 2 (cons (make-posn 5 5) '()))) (cons #false '()))И я могу всегда вместо cons использовать list в упражнениях и быту, чтобы не ебать мозги, ибо до list по HtDP ещё не дошёл?equal? говорит о том, что мои мысли правильны, но всё же хочется свериться с вами
>>1237072также сюда вопрос#lang racket(define l (list 3 4 5 6 #true #i23.5 ""))(pair? l) == (list? l) == (cons? l)? Судя по всему, да, но я нью-фаг в лиспе, поэтому хочу чтобы вы подтвердили правильность
>>1237076здесь не уточнил, также имеется ввиду, что нет разницы, какой из 3ёх предикатов использовать
>>1237072>И я могу всегда вместо cons использовать list в упражнениях и быту, чтобы не ебать мозги, ибо до list по HtDP ещё не дошёл?Да.>>1237076>(pair? l) == (list? l) == (cons? l)?Нет. pair? = cons? ≠ list?(list? '()) => #t, но (cons? '()) => #f(pair? (cons 1 1)) => #t, но (list? (cons 1 1)) => #f
Почему 7ая версия DrRacket сбрасывает настройки? В плане язык; тичпаки; Scheme-мод был, стал Text; также в одном месте по шрифту сбрасывает, не буду вдаваться в подробности в каких именно настройках шрифтаХелп аноны
>>1238163Какая ОС?У меня сбросила настройки старой версии, после установки новых ничего не сбрасывает.
(define (sort str) (cond ((or (string=? str "a") (string=? str "an") (string=? str "the")) "") (else str)))Можно как-нибудь сократить запись первого выражения? Чтобы не писать по n раз (string=? str строка).
>>1239859quote: expected the name of a symbol or () after the quote, but found a partЧерез list сделал, всё окейВключен BSLПочему твой вариант не прокатил?
(implode (explode "cat"))(list->string (string->list "cat"))Даны 2 выражения, в чём разница? Результат, естественно, один и тот же.
>>1240604глянул документацию лишний раз, понял разницу(list->string (list #\c #\a #\t))(implode (list "c" "a" "t"))(string->list "cat")(explode "cat")
>>1241274>я имел ввиду, в основном для чего применяется Для создания DSLДля ембедед программ.Для игр.Для программирования плисов.Для веба.Для ентерпрайза(заместо джавы)Основная фишка лиспа, это богатые возможности метапрограммирования.Вот везде где нужно метапрограммирование.
>>1241301http://status.im/https://precursorapp.comhttps://circleci.com/http://asciinema.org/http://maria.cloud/https://www.walmart.comhttp://lighttable.comhttp://defold.com/http://www.onyxplatform.org
>>1140925 (OP)Какой лисп самый топ ? Не для коммерции а для себяТипа clisp или sbcl ? Может есть еще что-тоХочу писать свои интерпритаторы, хуяторы, мб консольные редакторы Опять-же, только для себя. Не хочу коммерции
Предположим, я до конца осилил SICP на самом деле нет. Теперь я хочу изучить лисповские макросы, потому что слышал звон, что это самая крутая фича лиспов, но в SICP про макросы ничего нет. По какой литературе их лучше изучать? PCL?
>>1244412Зависит от того, какой язык ты хочешь изучать, очевидно. Если тебе интересны только сами макросы, то лучше читай доки к рэкету, так как там их больше разных видов скажем так.
>>1244603Ты спросил про лучший лисп, я ответил. Он настолько хорош, что его используют даже для коммерции.
>>1244419> какой язык ты хочешь изучатьХочу всё попробовать, но писать в итоге буду, скорее всего, на CL и/или Clojure.Документация, скорее всего, неоч зайдёт, я хочу, чтобы мне, как дебилу, разжевали, и заставили десяток нудных упражнений сделать, ну то есть прямо как в сикпе.
>>1244891Читай (бесплатно доступную онлайн) clojure for the brave and true автор тебя будет уговаривать установить имакс, не поддавайся @ решай упражнения с 4clojure. Для первого знакомства можешь maria.cloud навернуть, но там прям совсем для нубов, если ты сикп осилил, то тебе скучно будет. Алсо, на exercism.io есть clojure-трек, там тоже упражнения и все в одном - пожалуй, даже с этого лучше начать.А вообще, тут кложетред с шапкой есть, глянь ее.PCL тоже можешь навернуть (как минимум для ознакомления), но учти, что по современным меркам там много сомнительных решений.О, а еще чисто по макросам есть вот эта наркоманская штука: http://www.lisperati.com/casting.html - наверни, лол, еще захочешь. Вроде аффтар запилил и кложеверсию.
>>1244974> автор тебя будет уговаривать установить имакс, не поддавайсяУже поздно, лолСпасибо за советы!> О, а еще чисто по макросам есть вот эта наркоманская штука: http://www.lisperati.com/casting.html - наверни, лол, еще захочешь.Выглядит упорото, обязательно посмотрю :з
Посоветуйте книгу по scheme, только не the little schemer, т.к. блевать тянет от той подачи информации.
>>1243130Gambit-C + LambdaNative - схемка+кросплатформенный фреймворк для написания приложений, которые будут работать на любом утюге с OpenGL.>>1244412>Теперь я хочу изучить лисповские макросы,А хули их изучать-то? Синтаксическая абстракция настолько примитивная вещь, что всё понимается за пару вечеров неспешных экзерсайзов.
>>1246011>LambdaNativeЮзаешь его? Что за зверь, как оно вообще? Примеры выглядят не очень честно говоря.
Есть ли смысл погружаться в такого дедушку как CL, когда есть Elixir. И почему CL не смог в продакшен?
>>1250579Устаревшая стандартная библиотека, много мутабельности, loop, оверюз макросов... Ну это такое, надо попробовать и сравнить, чтобы понять.>>1255609Для расширения сознания - скорее да. Для практики - скорее нет. В продакшен он смог, но это было давно олдфаги не помнят, ньюфаги не знают гугли AI Winter.
>>1255803Ясновидцы вслед за телепатами ушли в отпуск, извиняйте. Последние пару лет у него ни с того ни с сего внезапно началась какая-то движуха, так что хуй его знает. Но в целом анон выше прав, есть же кложа.>>1255832...хотя с другой стороны, кложа - это про иммутабельность, параллельность@асинхронность и data-driven design. У CL так-то совсем другая аудитория, там типа олдскульные бородатые хакеры пишут генераторы метапарадигм на дслях.>>1255858Ну, необязательно, еще нода\браузер. Да и грааль потихоньку допиливают, простенький бэкенд уже сейчас можно но ненужно скомпилить в нативный бинарник без всяких жвм.
>>1255673>Устаревшая стандартная библиотекаКод из учебников по сишке ты тоже назовешь сомнительным, ведь стандартная библитотека не нова?>много мутабельностиНет, не много.>loopНе как что-то плохое. К тому же, это часть языка, зачем про неё умалчивать?>оверюз макросовИспользованы в меру, я считаю. Примеры в книге нормальные. Просто ты кложурист и тебе не нравится cl.
>>1255832>Его нишу полностью занял Clojure.Кложа более-менее взлетела только на фронтенде, а тот никак не ниша общелиспа.
>>1256537>Код из учебников по сишке ты тоже назовешь сомнительнымРазумеется. К&R - отличный учебник того, как не надо писать код.>Нет, не много.Хэшмапы иммутабельные уже завезли?>как что-то плохое.Плохое. А, кстати, еще вспомнил, что он там про анафорические макросы рассказывает и ни разу даже не упоминает, что это говно и на самом деле это просто пример так делать никогда не надо. Мне кажется вкатывальщику вместо целой главы про loop гораздо полезнее будет ознакомиться со стандартными фпшными функциями над коллекциями (и их реализацией).>Использованы в меру, я считаю.А я, выходит, считаю по-другому.>тебе не нравится cl.Нравится. Мне задали вопрос - я ответил, только и всего.>>1256540>на фронтендеДа не, ну сам посуди, какой смысл сегодня вкатывающемуся писать бэк на кл? Если нужно тупо сайтик развернуть, проще взять РоР, если нужно рест или считать-дергать что-то - кложу. КЛ хорош, если ты уже кл-хакир, ну или если тебе нужен нативный код и метагенераторы оперденей!
>>1256564>А я, выходит, считаю по-другому.Да по-моему, ты никак не считаешь. Тебя спросили пример кода, а не твои ТАМ ВСЕ ПЛОХО И ВООБЩЕ ТАК ДЕЛАТЬ НЕ НУЖНО, А ВОТ ЗАТО У НАС ИММУТАБЕЛЬНЫЕ ХЕШМАПЫ. Нашел чем удивить, лол. Сейчас элементы ФП в каждую скриптопарашу тянут WAIT OH SHIIIIII
>>1257551>Тебя спросили пример кодаМеня спросили - я ответил.>Сейчас элементы ФП в каждую скриптопарашу тянутНу так в своем ответе я как раз и упомянул тот факт, что в кл элементы ФП вместо Ъ-ФП и иммутабельности по умолчанию. На что ты мне ответил, что тебя это устраивает. Мне-то не жалко, но self-consistency какая-то должна же быть.
>>1257606>что в кл элементы ФП вместо Ъ-ФПНу и что? В кложе тоже.>но self-consistency какая-то должна же быть.Сказал фанат hosted языка, лол.
>>1256564>ну или если тебе нужен нативный код Там такой нативный код, что лучше уж жабу через jvm. Они за овер 20 лет даже в SIMD видеть и использовать в map не научились, что уж говорить про cache-friendly memory manager и прочие новомодные хуитки, которые сейчас даже JS движки умеют.
>>1257876>новомодные хуитки, которые сейчас даже JS движки умеют. Только не очень-то они ему помогают.
>>1257863>В кложе тоже.Нет.>Сказал фанат hosted языка, лол. Во-первых, я фанат Спартака; во-вторых, при чем тут это? Я тебе про взаимоисключающие параграфы же написал.Короче, забей. Я не знаю, зачем тебе хочется устраивать со мной срач. По-моему в этом нет необходимости.>>1257876Ну, тут можно конечно обсуждать (тем более в свете грааля, да и всяких реакт нейтивов тоже), но вот например если тебе нужен ffi или не дай боже какое-нибудь байтоебство, то жвм тут точно всосет. инб4: возьми раст \ ядро на си, обвязка на клжс с нодой
>>1256564>анафорические макросыА что в них такого плохого? Просто еще один инструмент для повышения выразительности
>>1258380>А что в них такого плохого?Неявный ввод имен - ето плохонько. Вместо это лучше использовать либо явные локальные биндинги, либо один динамический (но все еще явно объявленный) биндинг.>инструмент для повышения выразительностиХм, так в том и проблема, что они не повышают выразительность. Тоталли анрилейтед: вот this в жаваскрипте повышает выразительность, как ты считаешь?
>>1258380Можно отстрелить себе ноги, если использовать их в макросах. В остальном же ничего страшного.
>>1256039>Последние пару лет у него ни с того ни с сего внезапно началась какая-то движухаможно поконкретнее? Заинтриговал Чу, решили стандарт наконец изменить?
>>1258407>Неявный ввод имен - ето плохонько.Описанный в документации к такому макросу. По сути же получается локальный такой eDSL.Получается, что CLOS - тоже плохенько?>Вместо это лучше использовать либо явные локальные биндингиТак анафорические макросы как раз и придуманы, чтобы каждый раз не заниматься биндингом ручками, биндинг сам сбиндится к какому-то зарезервированному символу.>thisСемантика this/self/итд в ООП язычках и it/self/итд в амакросах различна и их сравнение вобщем-то не уместно.
>>1259194>Чу, решили стандарт наконец изменить? Да вроде нет.>>1260483Прикольно! но #H(...) это конечно так себе>>1260545>Описанный в документации к такому макросу. Ээ, по-моему ты меня не совсем понял.>Так анафорические макросы как раз и придуманыКапитан в треде, все в америку -.\\>их сравнение вобщем-то не уместно.Тыскозал? Я же говорю, по-моему ты меня не понял.
>>1261341Чтобы получить полноценный, стандартизированный язык с хорошей динамической средой, а не наколеночную надстройку над джавой, которая до недавнего времени плевалась жава-стектрейсом на любую ошибку.
>>1261341Этот >>1261888 анон - местный кл-фанбой, который триггерится от любого упоминания кложи (на которой он, кстати, никогда не писал). Не строй представление о кл-коммьюнити на основе его постов.
>>1262736Как-то не пробовал, мне перл привычнее, но недавно натыкался на такой проект https://github.com/bradleyjensen/shclВот уж не знаю, насколько он пригоден для использования, но выглядит интересно.
>>1263517>>1140925 (OP)>::: Учебники>- Cookbook :: https://lispcookbook.github.io/cl-cookbook/>- PCL :: http://lisper.ru/pcl/
Почему в common lisp такие странные названия у функций по сравнению с той же clojure?make-array, vector-push, elt, setf, aref, evenp, oddp, make-hash-table, gethash, pushnew, rotatef, shiftf, progn, eql, equalpТак же наркоманский синтаксис у looploop for x from 1 to 10 summingНу и вишенька на торте:car, cdr, caar, cadr, cdar, cddr, caaar, caadr, caddr, cdaar, cdadr, cddar, cdddr, caddddr...
>>1265786Потому что это старый язык из 80-ых (в сишке названия функций видел? Тогда так модно было), плюс CL - это продукт стандартизации многих несовместимых реализаций лиспов, поэтому там много компромисов.tl;dr: потому что стандартная библиотека там унылое говно мамонта
>>1265803> tl;dr: потому что стандартная библиотека там унылое говно мамонтаИ как коммон лисперы с этим живут?
>>1265927Перекатываются на кложу Немного страдают и потихоньку пытаются исправлять, ссылки выше были, но в целом привыкают, ибо это компенсируется другими достоинствами языка.
>>1265927Так же, как и окамльщики - используют батарейки по вкусу.Благо, что язык позволяет перепрограммировать любую его часть. В рантайме. За то, собственно, и любим >>1266126
>>1265786>Почему в common lisp такие странные названия у функций по сравнению с той же clojure?Как уже сказали, из-за того, что cl - результат слияния кучи лиспов. Архаичности нужно просто игнорировать, для этого не всегда даже нужно лезть в сторонние библиотеки. В стандартной библиотеке почти для всего есть более универсальная и современная замена.>Так же наркоманский синтаксис у loop>loop for x from 1 to 10 summingsum же. Не такой уж и наркоманский. Главный минус loop'a - он не расширяемый, в этом плане iter лучше.>car, cdr, caar, cadr, cdar, cddr, caaar, caadr, caddr, cdaar, cdadr, cddar, cdddr, caddddr...Нужны (да и то редко) только первые два, для остального есть (defstruct (foo (:type list)) ...)
>>1262736Я просто оставлю это здесь: https://medium.com/@den.isidoro/using-clojure-graalvm-for-shell-scripting-da0bcc8955d4
Не могу осилить practical common lisp. Мало того, что она на английском и я половину написанного не понимаю, так ещё куча информации, которую тяжело читать. Есть какие нибудь ресурсы для даунов и аутистов? Желательно с примерами кода, чтобы я в емакс все копировал и запускал.
>>1267322Не знаю, погугли. У меня на винте лежит pcl.pdf на русском. а вообще,>Есть какие нибудь ресурсы для даунов и аутистов?http://maria.cloud/ же
>>1267357Спасибо, анончик. Жалко только что я почти 20 глав прочитал и почти нихуя не понял. Зато теперь надеюсь, что дочитаю.
>>1267367Есть еще lisp in small pieces, тоже на русском. Может лучше зайдет, хотя она ближе к сикпу.>20 глав прочитал и почти нихуя не понялПроиграл конечно.
Ох, в лиспотредах ничего не меняется. Зачем только кложу отдельным тредом обособили? Кложешизик настолько разжирел, что одного ему уже мало?
https://github.com/atlas-engineer/next/issues/120https://www.reddit.com/r/emacs/comments/9j1ubb/next_browser_linux_port_campaign/Если вдруг кто-то ищет себе проект, то вот, товарищу требуются помощь в портировании на линукс.
>>1272581Не от переизбытка помощников ему пришлось с плюсовиком партнериться. Да и к тому же, у него ещё в планах гтк с вебкитом, на который точно рук не хватает.
Собираюсь писать пет прожект, где будет много данных и еще больше работы с этими данными. Какой язык/либу для этого посоветуете?
>>1278363Очевидная кложа очевидна. Хотя на самом деле зависит от того, что за данные и что ты с ними делать будешь, может тебе вообще лучше питон взять?
>>1278376>Какие данные.Всякая статистика старкрафта. Мне нужно будет гонять ее из одного формата в другой. Позже буду писать простого(по меркам лучших игроков, но не в плане кода) бота для игры. В будущем планирую прикрутить машинное обучение, но это не точно. >ПитонПитон не хочу. И почему кложа а не коммон лисп?
>>1278381>И почему кложа а не коммон лисп? Ну она питчсейлзится как раз как язык для ОБРАБОТКИ ДАННЫХ, поэтому довольно очевидно. Плюс куча жвм либ, тебе не придется руками писать условный парсер иксемеля, лол. Ну и с машинным обучением там норм но хуже, чем в питоне.Кл думаю побыстрее будет, но и писать на нем далеко не так приятно. Алсо, если у тебя это типа клиентское приложение, а не на сервере крутится, то вообще логично было бы что-то более легковесное взять (раст? даже окамл? раз питон не хочешь, то вангую что го тоже не хочешь)
>>1278396>язык для ОБРАБОТКИ ДАННЫХ>довольно очевидноОкей, а в чем это проявляется?>парсер иксемеляВ коммон лиспе думаю есть такое.>писать на кле далеко не так приятноПочему?>Алсо, если у тебя это типа клиентское приложениеНе, данные я буду я обрабатывать на беке. Позже напишу удобный для себя клиент.>Легковесный.Я думаю это не про кложу как раз.>Раст, го.Низкоуровневый язык не для моей задачи.
>>1278363https://github.com/tokenrove/series/wikihttp://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node347.htmlЕсть вот такая библиотека, несправедливо подзабытая лисперами, которая умеет из цепочки операций над потоком данных генерировать однопроходный цикл без промежуточных последовательностей.
>>1278499>https://github.com/tokenrove/series/wikiСпасибо за ссылку, анон. В этой либе слишком мало функций для преобразования коллекций. Может ты знаешь еще какие нибудь либы, для работы с данными в CL? Просто хочется дать шанс коммон лиспу, но в кложа для моей задачи выглядит в разы вкуснее.
>>1278405>Окей, а в чем это проявляется?Хорошая стандартная библиотека с хорошими иммутабельными структурами. Плюс все бест практисы языка заточены на описание предметной области просто данными, ну и все инструменты заточены под это же - мультиметоды, спек тот же, есть даже наркомания вроде https://github.com/nathanmarz/specter и йобы для считания в кластерах, но для твоей задачи думаю неактуально>В коммон лиспе думаю есть такое.Ну я утрирую, лол, поэтому и "условная".>Почему?Комьюнити, тулинг, стандартная библиотека, императивность и т.п.>Я думаю это не про кложу как раз.Да, я как раз и имел в виду, что если клиент, то, быть может, лучше раст вместо кложи\кл. Но раз на беке, то похуй.
>>1278551>В этой либе слишком мало функций для преобразования коллекций.Всего там хватает, я сам ею пользуюсь. Просто апи немного непривычный>Может ты знаешь еще какие нибудь либы, для работы с данными в CL?Да полно, стоит только пошерстить quickdocs, cliki, но своего оптимизатора, как в series, они не имеют.>но в кложа для моей задачи выглядит в разы вкуснее.От десяти крат проседания по скорости - великовата цена за косметику.
>>1278718>Всего там хватает, я сам ею пользуюсь. Просто апи немного непривычныйХорошо, попробую разобраться с апи.>От десяти крат проседания по скорости - великовата цена за косметику. Скорость разработки для меня важнее.
>>1278810Че то совсем не заходит. Я думал сяду почитать доки, и сразу начну писать на лиспе, но че то сложно. Поэтому я быстро пробежался по practical common lisp книжке, но все равно не понимаю что и как. Что можешь посоветовать почитать, чтобы с языком освоиться?
>>1280283http://maria.cloud/шуткаМожешь еще land of lisp глянуть, если любишь смехучки, или a gentle introduction to symbolic comptutation, если совсем для нубов, но тащем-то pcl имхо лучше. А что именно непонятно-то?
>>1140925 (OP)Приятное чтиво, кстати:https://twobithistory.org/2018/10/14/lisp.htmlHow Lisp Became God's Own Programming Language
>>1280671Можешь пояснить, почему ты вместо предлога "про" используешь предлог "за"? Ты латентный хохол?
>>1280765я щас сделал лимит памяти неограниченный, эта хуйня пропалапоясни, почему она вылезала раньше
>>1280306>тащем-то pcl имхо лучшеЯ его бегло, но полностью просмотрел.>А что именно непонятно-то?Работа с пакетами, со стандартными коллекциями. Макросы - я глянул две главы про них в pcl. Основную идею понял, но так и не смог понять, когда и какими символами экранировать s-выражения, чтобы они не выполнялись + не понял, как бороться с протеканием абстракций в макросах. Апи для работы с файлами - зашло плохо. А вот апи для работы с директориями вообще не зашло. С CLOS тоже не разобрался. Обработку ошибок оставил на потом, потому что и так много пробелов. Про работу с зависимостями вообще ни слова не было в pcl. Как то так. Где про все это можно разузнать?
>>1280795Блядь, анон, ты вообще никакой информации не предоставил, не сказал, что ты делаешь и какая у тебя ошибка, и мы тут должны гадать, что там у тебя. Если ты "увеличил лимит памяти", то наверное это про память в куче.
>>1280785>Работа с пакетамиdefpackage да in-package - вот и вся работа. Подробнее о пакетах можешь тут почитать: http://www.flownet.com/gat/packages.pdf>со стандартными коллекциямиА что с ними-то непонятного? Вроде бы ничего принципиально отличающегося нет. >Где про все это можно разузнать?Все перечисленные тобою вопросы рассматриваются в cookbook. Ссылка в шапке.
>>1280877>defpackage да in-package - вот и вся работа.>Подробнее о пакетах можешь тут почитать: http://www.flownet.com/gat/packages.pdfСпасибо, анон. Я прочитал, но в этой ссылке, как и в pcl рассказывается про то, как символы в пакеты собираются. Но это не то, что мне нужно. Мне бы инфу про то, как с проектами работать, как зависимости ставить и как код по модулям организовывать, ни в твоей ссылке, ни в pcl этого нету. Я знаком с жс подходом. Там есть npm, + ключевые слова для импорта и экспорта. Что есть в лиспе?
>>1281616>Мне бы инфу про то, как с проектами работать, как зависимости ставить и как код по модулям организовыватьДля этого не пакеты, а asdf-системы.https://lispcookbook.github.io/cl-cookbook/systems.htmlВот почитай.>Там есть npmАналог npm/cpan в лиспе - quicklisp.
>>1281656Спасибо за ссылку, но там нету того, что мне нужно. А именно работа с зависимостями и неймспейсами в проекте.
>>1281949Похоже я слишком тупой, чтобы разобратсья с asdf. Я уже полгугла прочитал, но так и не смог понять воркфлоу в кл...
>>1281951Да не, тут дело не в тебе ящитаю. Go to the dark side...http://leiningen.org/>>1282105Я не читал, но наслышан. Если еще не знаком с макросами, то наверное норм.
>>1282216>Да не, тут дело не в тебе ящитаю. Go to the dark side...http://leiningen.org/Ну и чем твоя кложа лучше cl?
Нужен человек, который сделает 4 задачи на openedu c моего аккаунта по курсу функциональное программирование базовый курс. Задания не сложные, но времени и желания))) нет а для зачета надо за деньгиписать сюда @atom1_1
>>1282340она не моя Ну, там нет таких проблем с тулингом, чувак бы уже решал задачу, а не ебался в гугл. >>1282501Гхм...
>>1282501Бля, хуею с дебилов, которые идут ВАЙТИ и сливаются, когда ОКАЗЫВАЕТСЯ_НАДО_ПРОГРАММИРОВАТЬ.Ладно там ебанутые алгоритмы, гауссы-адамсы, там шизоидные математики изложат материал так, что пиздец, но тут тупа фп.
>>1297217Ну кложа сейчас на коне. Я хз на кой тебе общелисп использоватьНо лучше взять питон, там будет нормальное гуи и библиотеки
Мужики, пять лет в программировании. Последний год считал, что чего-то достиг. И вот решил заглянуть в лиспотред.Почуствовал себя сынком ёбаным. Пойду учить матчасть и курить мануалы. Спасибо за мотивацию.