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

Лиспотред №14 /lisp/

 Аноним 26/04/23 Срд 15:08:02 #1 №2681837 
-OXH6Ltt7o18CxP3YdfJDrv3gmZnVdDAgnbGMEqies.png
zcavazlx5sm51.jpg
Лиспы - семейство языков программирования. Характерные особенности лиспов: динамичность, гомоиконность (код как данные), программируемость.

{Основные диалекты}
:: Common Lisp - разрабатывался как промышленный язык, пригодный для широкого спектра применения, из-за чего имеет достаточно объемную спецификацию. Является мультипарадигменным (процедурщина, функциональщина, ооп (CLOS)), с сильной, динамической типизацией. Есть опциональная декларация типов и частичный их вывод в некоторых реализациях.
Описание особенностей: http://habrahabr.ru/post/143490
Основные реализации:
- свободные: SBCL (нативный код), Clozure CL (нативный код), ECL (через сишку), Clisp (байт-код; небольшой размер образа; похоже, заброшен), Clasp (LLVM; ориентирован на интероп с C++), ABCL (байт-код JVM), CMUCL, GCL.
- коммерческие: LispWorks, Allegro CL, Scieneer CL, mocl
:: Scheme - это минималистичный лисп, пригодный в основном для обучения, исследований. Наиболее практичными реализациями являются GNU Guile и Chicken Scheme.
:: Racket - развитие PLT Scheme. Racket включает в себя много подъязыков (typed racket, lazy racket, frtime racket, Scheme стандартов r5rs и r6rs).
:: Clojure - для тех, кто считает, что из смеси явы и лиспа может получиться что-то хорошее, или тех, кто интересуется креольскими языками, есть отдельный тред. Тред утонул, дом сгорел, отец-подлец бросил, поэтому поживёт сиротка пока у нас. Мальчик со странностями, но хороший, не обижайте. Шапка треда здесь https://rentry.co/9ve9d

{Scheme}
::: Учебники
- SICP :: https://mitpress.mit.edu/sites/default/files/sicp/index.html
- The Scheme Programming Language (R6RS) :: https://www.scheme.com/tspl3
- Практика :: https://exercism.io/my/tracks/scheme

::: Документация
- http://web.mit.edu/scheme_v9.2/doc/index.html

::: Остальное
- https://github.com/theodesp/awesome-scheme
- https://github.com/schemedoc/awesome-scheme

{Racket}
::: Учебники
- HtDP :: https://www.htdp.org/
- Racket Guide :: https://docs.racket-lang.org/guide/index.html
- Beautiful Racket: https://beautifulracket.com/
- Остальные :: https://racket-lang.org/books.html

::: Документация
- https://docs.racket-lang.org/

::: Библиотеки
- https://github.com/avelino/awesome-racket
- https://pkgs.racket-lang.org/

::: Среда разработки
- DrRacket :: https://docs.racket-lang.org/drracket/
- Online :: https://www.jdoodle.com/execute-racket-online/

{Common Lisp}
::: Учебники
- 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://cl-community-spec.github.io/

::: Библиотеки
- https://awesome-cl.com/
- https://ultralisp.org/
- https://lisp-journey.gitlab.io/blog/state-of-the-common-lisp-ecosystem-2020/

::: Среда разработки
- https://lispcookbook.github.io/cl-cookbook/editor-support.html

Предыдущий тред: >>2395633 (OP)
Аноним 26/04/23 Срд 15:16:16 #2 №2681844 
>>2681837 (OP)
>{Common Lisp}
Мне вот это ещё нравится
http://clqr.boundp.org/
Аноним 26/04/23 Срд 15:21:32 #3 №2681853 
>>2681610 →
>Хуясе. Никогда не думал, что встречу кого-либо с такой точкой зрения.
>А как без режимов? Ctrl+Alt+Shift+Super+Жопа+Аллах+... на каждый чих?
А откуда у тебя столько комбинаций то взялось? Основных аккордов для работы с текстом не больше чем у вима получается, а что-то очень редкое можно и на Ctrl+Alt+Аллаха повесить.
Вообще команды вызываю через Alt+x
Аноним 26/04/23 Срд 15:22:02 #4 №2681856 
>>2681837 (OP)
>Clisp (байт-код; небольшой размер образа; похоже, заброшен)
>похоже, заброшен
>Current version:2.49 (2010-07-07)
На первый взгляд - да, но на самом деле - нет: https://gitlab.com/gnu-clisp/clisp/-/commits/master
Исправьте в шапке следующего треда.
Аноним 26/04/23 Срд 15:22:54 #5 №2681857 
>>2681844
Только pdf или есть хтмл-версия?
Аноним 26/04/23 Срд 15:27:57 #6 №2681869 
>>2681857
Хз. Я пользуюсь распечатанной на А4 и подшитой нитками.
Аноним 26/04/23 Срд 16:28:16 #7 №2681961 
>>2681853
Просто неприятно лезть в аккорды для каких-то операций. Мне Ctrl-F/D или Ctrl-B/U то неприятно нажимать, а тут речь идёт про постоянное использование для ЛЮБОЙ комманды редактору. Пизда.
Можешь считать предыдущий пост гиперболой.
Аноним 26/04/23 Срд 16:33:25 #8 №2681968 
>>2681961
Вимовские SPC m c f не многим удобнее емаксовских C-c C-c, так что вкусовщина
Аноним 26/04/23 Срд 16:36:44 #9 №2681975 
>>2681968
>SPC m c f
Что? Я не знаю такой комманды. "m" не юзаю, потому что в больших файлах не копаюсь - разбиваю на файлы поменьше.
"f" юзаю только когда пинг > 120 и редактирование - это адская пытка. А "c" - это бро.
Аноним 26/04/23 Срд 16:38:39 #10 №2681977 
>>2681968
Алсо, продолжу говорить то, что мне говорили во время "индоктринирования":
Вим попроще для рук, они устают меньше.
Аноним 26/04/23 Срд 16:39:46 #11 №2681978 
>>2681975
>Что? Я не знаю такой комманды.
Это из дум емакса. Сочетание для sly-compile-defun. Я просто не помню, какое сочетание в vlime, но уверен, что похожее.
Аноним 26/04/23 Срд 16:42:01 #12 №2681980 
>>2681977
>Вим попроще для рук, они устают меньше.
Ты либо каждый день вим переписываешь, что у тебя руки устают?
Аноним 26/04/23 Срд 16:43:15 #13 №2681981 
>>2681978
А, точно. Я же примитивный дикарь, что использует чистый текстовый редактор. Сорян.

>>2681980
Каждый день печатаю текст. В основном кресты.
Аноним 26/04/23 Срд 16:48:31 #14 №2681986 
Лиспаны, а мне кажется или в александрии был макрос (<что-то там>f place updatefn)? Уже искал через ультралисп и modf, и updatef - нашел только последний, но в библиотеке, которой я точно не пользовался.
Аноним 26/04/23 Срд 16:49:41 #15 №2681987 
>>2681981
>Я же примитивный дикарь, что использует чистый текстовый редактор.
Соболезную. Не удивительно, у тебя руки устают.
>В основном кресты
Соболезную вдвойне.
Аноним 26/04/23 Срд 17:46:49 #16 №2682015 
Решил тут затестить https://github.com/telekons/one-more-re-nightmare/ на задаче regex-redux и немного охуел
Страшно заоптимизированное, многопоточное решение на cl-ppcre https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/regexredux-sbcl-4.html у меня отрабатывает за 29с (~55с процессорного времени)
а наивное, однопоточное на сабже https://dpaste.org/qpFOH - за 11c
Жаль проц avx не поддерживает, simd-версия должна быть ещё шустрее
Аноним 26/04/23 Срд 22:46:09 #17 №2682170 
Какие шрифты юзаете, лиспаны?
Аноним 26/04/23 Срд 23:05:23 #18 №2682178 
>>2682170
Оказалось, что Fira Code. Я бы и не узнал, если б ты не спросил.
Аноним 26/04/23 Срд 23:06:47 #19 №2682180 
>>2682178
>. Я бы и не узнал, если б ты не спросил.
Это как? Оно где-то по умолчанию идет?
Аноним 26/04/23 Срд 23:17:41 #20 №2682185 
>>2682180
Да, в дум емаксе.
Аноним 26/04/23 Срд 23:38:04 #21 №2682197 
>>2681837 (OP)
Где используется лисп и зачем он нужен?
Аноним 27/04/23 Чтв 00:01:13 #22 №2682210 
>>2682197
Как зачем? Тянки боятся, быдло течёт.
Аноним 27/04/23 Чтв 00:01:40 #23 №2682211 
>>2682205
Некрасиво отвечать вопросом на вопрос. К тому же, со мной то как раз все понятно. Я датасаентист, используюсь в крупной компании. Нужен жене. А лисп?
Аноним 27/04/23 Чтв 00:05:31 #24 №2682212 
>>2682211
Да причем тут крупная компания. Людям-то, людям ты зачем нужен?
Аноним 27/04/23 Чтв 00:16:35 #25 №2682219 
>>2682216
А ты не приписывай мне то, чего я не говорил. Я хотел узнать от антонов конкретные примеры, раз есть целый тред, то кто то же наверное использует лисп в практике.
Аноним 27/04/23 Чтв 00:33:03 #26 №2682224 
>>2682219
На, утоли своё любопытство https://github.com/azzamsa/awesome-cl-software
Только не надо треллить. Вас таких в каждом треде по десятку заваливается.
Аноним 27/04/23 Чтв 01:31:12 #27 №2682234 
>>2682197
>>2682219
> Я хотел узнать от антонов конкретные примеры, раз есть целый тред, то кто то же наверное использует лисп в практике.
Ипользую Guix и sheperd, которые написаны на Guile(схема от ГНУтых). Плюсь, этот же Guile использую в качестве встаиваемого языка для своих приложений.
Аноним 27/04/23 Чтв 08:58:39 #28 №2682282 
>>2682224
Спасибо!
>>2682234
Понял, спасибо! А кем работаешь, если не секрет?
Аноним 27/04/23 Чтв 12:27:57 #29 №2682514 
>>2682234
>А кем работаешь, если не секрет?
В НИИ попердываю и физическим моделированием занимаюсь.

Но это
>тот же Guile использую в качестве встаиваемого языка для своих приложений.
никак не связано с работой. Это я для своих личных проектов использую.
Аноним 27/04/23 Чтв 14:29:51 #30 №2682619 
>>2682170
Ананимас Про.
Аноним 27/04/23 Чтв 14:31:43 #31 №2682622 
>>2681698 →
>Тогда вот https://linedit.common-lisp.dev/

https://github.com/sharplispers/linedit/blob/0561c97dfca2f5854fcc66558a567a9875ddcb8f/main.lisp#L82
> Results are unspecified if ... READTABLE is not the standard readtable.

Конечно, можно говорить что мол, хуйня это всё, и вообще, чё в первый раз на UB уповаешь перекрестившись? Однако что-то мне больше тебе хочется продолжить пилить свои велосипеды. Мне это надо.
Аноним 27/04/23 Чтв 14:34:11 #32 №2682625 
>>2682622
Тут аналогично, вот это вроде бы не форк
https://gitlab.common-lisp.net/linedit/linedit/-/blob/master/main.lisp#L80
Аноним 27/04/23 Чтв 14:35:32 #33 №2682627 
>>2682622
>Однако что-то мне больше тебе хочется продолжить пилить свои велосипеды.
*теперь хочется
Аноним 27/04/23 Чтв 15:01:12 #34 №2682642 
Сколько же здесь скобок :((((((
Аноним 27/04/23 Чтв 15:06:58 #35 №2682645 
>>2682622
>>2682625
Что-то мне подсказывает, что они просто защищают тебя от выстрела в ногу.
https://gitlab.common-lisp.net/linedit/linedit/-/blob/master/main.lisp#L106
Аноним 27/04/23 Чтв 17:09:12 #36 №2682787 
16825108830130.png
еебать это кто
Аноним 27/04/23 Чтв 17:21:03 #37 №2682806 
>>2682645
Да, похоже на то. Они определяют свои макросы чтения для команд репла типа :cmd arg1, о чем и предупреждают
Аноним 28/04/23 Птн 02:23:20 #38 №2683137 
image.png
>>2682787
Аноним 28/04/23 Птн 02:26:46 #39 №2683138 
>>2682197
Нигде, никому не нужен тк как даже автор лиспа признал под конец что это неюзабельная скобочная дрочильня.
Аноним 28/04/23 Птн 06:45:58 #40 №2683183 
>>2682197
В Nubank
Аноним 28/04/23 Птн 13:47:53 #41 №2683438 
>>2683183
Кредит дадут, если скажу, что лиспер?
Аноним 29/04/23 Суб 10:33:51 #42 №2684172 
Объясните причину ненависти к кложе? У вас просто пригорает с того что ваши коммон лиспы и схемы никому не нужны?
Аноним 29/04/23 Суб 12:09:23 #43 №2684234 
>>2684172
>Объясните причину ненависти к кложе?
Упоротые евангелисты. Видимо, всё дело в том, что изначально ЦА языка были ява-программисты, а они дикие и их очень легко впечатлить. Вот и носятся с кложей, как с чудом, хотя там ничего особенного нет, язык-компромисс.
Аноним 29/04/23 Суб 13:22:41 #44 №2684297 
>>2682234
NIX и Guix очень похожи же?
Аноним 29/04/23 Суб 15:29:39 #45 №2684416 
>>2684234
Ну только он в 100 раз удобнее чем большинство других лиспов и по функциональности не сильно отстает от хаскеля.
Аноним 29/04/23 Суб 16:38:24 #46 №2684469 
>>2684416
Рад, что тебе удобно. Держи в курсе.
Аноним 29/04/23 Суб 17:59:32 #47 №2684527 
>>2684469
>Типикал коммонлишпер - ненавидит кложу, ибо не тру лисп. Ненавидит другие ЯПы, ибо не тру лисп. Ненавидит залетных анонимов, ибо не тру лисп. Ненавидит печеньки, щеночков и Иисуса Христа, ибо не тру лисп. Ненавидит ТЕБЯ, ибо не тру лисп.
Аноним 29/04/23 Суб 18:38:52 #48 №2684549 
>>2684527
Отстань, чувак. Ты сейчас сам же проиллюстрировал ответ на свой вопрос. Именно за это вас и не любят.
Аноним 29/04/23 Суб 18:42:23 #49 №2684550 
>>2684297
Да. Guix основывается на Nix и является развитием его идей
Аноним 29/04/23 Суб 18:44:28 #50 №2684553 
>>2684549
Кого нас? Ты так и не представил никаких адекватных аргументов, а начал с обсуждения комьюнити.
Аноним 29/04/23 Суб 18:50:46 #51 №2684555 
>>2684553
Всё-всё, ты победил, кложа - лучший язык, Хикке - гений, а комьюнити - самое дружелюбное и нисколько не назойливое.
Аноним 29/04/23 Суб 19:01:05 #52 №2684558 
>>2684555
Всё так.
Аноним 29/04/23 Суб 19:54:42 #53 №2684575 
>>2684550
А почему ты на nix не сидишь? Всё дело в одобрении от Штольмана, то что это для него труъ дистрибутив?
Аноним 29/04/23 Суб 20:36:19 #54 №2684596 
>>2684575
Guix попросту удобнее и немного фичастее, но пакетов меньше, да.
Но тебе же похуй, ты просто забыл принять свои таблетки.
Аноним 29/04/23 Суб 20:37:55 #55 №2684598 
>>2684575
И да, не путай guix/nix с guixsd/nixos
Аноним 01/05/23 Пнд 10:30:07 #56 №2685541 
>>2684596
>>2684598
Я скачал недавно guix и ничего в ней не смог, потому что гну-дибилы Ру айпи забанили
Аноним 01/05/23 Пнд 13:26:12 #57 №2685662 
>>2685541
Почитай рассылку, блокировоал хостер сборочной фермы. Он развёрнут на мощностях какого-то университета.
Аноним 01/05/23 Пнд 20:25:31 #58 №2686005 
>>2680459 →
Имакс - это desktop environment, а не текстовый редактор.
Аноним 01/05/23 Пнд 20:25:56 #59 №2686007 
>>2681410 →
Хз, очень редко торможусь на ошибках, которые бы могла словить система типов (тем более а-ля го или джава). Зато вот когда после кложуры пишешь на го, то часто зарываешься на дохуя времени из-за того, что вместо наиболее логичной формы данных приходится делать нечто, что влезет в тайпчекер.

Попробуй писать спеки или хотя бы просто примеры входа\выхода для функций (по ним потом можно автосгенерить спеки).
Аноним 01/05/23 Пнд 20:27:06 #60 №2686008 
>>2681977
>Вим попроще для рук
>перемещение курсора даже не на home row
Шо то хуйня, шо это хуйня.
Аноним 01/05/23 Пнд 20:28:34 #61 №2686012 
>>2682178
>Fira Code
Козырный^W кложурный шрифт, от тру-лисперов для тру-лисперов и не только!
Аноним 01/05/23 Пнд 20:31:51 #62 №2686017 
>>2684172
>У вас просто пригорает с того что ваши коммон лиспы и схемы никому не нужны?
В основном да. Еще есть такой нюанс, что некоторые чуваки пробуют КЛ и в общем-то на нем и останавливаются, все остальные языки как правило смотрят поверхностно и сравнивают с КЛ (разумеется, делая выводы не в пользу остальных языков). Ну и атмосфера в КЛ-комьюнити своеобразная, это тоже дает свой отпечаток.

капча: данные, трустори, я не троль
Аноним 01/05/23 Пнд 23:29:24 #63 №2686100 
>>2686017
> Еще есть такой нюанс, что некоторые чуваки пробуют КЛ и в общем-то на нем и останавливаются, все остальные языки как правило смотрят поверхностно и сравнивают с КЛ
Это правда, лисперы - те ещё фанатики.
Я даже знаю одного такого. Местный любимец, кстати. Со времён журнала fprog если кто-то здесь такой помнит этим болеет и активно пытается заразить других: https://github.com/tonsky
Аноним 02/05/23 Втр 02:02:04 #64 №2686151 
>>2686008
>Шо то хуйня, шо это хуйня.
Но ничего лучше пока не изобрели. Так и живём
Аноним 02/05/23 Втр 13:03:40 #65 №2686400 
>>2684416
>jvm
>удобно
Аноним 02/05/23 Втр 14:42:50 #66 №2686479 
Вот вы пререкаетесь друг с другом, но вам же известно, что вы все здесь больные некрофилы и не лечитесь?
Одни уже который десяток лет обшивают давно сгнившего дедулю свежими кусками мяса, чтобы показать окружающим, что он всё ещё аполлон. Он продолжает гнить, куски отваливаются, но они этого будто не замечают.
У других пока стадия отрицания. Они ещё не могут поверить, что он тоже ВСЁ. Ведь каких-то лет 8-10 назад он был молод и полон сил, пил смуззи и расчесывал бороду, а сейчас распух и плохо пахнет. Но они продолжают успокаивать себя, что тот просто растолстел от самых высоких зп в мире, а дурной запах - норма для jvm.
А третьи вообще самые особенные. Они и не думают никого оживлять, просто носятся с пластмассовым скелетом из кабинета биологии, крича на каждом углу, что мясо не нужно, оно только утяжеляет.
Я был в каждом из перечисленных сообществ, и даже с этими... с кыштымсим пиколиспом, но пусть это останется нашим секретом. И скажу вам, не тратьте своё время, бросайте эту хуйню. В мёртвом нет жизни. Тащите живое, соберем из дедули Аполлона!
Аноним 02/05/23 Втр 15:57:35 #67 №2686572 
>>2684553
Коммьюнити иногда - решающий фактор. Ах да, ещё jvm.
мимо
Аноним 02/05/23 Втр 15:59:21 #68 №2686575 
>>2686008
>>перемещение курсора даже не на home row
Так оно же на hjkl (а он на home row). Или я чёт не понял?
Тащемта w, b, e и прочие штуки действительно не на home row. Но они и не всегда нужны.
Аноним 03/05/23 Срд 00:33:09 #69 №2686928 
Привет, пришельцы.
В общем, скачал СИКП, чтобы по вечерам палочкой трогать и встал вопрос о выборе редактора. Все в интернете советуют ставить емакс, потому что охуенная интеграция с REPL-ом, расширяемость и т.д и т.п. Но первое знакомство с этим редактором оставило привкус шоколада во рту.
Во-первых, куча лишнего говна по типу почты, игр, шифрования, архиватора, и т.д.
Во-вторых, вместо добавления функционала его приходится отключать, например, чтобы не видеть эти убогие GUI элементы.
В-третьих, антигуманные биндинги, которые идут со времен space cadet(да биндил crtl на caps, но привкус шоколада так и остался). (evil-моды тоже идут нахуй, потому что иногда биндинги конфликтуют и приходится пердолиться с конфигом)
В-четвертых, кто, блядь, вообще придумал(конечно мозолеед аутизмом) перемещение на Ctrl + f/b/p/n? Этот человек вообще на клавиатуру смотрел? Или у него пальцы кривые?
Собственно вопрос, можно ли писать ваши лиспы в виме и не сильно ли упадет ЮЗЕР ЭКСПИРИЕНС по сравнению с емаксом?
Как же хочется нормальный редактор без вот этого всего. Прям бери и свой пиши на основе Guile.
Аноним 03/05/23 Срд 00:37:16 #70 №2686931 
>>2686928
> антигуманные биндинги
В spacemacs и doom-emacs нормальные семантические биндинги.
>Как же хочется нормальный редактор без вот этого всего
drracket
Аноним 03/05/23 Срд 00:42:30 #71 №2686933 
>>2686931
>В spacemacs и doom-emacs нормальные семантические биндинги
>evil-моды тоже идут нахуй, потому что иногда биндинги конфликтуют и приходится пердолиться с конфигом
Ну и не ТРЪ же.
Аноним 03/05/23 Срд 04:24:06 #72 №2686977 
https://sbcl.org/news.html
>support for cross-compiling the system to Android has been added
Дождались
Аноним 05/05/23 Птн 13:30:41 #73 №2688945 
pizdos.png
>>2686928
>>2686931
Харкачую drracket, для сикпа он вполне пойдет. Еще там гуем можно обмазываться. Я вчера на коммонлишпа набрел на portacle, для новичка вроде довольно удобно. Кто-нибудь юзал? Это по-сути емакс с какими-то свистоперделками.
Еще на реддит зашел к коммон лисперам и охуел, смотрите пик.
Аноним 05/05/23 Птн 14:48:15 #74 №2689005 
>>2688945
> набрел на portacle, для новичка вроде довольно удобно.
Его уже вроде не поддерживают. В этом и мало смысла, когда уже есть полноценные дистрибутивы емакса с огромными сообществами, в которых поддержка слайма нисколько не хуже, а другие компоненты более тщательно отполированы.
>Еще на реддит зашел к коммон лисперам и охуел, смотрите пик.
Лол, внезапно. Выжигатель никого не щадит.
Кстати, такая хуйня только в соевой версии, в нормально всё по-старому https://old.reddit.com/r/Common_Lisp/
Аноним 05/05/23 Птн 18:47:10 #75 №2689285 
>>2688945
>Еще на реддит зашел к коммон лисперам и охуел, смотрите пик.
Весь мир с Украиной, чему удивляться?
Аноним 05/05/23 Птн 19:06:21 #76 №2689315 
>>2689285
Адекватные люди не тащат политоту туда, где ей не место.
Аноним 06/05/23 Суб 00:26:16 #77 №2689595 
>>2689315
Ей есть место везде, это неотъемлемая часть человека.
Аноним 06/05/23 Суб 00:34:14 #78 №2689602 
>>2689595
Вообще не оправдания для обмазывания говном своей профессиональной области.
Аноним 06/05/23 Суб 00:48:00 #79 №2689608 
>>2689602
Двачую.
Аноним 07/05/23 Вск 16:24:16 #80 №2690919 
16647110866750.jpg
>>2681844
А я вот не понимаю, почему еще не был добавлен пикрил в шапку.
Аноним 07/05/23 Вск 22:06:31 #81 №2691376 
>>2690919
Потому что никто не добавил.
Аноним 08/05/23 Пнд 14:20:44 #82 №2691920 
>>2686928
не ебись сразу с емаксом и лишпом. Выбери что-то одно. Поставь vscode, сделай себе одолжение.
Аноним 08/05/23 Пнд 23:49:11 #83 №2692515 
К слову о средах разработки. Мне тут как раз новость о новой версии плагина для идеи на глаза попалась.
https://github.com/Enerccio/SLT
Судя по галочкам в тудушке, самое необходимое из слайма уже умеет, так что, неосиляторы емакса, дерзайте.
Аноним 09/05/23 Втр 00:39:57 #84 №2692571 
Раз уж речь о емаксе зашла, то грех не спросить. ГНУтые уже добавили поддержку ELisp в Guile? Если да, то значит ли это, что в теории можно выкинуть помойный, тормозной и раздутый емакс и написать новый редактор на Guile, сохранив поддержку кучи плагинов для емакса(ну либо обеспечить относительно легкий перенос без переписывания тонны кода)?
Аноним 09/05/23 Втр 00:59:00 #85 №2692584 
>>2692571
>ГНУтые уже добавили поддержку ELisp в Guile?
gccjit прикрутили, а про guile я только слухи встречал.
>и написать новый редактор на Guile
Уже есть lem на общелиспе. sbcl-то, чай, быстрее guile будет.
Присоединяйся к разработке, допиливай, а меня и емакс устраивает
Аноним 09/05/23 Втр 01:19:10 #86 №2692601 
>>2692584
>lem
https://github.com/lem-project/lem/tree/master/frontends/sdl2
О, нихуя! Они фронтенд на sdl2 начали пилить
Аноним 09/05/23 Втр 01:22:15 #87 №2692607 
>>2692584
>Уже есть lem на общелиспе. sbcl-то, чай, быстрее guile будет.
Имхо, общелисп слишком СЕРЬЕЗНЫЙ для таких вещей, когда же Guile - это няшная схемка для встраивания.

>Присоединяйся к разработке, допиливай
Кто? Я?
Емакс жив засчет пиздатых легаси плагинов по типу org-mode, magit, tramp и т.д. Сомневаюсь, что на lem-e есть что-то похожее

>меня и емакс устраивает
Меня фундаментальная проблема не устраивает - философия "все в одном". Изкаробки емакс имеет столько ненужных функций, что просто злит. Почему бы этот функционал не вынести в отдельные плагины, которые люди бы устанавливали самостоятельно при необходимости? Вот на кой черт там нужны игры? Или архиватор? Шифровальщик? Ну и пососная работа в терминале тоже иногда злит.
Аноним 09/05/23 Втр 01:37:51 #88 №2692621 
>>2692607
>Емакс жив засчет пиздатых легаси плагинов по типу org-mode, magit, tramp и т.д. Сомневаюсь, что на lem-e есть что-то похожее
Очевидно, ему ещё далеко до емакса по расширениям. Но я думаю, создать слой совместимости с елиспом и емаксовским апи должно быть не очень сложно.
>Изкаробки емакс имеет столько ненужных функций, что просто злит.
"Из коробки" он умеет только интерпретировать елисп и работать с текстовыми буферами, а всё остальное -- расширения.
>Почему бы этот функционал не вынести в отдельные плагины
Ты не поверишь
Аноним 09/05/23 Втр 01:41:27 #89 №2692624 
>>2692621
>создать слой совместимости с елиспом
Тем более, что оный с каждым годом всё больше и больше мимикрирует под общелисп.
Аноним 09/05/23 Втр 01:51:48 #90 №2692632 
>>2692621
>Ты не поверишь
>Из коробки" он умеет только интерпретировать елисп и работать с текстовыми буферами, а всё остальное -- расширения.
Тогда почему приходится наблюдать и отключать кучу говна после первой установки? Я не знаю, может быть, мне ментейнеры емакса на дебиане говна в штаны залили, но после установки он по дефолту имеет игры и кучу другой спорной функциональности.
Аноним 09/05/23 Втр 02:13:09 #91 №2692649 
>>2692632
>но после установки он по дефолту имеет игры и кучу другой спорной функциональности
Ну да, обычно емакс опакечивают со всеми стандартными расширениями. Но можешь не беспокоиться, они подгружаются исключительно по требованию, на скорости запуска и объеме сжираемой памяти их наличие никак не сказывается.
Аноним 09/05/23 Втр 16:52:25 #92 №2693129 
изображение.png
Там Nyxt 3.0 выкатили
https://nyxt.atlas.engineer/article/release-3.0.0.org
Аноним 09/05/23 Втр 20:17:06 #93 №2693310 
>>2686928
>приходится пердолиться с конфигом
>поставил емакс
>боится лезть в конфиги
Лол.
Чувак, вся суть емакса и вима это именно возможность тонкой настройки через конфиги под свои задачи, иначе от них нет никакого толку. Для вима так и вовсе еще неплохо бы базовое знание вимскрипта и умение писать свои функции. Для емакса думаю тоже. Просто ты пытаешься относиться к емаксу как к обычному текстовому редактору и думаешь что можешь его интуитивно понять и использовать. Это не так.
Емаксу и виму нужно именно учиться. Да, есть специальные книжки для этого, не удивляйся.
Аноним 14/05/23 Вск 22:42:59 #94 №2698702 
И попробуйте только после этого >>2698426 → сказать, что tcl - не лисп
Аноним 15/05/23 Пнд 18:52:09 #95 №2699709 
>>2688945
Коммонлисперы просто ебанутые.

>>2689005
А у опенсюсе кстати пидорские флаги в соевой версии, один раз случайно с браузера без редиректора зашел - и все, зашкварился.
Аноним 15/05/23 Пнд 18:55:16 #96 №2699721 
image
>>2686928
>можно ли писать ваши лиспы в виме
Да, spacemacs\doom-emacs.

>>2686151
Изобрели. Литералли что угодно лучше вима.

>>2686575
Хоум роу - это (asdf+jkl;), соответственно к h надо тянуться. Нормальные (психически здоровые) люди используют ijkl, ну а поциенты желтого дома, которым кажется, что они инопланетяне, используют hjkl и к концам строки прыгают эргономичными $ и ^. Продолжая тему поста выше - даже не знаю, что хуже: быть пидором, хохлом или вимером.
Аноним 15/05/23 Пнд 18:57:57 #97 №2699730 
>>2686479
Так со времен хикки ниче интересного пока так и не появилось, не на эликсир же перекатываться продолжая твою аналогию - это в один разлагающийся труп засунули другой разлагающийся труп и такие: я сделаль!.
Аноним 15/05/23 Пнд 19:02:23 #98 №2699743 
>>2686100
Он не коммонлиспер и вообще вроде на кл не писал, после кложи и кложискрипта плотно пересаживался на раст, в фпроге вроде никогда не публиковался и вообще когда фпрог был живой он вроде еще в нгу учился
Аноним 15/05/23 Пнд 19:06:18 #99 №2699757 
>>2692607
> Вот на кой черт там нужны игры? Или архиватор?
Это хуйня, вот недавно они еглот затащили в основную поставку. Вопрос - нахуя? Вот у меня все нормально работало, я мог отдельно обновлять еглот, не обновляя всего редактора. Теперь если мне вдруг понадобится например к какому-то неиспользуемому ранее языку подрубиться к лсп, и внезапно там что-то отломается, то придется обновлять весь ебаный имакс в надежде на то, что в новой версии еглота это починили. И разумеется обновление всего имакса приведет к отваливанию каких-то других пакетов. И все ради чего? Ради того шоб сказать, что мол вот, еглот - это СТАНДАРТНЫЙ пакет в имаксе! Бляди, сэр.
Аноним 15/05/23 Пнд 19:26:18 #100 №2699790 
>>2699743
> в фпроге вроде никогда не публиковался
Не публиковался, но был в их агрегаторе. Своей агитационной деятельностью заебал ещё тогда. Собственно, именно поэтому я его и запомнил.
>после кложи и кложискрипта плотно пересаживался на раст
Хз, не следил, но судя по гитхабу, ничего не изменилось.
Аноним 15/05/23 Пнд 19:53:01 #101 №2699821 
>>2699757
>я мог отдельно обновлять еглот
Ты и сейчас можешь, шиз. Что за нашествие неосиляторов в треде?
Он всё ещё есть в элпе https://elpa.gnu.org/packages/eglot.html
Если вдруг тебе понадобится самый последний коммит, просто тащишь его из гита к себе в load-path и просто пользуешься.
https://www.emacswiki.org/emacs/LoadPath
Аноним 15/05/23 Пнд 20:20:19 #102 №2699866 
>>2699721
>Продолжая тему поста выше - даже не знаю, что хуже: быть пидором, хохлом или вимером.
>итералли что угодно лучше вима.
Причина подрыва?
Аноним 15/05/23 Пнд 20:29:47 #103 №2699881 
>>2699866
О, а вот и вимер подорвался! Побибикай.
Аноним 15/05/23 Пнд 20:31:25 #104 №2699883 
>>2699821
>Он всё ещё есть в элпе
Пока может и есть, но после включения в состав имакса автор планировал прекратить релизить отдельный пакет (надеюсь, что его отговорили, не следил)

>просто тащишь его из гита
>просто
Сразу видно человека, который на практике никогда не пытался этого сделать
Аноним 15/05/23 Пнд 20:33:08 #105 №2699888 
>>2699790
>Хз, не следил
ну я про то и говорю, что три тезиса - три промаха
а агитационная деятельность у него в основном за шрифты и веб-дизайн, лол
Аноним 15/05/23 Пнд 21:03:38 #106 №2699917 
>>2699881
>Побибикай.
Педалировать и сигналить это больше по вашей теме.
Алсо, кидаю тебе JSON в одну строку и твой емакс виснет. Твои действия?
Аноним 15/05/23 Пнд 21:18:07 #107 №2699939 
>>2699917
> твой емакс виснет
Не виснет.
> Твои действия?
Запускаю M-x json-pretty-print-buffer и делаю то, что собирался с ним делать
Аноним 15/05/23 Пнд 22:29:29 #108 №2700022 
>>2699883
>Пока может и есть
These :core packages (Eglot included) are then released periodically to GNU ELPA, so users of other Emacs's versions can get them via M-x package-install.
>Сразу видно человека, который на практике никогда не пытался этого сделать
Что изменилось-то? Обратную совместимость ломают и без включения в состав емакса.
Аноним 15/05/23 Пнд 22:42:43 #109 №2700030 
>>2699888
Никит, ты? Или это ВРЁТИ от неравнодушного кложурянина?
Я не понял, что ты там себе опроверг?
Аноним 15/05/23 Пнд 23:22:34 #110 №2700053 
>>2699939
>Не виснет
Виснет, виснет.
Алсо,
>используют hjkl и к концам строки прыгают эргономичными $ и ^
Куда уж нам до C-f\b, C-p\n и т.д.
Аноним 15/05/23 Пнд 23:31:25 #111 №2700061 
>>2700053
>Виснет, виснет.
Ты мне будешь рассказывать, виснет ли мой емакс?
Аноним 16/05/23 Втр 00:09:32 #112 №2700090 
a09615c665d4ec0a1618142d74aff6b6.jpg
>>2699939
Хуя тут говорящий кальмар в тред ворвался.
Аноним 16/05/23 Втр 04:28:01 #113 №2700164 
image.png
Типичный фанат лиспа и пользователь емакса.
Аноним 16/05/23 Втр 06:31:23 #114 №2700191 
>>2700164
Вот многие говорят что паскаль ужасен из за begin, end, но лисп с этими скобками еще хуже, даже paredit не помогает.
Аноним 16/05/23 Втр 13:10:22 #115 №2700558 
>>2699917
>это больше по вашей теме
учите мемы, чтобы не быть баттхертом!
Аноним 16/05/23 Втр 13:10:52 #116 №2700559 
>>2700030
>Я не понял
Тогда перечитай цепочку постов еще раз.
Аноним 16/05/23 Втр 13:13:03 #117 №2700563 
>>2700164
База!

>>2700191
Во-первых, лучше. Во-вторых, помогает. Объективно, лисповый синтаксис - наиболее лучший из возможных существующих. Подчеркну, что именно объективно, т.е. по простоте парсинга, структурного редактирования и т.п.
Субъективно мне больше всего нравится х-льный синтаксис.
Аноним 16/05/23 Втр 15:32:12 #118 №2700753 
>>2700563
Pascal чище выглядит, и еще let <---> var
Неправда, лучший у Forth.
Аноним 16/05/23 Втр 17:50:46 #119 №2700962 
>>2700559
Давай, не виляй попкой, выдели по пунктикам, чтобы было видно, что они не только у тебя в голове.
Аноним 16/05/23 Втр 18:54:21 #120 №2701076 
>>2700962
Если тебе перечитать недостаточно и нужно еще выделить пунктики, то можешь заняться и этим, я разрешаю.
Аноним 16/05/23 Втр 18:56:33 #121 №2701083 
>>2700753
Хз, а мне паскаль не особо нравится. Х-ль эстетичный, епта, но конечно с грамматикой там кромешный пиздец.

У форта нет синтаксиса, пруфмиронг! Бог дал им бесконечность и лисп - нет, хочу стукать кокосом по камню и разделять токены пробелами...
Аноним 16/05/23 Втр 18:58:43 #122 №2701087 
>>2700022
>are then released periodically to GNU ELPA, so users of other Emacs's versions can get them via M-x package-install.
Ну ок, хорошо.

>Что изменилось-то?
Конфликты обновленной версии со встроенной же. Я как-то раз пробовал так орг обновить, лучше бы не пробовал. В итоге так и пришлось откатиться.
Аноним 16/05/23 Втр 20:10:34 #123 №2701196 
>>2701087
>Конфликты обновленной версии со встроенной же.
Это один модуль, чему там конфликтовать?
>Я как-то раз пробовал так орг обновить, лучше бы не пробовал. В итоге так и пришлось откатиться.
У тебя емакс был совсем протухший? Хотя маловероятно, для этого нужно было отстать больше, чем на три мажорных версии.
Не представляю, в чем там ещё можно было обосраться, ибо оргмод прекрасно обновляется пакетным менеджером емакса.
Аноним 16/05/23 Втр 22:19:36 #124 №2701325 
lisp.png
>>2701083
>У форта нет синтаксиса, пруфмиронг!
Именно так, и это идеально, никаких ошибок синтаксиса, никаких сложных парсеров.

>Бог дал им бесконечность и лисп - нет, хочу стукать кокосом по камню и разделять токены пробелами...
Так ты сам говорил что то про парсинг, редактирование, тут форт удобнее, не? И зачем лисп когда на форте он реализуется в одну строку? ну с нормальными списками чуть больше
Аноним 16/05/23 Втр 22:46:21 #125 №2701351 
>>2701325
>Именно так, и это идеально, никаких ошибок синтаксиса, никаких сложных парсеров.
Потому ли это, что все они скрываются в пользовательском коде?
>И зачем лисп когда на форте он реализуется в одну строку? ну с нормальными списками чуть больше
А если с сигнальным протоколом, clos/mop, системой типов и прочими ништяками?
Аноним 16/05/23 Втр 22:53:08 #126 №2701358 
>>2701351
>Потому ли это, что все они скрываются в пользовательском коде?
Делать парсеры это неправильный подход в Forth, так что обычно их не делают, из базовых слов знаю только " и комментарии еще через обработку ввода делают, и то этих парсеров нету в ColorForth тк как ему это не нужно из за редактора.

>А если с сигнальным протоколом, clos/mop, системой типов и прочими ништяками?
Суть форта в том что бы избегать таких сложных абстракций, но я определенно могу это реализовать короче по символам чем в SBCL. В форте даже нету структур, ты наверное думаешь что их надо реализовывать, но нет, их как раз таки реализовывать не стоит, особенно с каким то парсером.

OKAD II для проектирование его 144 ядерных процессоров занимает 500 строк кода, и там нету структур, парсеров итд.
Аноним 16/05/23 Втр 22:59:42 #127 №2701363 
>>2701351
Вот мой код lisp.f без парсеров написан, так и надо писать на форте, через подобных подход, так почти все можно реализовать, кроме сложных каких то форм языковых, там проще сделать аналог lex+bison если уж потребуется, но слова которые их будут реализовывать, и слова описания тоже будут работать без стороннего парсера.
Аноним 16/05/23 Втр 23:26:15 #128 №2701378 
>>2701358
Я имел в виду ошибки и сложность. Из-за примитивности языка приходится велосипедить свои едсл и таким образом переносить сложность в пользовательский код. Вот у тебя там две команды: открывающая и закрывающая скобка. Парность никак не проверяется. Думаю, очень весело будет отлавливать такую ошибку, если случайно потеряешь где-то скобку.
Аноним 16/05/23 Втр 23:28:54 #129 №2701384 
>>2701378
В форте не принято таким заниматься, я запускаю этот код своим фортом написанным на ассемблере, он занимает всего 4кб (linux amd64), и там ошибка печатается только если слово не найдено, пока никаких проблем не возникает, написал на нем пару консольных игр, блог (скоро выложу), сейчас в отпуске еще что нибудь сделаю, наверное ассемблер свой, что бы не зависеть от fasm.
Аноним 16/05/23 Втр 23:29:23 #130 №2701385 
>>2701363
Ну, в некотором смысле это тоже парсер
Аноним 16/05/23 Втр 23:35:25 #131 №2701395 
>>2701384
Расскажи про отладку и про обработку ошибок на форте.
> там ошибка печатается только если слово не найдено
Т.е. подход как в эрланге но без отказоустойчивости в дизайне: "хуй с ним, пусть валится"?
Аноним 16/05/23 Втр 23:44:52 #132 №2701407 
>>2701384
Тебе сколько лет?
Аноним 17/05/23 Срд 11:43:43 #133 №2701753 
>>2701385
Ну итог тот же, поэтому наверное можно, но эти слова не читают исходный код, не меняют курсор исходного кода итд.

>>2701395
Мой форт переводит все в машинный код, поэтому мне достаточно gdb, в ColorForth примерно тоже самое, только там все интегрировано в него уже, не нужно вызывать сторонний gdb. Общий подход в том что бы писать кода меньше, если твой OKAD II занимает 500 строк, блог+асинхронный сервер 400 строк, то и отладка становится проще. Но например в моем блоге все что приходит от пользователя проверяется, что бы ничего не крашнулось, или лишнего не отдалось, суть в том что бы убрать обработку ошибок там, где она не имеет нулевой стоимости или не так уж и нужна.

Подход меньше пиши - меньше будешь отлаживать, реализуем в любом языке программирования, просто Forth и сам часть такого подхода, вот взять этот примитивный обработчик s-exp, это иллюстрирует преимущество использования Forth если придерживаться этого подхода, плюс низкий уровень, мне он просто нравится, у меня нет слов для чтения файлов, сокетов, мой форт не зависит от libc, но у меня есть слово syscall, и через него я вызываю все функции ядра что мне нужны, ну и мои программы по итогу жестко зависят от linux amd64, но я на другой платформе и не собираюсь их запускать.
Аноним 17/05/23 Срд 12:24:56 #134 №2701784 
pcadis.png
>>2701407
21, а к чему вопрос? Возможно тебя смутило написанное, но если программа работает, выполняет свою задачу, не вылетает, новые возможности добавляются по необходимости, то что в таком подходе может быть странного?

Forth все же лучше подходит для небольших проектов с микроконтроллерами, IoT. Но и обычное ПО с ним вполне можно делать, в первую очередь же нужно выполнение определенных задач, а не красивый интерфейс, или возможность работы на всех платформах, итд. Вот например у Maxidom внутренние программы на ncurses и люди довольны, говорят что быстро удобно, ПК АДИС тоже консольный, такое можно реализовывать прямо на моем Forth, через syscall, и никаких трудностей не будет.
Аноним 17/05/23 Срд 20:24:53 #135 №2702386 
>>2701196
>Это один модуль, чему там конфликтовать?
Зависимостям видимо.

>У тебя емакс был совсем протухший?
Не помню конкретных версий, но емнип не особо.

>оргмод прекрасно обновляется пакетным менеджером емакса.
Я пробовал его так обновлять несколько раз с интервалом в несколько лет, практически каждый раз заканчивалось предсказуемо
Аноним 17/05/23 Срд 20:26:41 #136 №2702391 
>>2701325
>никаких сложных парсеров
...кроме тех, которые предстоит написать ЛИЧНО ТЕБЕ!

>форт удобнее
Ты меня пытаешься стриггерить, но я не буду поддаваться на провокацию.
я прост довольно глубоко в конкатенативщину погружался
Аноним 17/05/23 Срд 20:27:48 #137 №2702393 
>>2701358
>но я определенно могу это реализовать короче по символам чем в SBCL
Могу реализовать это еще короче по символам чем в форте (на джей, разумеется). Господа, кто даст меньше?
Аноним 17/05/23 Срд 21:03:21 #138 №2702452 
>>2702393
Джей, который JAI? От куда у тебя доступ к нему?
Аноним 17/05/23 Срд 21:31:01 #139 №2702516 
>>2702452
Который ascii apl, очевидно же
Аноним 17/05/23 Срд 23:12:04 #140 №2702627 
>>2702391
>...кроме тех, которые предстоит написать ЛИЧНО ТЕБЕ!
Не пишу сложных парсеров, ну ладно, кто я такой. Вот Чак Мур не пишет и не советует, он не авторитет в мире Forth? Его код доступен.

>я прост довольно глубоко в конкатенативщину погружался
Ты мог в нее погружаться, но стек это вообще не главное в форте, стек просто сейчас является наиболее удобным способом передавать данные между словами.

>>2702393
Точно сможешь? Можно взять другую задачу, которую можно решить за день. Но J хороший язык, https://cosy.com/ это Forth + APL.
Аноним 20/05/23 Суб 12:52:41 #141 №2705430 
> форт - чёрт, был пёрт как хуёрт в попёрд
> Лиспотред
Каждый раз как в первый.
Аноним 20/05/23 Суб 15:15:19 #142 №2705552 
>>2705430
Зачем вообще этот оффтопик нужен? форт язык же чисто для прикола
Аноним 20/05/23 Суб 17:28:47 #143 №2705735 
>>2705552
Так я то же самое спрашиваю. Просто как провокация, чтобы поднять мёртвый тред.
Аноним 22/05/23 Пнд 17:22:56 #144 №2708290 
>>2701358
>но я определенно могу это реализовать короче по символам чем в SBCL.
Есть у меня на примете задачка получше: http://lorwiki.zhbert.ru/index.php/LOR-contest
Запилишь нам решение на форте на любом из, когда будет свободное время? Было бы интересно посмотреть.

Кстати, на других языках тоже было бы интересно посмотреть. Так что доставайте свои схемы, тикили, реболы, джулии, прости господи, яваскрипты с кожурами, будем письками мериться.
Аноним 22/05/23 Пнд 21:08:23 #145 №2708614 
Коммонлисперы могут объяснить в чем прикол иметь отдельный неймспейс для функций? После других функциональных языков очень неприятно.
Аноним 23/05/23 Втр 05:06:57 #146 №2708840 
>>2708614
>После других функциональных языков очень неприятно.
Просто ты ещё не научился его готовить. Ты пытаешься писать как на других функциональных языках и закономерно получаешь неидиоматичный код, потому тебе и неприятно.
Аноним 23/05/23 Втр 07:41:59 #147 №2708854 
>>2708840
А как писать не как на других фп? Концептуально-то все тоже самое, но только всякие бесячие формы типа function/#' и funcall.
Аноним 23/05/23 Втр 11:03:31 #148 №2708978 
>>2708854
>А как писать не как на других фп?
Чтобы понять, как писать на каком-нибудь языке, его обычно изучают, поэтому не очень понимаю, какого ответа ты ожидаешь.
Могу книжку посоветовать или с конкретным куском кода помочь.
>Концептуально-то все тоже самое
То же самое, что и в хаскеле, анлямбде, АПЛ или рефале? Любопытное мнение.
Другие ФЯП, о которых ты говорил, - это схема, да?
Аноним 23/05/23 Втр 13:06:30 #149 №2709164 
>>2708614
CL это не ФЯ.
Аноним 23/05/23 Втр 13:07:25 #150 №2709167 
>>2705552
Но есть же Раптор!
Аноним 23/05/23 Втр 13:20:25 #151 №2709175 
>>2709164
А что ФЯ?
Аноним 23/05/23 Втр 18:42:45 #152 №2709598 
>>2708978
Я имел в виду ФВП, ты умеешь в функции высшего порядка на CL без фанколлов? Ну покажи тогда. ФВП в других ФП типа хаскеля/схемы/кложи/других не знаю выглядит не так убого все же.
Аноним 23/05/23 Втр 19:19:33 #153 №2709635 
>>2708614
Просто кривой квирк старых реализаций, который до сих пор тащат, потому что так исторически сложилось. ну и да, кл настолько функциональный, как руби или жс
Аноним 23/05/23 Втр 21:02:11 #154 №2709692 
>>2709598
Тебе ещё из хаскеля должно быть известно, что если приходится писать свою фвп или у тебя явная рекурсия, то значит, ты просто не осилил подходящий комбинатор.
Так что ты явно делаешь что-то не так, если у тебя много функолов в коде. Вот сейчас на одном своем проекте замерил, на 712 строк кода приходится всего 2 функола.
Короче, давай уже свой проблемный код в студию.
>>2709635
>ну и да, кл настолько функциональный, как руби или жс
Скорее, как окамл. Кстати, не многим известно, но фильм Зита и Гита снят именно про них.
Аноним 23/05/23 Втр 22:51:58 #155 №2709762 
Я так и не понял, мне стоит CL учить для личных проектов и просто кодинга FOR FUN, или это кал как тут пишут, и легче на Scheme делать?
Аноним 24/05/23 Срд 00:19:16 #156 №2709831 
>>2709762
> Common Lisp - разрабатывался как промышленный язык
> Scheme - это минималистичный лисп, пригодный в основном для обучения, исследований
Думай.
Аноним 24/05/23 Срд 07:08:07 #157 №2709894 
>>2709175
ML
Аноним 24/05/23 Срд 10:19:09 #158 №2709998 
>>2709762
Чел, ты в итоге с ума сойдёшь от этого выбора. Делай как я: учи оба.

Но вот тебе хинт: на лиспе написать что-то большое и работающее быстрее и удобнее. Схема вылощена, как будто ещё кислотой чистили. И я до сих пор не понимаю как продолжения работают и как их юзать. Любой код с ними у меня в голове синий экран смерти вызывает.
Аноним 24/05/23 Срд 11:28:09 #159 №2710052 
>>2709692
Да не то чтобы их очень много, где-то пара штук на 300 строк, но просто я не понимаю зачем вообще так было делать? Единственный аргумент который я видел это "зато мы можем переменную назвать list а не lst", хотя в чем проблема называть переменную list в локальном контексте в той же схеме я не понимаю.
Аноним 24/05/23 Срд 11:49:26 #160 №2710080 
>>2709998
Мне очень понравилось что-то на Лисп писать. REPL с емаксом и компиляция кода без надобности весь файл пересобирать очень удобны. Я в си заебался !make && !./main писать, тут радость вызывает пока что абсолютно все
Аноним 24/05/23 Срд 11:56:49 #161 №2710089 
>>2710080
В первый раз когда у тебя что-то логическое наебнётся из-за "органического" программирования, вспомнишь чудика из лисп-тредов, который репл наотрез отказывался использовать.
Аноним 24/05/23 Срд 13:12:37 #162 №2710147 
>>2710089
>спомнишь чудика из лисп-тредов, который репл наотрез отказывался использовать.
Стори?
Аноним 24/05/23 Срд 13:13:47 #163 №2710148 
>>2710089
Что такое "органического" программирования?
Аноним 24/05/23 Срд 13:23:01 #164 №2710156 
>>2710147
Это я. Два-три треда назад бомбил.

Мне не нравится эта особенность работы с лиспом, а также фанатичность всех, кто это юзает.

Приходишь попросить совета? Показывай отдельные куски кода, а не проект целиком, потому что иначе начнётся вот это "А ПАЧИМУ ТЫ НЕ ЮЗАЕШЬ САМУЮ УДОБНУЮ ПРИБЛУДУ?".

Все их вспуки про то, что можно послать каждую отдельную инструкцию в SWANK; вспуки про "удобство", про то, что можно и файлы перекомпилировать целиком, если нужно - это всё блекнет в сравнении с чистым запуском с нуля каждый раз.

Ты просто уверен, что вызываемый код каждый раз в одних и тех же условиях. Потому что он стартует с одним и тем же ядром каждый раз.

И, если честно, я даже раз что лисп-машины загнулись. Если там была такая же хуета с постоянной модификацией образа, то это было бы не очень приятно.

>>2710148
Не настроен сраться снова. Спроси у адептов REPL про "выращивание" программы/образа.
Аноним 24/05/23 Срд 13:23:29 #165 №2710157 
>>2710052
>но просто я не понимаю зачем вообще так было делать?
Я предполагаю, что это в первую очередь связано с динамической природой общелиспа. Это ведь не столько язык, сколько программируемая среда. И каждая сущность в ней быть интроспектирума. А о какой инстроспекции может быть речь, если язык даже не позволяет найти функцию по имени?
И возможно, такое подход упрощает реализацию горячей замены кода, но это не точно.
>Единственный аргумент который я видел это "зато мы можем переменную назвать list а не lst"
Ну, то, что не нужно париться об именах переменных, сильно упрощает кодогенерацию макросами.
Аноним 24/05/23 Срд 13:29:26 #166 №2710165 
>>2710052
Кстати, рекомендую serapeum, если хочешь, чтобы твой код был более функциональным, а волосы мягкими и шелковистыми.
См. https://github.com/ruricolist/serapeum/blob/master/REFERENCE.md#functions fbind, defalias, mvfold
Аноним 24/05/23 Срд 13:31:14 #167 №2710166 
>>2710156
О, а вот и единственный в мире неосилятор слайма пожаловал.
Аноним 24/05/23 Срд 13:33:04 #168 №2710171 
>>2710157
>в ней быть интроспектирума
*должна быть интроспектируема
Аноним 24/05/23 Срд 13:37:48 #169 №2710175 
>>2710166
Я никуда и не уходил.
Аноним 24/05/23 Срд 13:41:39 #170 №2710178 
>>2709998
>И я до сих пор не понимаю как продолжения работают и как их юзать.
В продолжениях ничего сложного. Если знаешь хаскель, то рекомендую посмотреть на реализацию монады cont (простую, без трансформеров), сразу поймешь, как оно устроено.
>Любой код с ними у меня в голове синий экран смерти вызывает.
Это нормально. Уследить за рваным кодом не так уж просто
Аноним 24/05/23 Срд 13:43:16 #171 №2710181 
>>2710178
>Если знаешь хаскель
>бросил его учить, когда не понял как зачем монады нужны и как их правильно готовить
Ну чел(((
Аноним 24/05/23 Срд 13:47:44 #172 №2710186 
>>2710181
https://wiki.haskell.org/MonadCont_under_the_hood
У них даже статья есть, где подробно разжевывается
Аноним 24/05/23 Срд 13:54:24 #173 №2710194 
>>2710156
>И, если честно, я даже раз что лисп-машины загнулись. Если там была такая же хуета с постоянной модификацией образа, то это было бы не очень приятно
Ну вообще-то это свойство системы когда-то спасло американский спутник, который находился возле другой планеты.
Аноним 24/05/23 Срд 14:00:17 #174 №2710198 
>>2710194
А gdb когда-то спас мою жопу от пожара, когда плюсовая программа выдавала сегфолт, ага.

Свойство, которое можно использовать в некотором контексте? Хорошо.
Свойство, фанатики которого не дадут тебе спокойно жить, пока ты не конвертируешься в их веру? Эээ, без комментариев.
Аноним 24/05/23 Срд 14:08:43 #175 №2710201 
>>2710198
>А gdb когда-то спас мою жопу от пожара, когда плюсовая программа выдавала сегфолт, ага.
ну тут твоя жопа, а там спутник, на который было миллионы долларов потрачено, чуешь разницу? ещё я новостей не видел, чтобы gcc или gdb спас кого-то, скорее наоборот
Аноним 24/05/23 Срд 14:09:18 #176 №2710203 
>>2710201
>чуешь разницу?
Нет.
Аноним 24/05/23 Срд 14:14:12 #177 №2710207 
>>2710198
>Свойство, фанатики которого не дадут тебе спокойно жить, пока ты не конвертируешься в их веру? Эээ, без комментариев.
Мб ты что-то не понял? Просто если тестировать отдельные модули\функции, а потом обнулять REPL, то выглядит довольно здравой идеей.
Аноним 24/05/23 Срд 14:27:32 #178 №2710212 
>>2710207
Ага. Давай я соглашусь с этим и скажу, что попробую.

Чтобы потом сблевать от Emacs и вступить в пространные рассуждения о том, что ограничивать выбор инструментов плохая затея. (Намекая на очивидное ограничение в виде SLIME).

Чтобы перейти к части, где говорят про SLIMV, и вообще про то, что ограничения это нормально, посмотри на MSVS для плюсов (рядом с которой есть qtcreator, clion, и даже просто чистый вим + gcc).

Чтобы затей перейти к финальному акту, где SLIMV из коробки глючит, а я получаю порцию говна за шиворот, потому что мне не нравится имакс.

Нет, спасибо. Кушайте сами, не обляпайтесь только.
Аноним 24/05/23 Срд 14:31:04 #179 №2710217 
>>2710207
Да он шизик, не обращай внимания.
ЕМНИП он писал код в виме, а потом вручную его копировал в репл, потому что автоматизация - зло. Видимо, копировать каждое изменение было лень, поэтому в образе накапливалось расхождение с кодом.
Аноним 24/05/23 Срд 14:32:35 #180 №2710218 
>>2710217
>а потом вручную его копировал в репл
Так ты в своей голове представлял видимо. Додумывал то есть.

Но, у меня есть мэйкфайл с sbcl --load бла-бла-бла.

Так что нет, вручную я не копировал.
Аноним 24/05/23 Срд 14:46:36 #181 №2710228 
>>2710218
Не-не, я помню, ты пытался в интерактивную разработку, но спотыкался на ровном месте об свою шизу.
>Но, у меня есть мэйкфайл с sbcl --load бла-бла-бла.
Хм. Должно быть, очень удобно. Особенно когда в проекте больше одного файла и есть зависимости.
Даже не знаю, стоит ли говорить про асдф
Аноним 24/05/23 Срд 14:57:32 #182 №2710244 
>>2710228
>интерактивную разработку
Не совсем. В расширяемую пользователем.

В итоге я редизайнул эту хуйню. Теперь это asdf система, которую пользователь просто добавляет в зависимости своей кастомной asdf системы, а потом вызывает функцию make-executable, который настраивает repl sbcl'а и добавляет reader macro. Сам исполняемый файл - это блоб на 50 мегабайт, который из себя представляет консольную утилиту с текстовым интерфейсом (точнее фуловый sbcl, который выдаёт себя за консольную утилиту).
Аноним 24/05/23 Срд 15:16:52 #183 №2710265 
>>2710244
>Не совсем. В расширяемую пользователем.
Не вынуждай лезть в архивач, я помню твои приключения с реплом!
>В итоге я редизайнул эту хуйню.
Ну и какую проблему это решает?
>а потом вызывает функцию make-executable
https://asdf.common-lisp.dev/asdf.html#index-image_002dop
>который настраивает repl sbcl'а и добавляет reader macro
У всех это обычно в ~/.sbclrc
Аноним 24/05/23 Срд 15:20:39 #184 №2710268 
>>2710265
> называет шизом
> потом я должен его советы читать
А вас не спрашивают.
Аноним 24/05/23 Срд 15:28:33 #185 №2710275 
>>2709692
>Скорее, как окамл.
Да не, категорически нет, окамл как раз сферический фяп (с прибитыми сбоку ооп-свистоперделками).

почему французы такие уебки и не могут завести блядь нормальный тулинг и нормальную библиотеку, так бомбит каждый раз как об этом думаю, такой бы заебатый дефолтный язык вышел вместо всяких ГОвноЛАНГов и прочей хуйни
Аноним 24/05/23 Срд 15:30:31 #186 №2710276 
>>2710268
Да мне просто любопытно, что произойдёт с твоей шизой, когда ты осознаешь надуманность проблем, которым так отчаянно противоборствуешь.
Аноним 24/05/23 Срд 15:32:41 #187 №2710279 
>>2710156
В кложе например есть удобный тулинг для пересборки всего кода твоего проекта без перезапуска образа. То есть библиотечные кэши как были так и остаются, а все твои неймспейсы уничтожаются и собираются заново. Это чуть дольше, чем компиляция отдельной формы, но все еще на несколько порядков быстрее пересборки всего проекта, очевидно.
Аноним 24/05/23 Срд 15:33:34 #188 №2710280 
>>2710276
Использую более простой метод. Так же, как с редизайном номер один. Значит будет редизайн номер два, три и так до посинения.

Что касается проблем, которым я действительно противоборствую, типа слаймозависимых зилотов - тут уж надуманными они явно не будут.
Аноним 24/05/23 Срд 15:33:47 #189 №2710281 
>>2710157
>А о какой инстроспекции может быть речь, если язык даже не позволяет найти функцию по имени?
Ты какой-то бред написал, лисп-1 vs лисп-2 не имеет никакого отношения к интроспектируемости. Это литералли деталь реализации, которую тащат из 80-ых
Аноним 24/05/23 Срд 15:35:25 #190 №2710285 
>>2710178
Я тоже не осилил продолжения. Ну то есть я понимаю, как они могут как концепция пригодиться при трансформации кода, но как (а главное - зачем) использовать их непосредственно на прикладном уровне - хз.

инб4 эффекты
Аноним 24/05/23 Срд 15:39:13 #191 №2710292 
>>2710281
Дан список символов, найди соотвествующие им функции, если таковые определены.
Аноним 24/05/23 Срд 15:43:20 #192 №2710300 
>>2710212
А каким местом проблемы слайма\кл к интерактивному программированию?

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

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

https://www.youtube.com/watch?v=PUv66718DII
Аноним 24/05/23 Срд 15:43:40 #193 №2710302 
>>2710285
Самое очевидное применение - асинхронщина. На продолжениях пишется легко и органично, без лапши из колбеков
Аноним 24/05/23 Срд 15:45:56 #194 №2710303 
>>2710292
-> (мап резолв) (фильтер фн?); нутыпонел
Аноним 24/05/23 Срд 15:46:36 #195 №2710306 
>>2710300
>который в общем-то уже давно признан объективно более лучшим для построения любых интерактивных систем
Тогда не нужно пытаться это впарить, как отчаявшаяся РСП-сэйлс с двумя детьми и ипотекой.

"Объективный" - значит рано или поздно каждый сам дойдёт до этого. Когда ты добавляешь "уже давно признан ... лучшим" - я чувствую запашок фанатичной уверенности.
Аноним 24/05/23 Срд 15:47:39 #196 №2710308 
>>2710302
>без лапши из колбеков
Уже давно нигде никаких колбеков нет, только асинк\авейт и цсп. Чем продолжения удобнее асинк-авейта?

я ж говорю, все равно в итоге дискас сведется к эффектам, лол
Аноним 24/05/23 Срд 15:52:16 #197 №2710320 
>>2710306
>Тогда не нужно пытаться это впарить
Я хуй знает, что там у тебя за психические травмы и кто тебе там что-то пытался впарить, мне похуй.

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

>Когда ты добавляешь "уже давно признан ... лучшим" - я чувствую запашок фанатичной уверенности.
Ну ты там это, юнити (игры в котором делают) какой-нибудь открой, посмотри сколько там ассетов в сторе - это все тайные зилоты имакса и слайма, инфа 100%
Аноним 24/05/23 Срд 15:54:07 #198 №2710326 
>>2710320
>мне похуй
Видно по количеству букв.
Аноним 24/05/23 Срд 15:57:20 #199 №2710333 
>>2710326
Мне похуй на твои психические травмы, шиз. Тред\раздел - про разработку ПО, остальной мой пост этому и посвящен.

на всякий случай насрал говном тебе в рот, ты какой-то токсичный
Аноним 24/05/23 Срд 15:58:29 #200 №2710334 
>>2710333
>ты какой-то токсичный
>на всякий случай насрал говном тебе в рот
>ты какой-то токсичный
Аноним 24/05/23 Срд 15:58:59 #201 №2710336 
>>2710303
Ну ок, в схеме это через костыли делается.
А что там насчет области видимости?
Аноним 24/05/23 Срд 16:01:10 #202 №2710344 
>>2710334
Это именно так и работает. Кто к нам с говном придет - говна в рот и получит.
Аноним 24/05/23 Срд 16:02:11 #203 №2710346 
Лиспаны, обьяните, пожалуйста, как у языка, на котором ничего не пишется, может быть такое большое сообщество по всему миру?
Аноним 24/05/23 Срд 16:02:50 #204 №2710348 
>>2710308
> Чем продолжения удобнее асинк-авейта?
Тем, что асинхронный код ничем не будет отличаться по виду от синхронного. Очевидно же.
Аноним 24/05/23 Срд 16:05:34 #205 №2710352 
>>2710336
А что с ней? Я лично не вижу смысла называть локальные переменные тем же именем, что и библиотечные функции - это в любом случае только вносит путаницу при чтении кода. (Впрочем, сделать это все равно никто не мешает, локальный биндинг просто затенит библиотечный, ну стандартные правила лекической видимости.)

Имена типа "list", "map" и т.п. - это в любом случае антипаттерн, опять же безотносительно обсуждаемого топика. Если уж у тебя нечто настолько абстрактное, что ты его не можешь никак осмысленно назвать, то давно уже есть привычные xs, ys и так далее.

Наконец, даже чисто концептуально выделять замыкания в какую-то отдельную категорию нелогично, потому что, ну блин, весь смысл ФВП и замыканий в том, что это такие же значения, как любое другое значение. Давайте тогда отдельные неймспейсы для чисел и строк заодно заведем. Бред же.
Аноним 24/05/23 Срд 16:07:03 #206 №2710355 
>>2710348
Так и с асинк\авейтом он по форме не отличается от синхронного (в этом и смысол асинкавейта). Можешь привести пример, который демонстрирует разницу в чистоте между асинкавейтом и продолжениями?
Аноним 24/05/23 Срд 16:08:30 #207 №2710358 
>>2710346
>Walmart, CircleCI, Heroku, Puppet, Netflix, Soundcloud, Spotify, Facebook, Groupon, Red Hat, Oracle, Сбербанк.
>ничего не пишется
Аноним 24/05/23 Срд 16:09:08 #208 №2710360 
>>2710344
Если этот тред является представительной выборкой "лисп хакеров", которые, по-хорошему должны показывать насколько лисп охуенен, то не удивительно, что он загнулся.

Я сам в лисп вкатился как в язык. Не как в азаза всё выдумали уже за тебя, используй что сказано или шиз с агрессивным проецированием своего психологического состояния, когда диалог строится хоть на йоту не так, как якобы должен по представлениям "лисп хакера".
Аноним 24/05/23 Срд 16:10:00 #209 №2710363 
>>2710080
>Я в си заебался !make && !./main писать, тут радость вызывает пока что абсолютно все
Попробуй С++, там IDE и есть REPL, почти все можно проверить статически, пересборка это одна кнопка, и используй отладчик, он позволяет вставлять код, менять значение переменных итд, в качестве IDE советую CLion.
Аноним 24/05/23 Срд 16:12:17 #210 №2710367 
>>2710358
Ну что-то на уровне КОБОЛА, да. Даже из области, для которой лишп и создавался, его питон выгнал.
Аноним 24/05/23 Срд 16:13:42 #211 №2710370 
>>2710363
>2023
>C++
тонко ты его затроллил, бвахаха
Аноним 24/05/23 Срд 16:14:45 #212 №2710371 
>>2710194
И что мешало залить новую программу? Можно еще всегда работающий процесс пропатчить. Вояджеры же нормально патчат. И тебе не просто так рассказали про gdb, там можно и функцию наживую пропатчить, и значения посмотреть поменять.
Аноним 24/05/23 Срд 16:15:12 #213 №2710373 
>>2710360
>Если этот тред является представительной выборкой "лисп хакеров",
Тебе лет 15 или ты просто туповатый?

>Не как в азаза всё выдумали уже за тебя
Я вообще без понятия о чем ты и с какими голосами в голове разговариваешь. Съеби в /psy/, шиз!
Аноним 24/05/23 Срд 16:16:27 #214 №2710376 
>>2710370
Единственный годный метаязык в наше время
Аноним 24/05/23 Срд 16:16:57 #215 №2710377 
>>2710352
>Я лично не вижу смысла называть локальные переменные тем же именем, что и библиотечные функции
Что плохого в том, чтобы назвать переменную str, next, rem, count и т.д.?
>>2710355
Ты не понял. С продолжениями не нужно никаких ключевых слов, не нужно никак преобразовывать код, потому что реализация асинхронного ио может просто взять лямбду продолжения и повесить её на событие.
Аноним 24/05/23 Срд 16:17:29 #216 №2710378 
>>2710367
>стартапы
>что-то на уровне КОБОЛА
/0

>из области, для которой лишп и создавался
Какой лишп? Лишп - это семейство языков программирования, как си-подобные языки (с, с++, с#, джава, раст). Изначально лишп создавался для написания академических публикаций по символьным вычислениям, але.
Аноним 24/05/23 Срд 16:17:56 #217 №2710379 
>>2710373
Фу, как грубо. Кложуристы все такие токсичные?
Аноним 24/05/23 Срд 16:18:19 #218 №2710380 
>>2710370
Это наиболее продвинутый язык сейчас, особенно если использовать патченный clang с рефлексией, есть крутые рейнджи, есть рефлексия, есть комплтайм, есть лучший оптимизирующий компилятор в мире (если вы подумали о fortran, то вы ошиблись, он отстает от С++ и язык вовсе НЕ позволяет как то лучше оптимизировать, подробнее в гугл). Говоря о том что IDE это REPL я не троллю и ничего не путаю, если у вас контракты везде, и статика, а отладчик позволяет патчить код и менять значения, у вас есть все что нужно.
Аноним 24/05/23 Срд 16:20:43 #219 №2710381 
>>2710380
Зачем он нужен, когда есть джулия? На ней числодробилки на уровне фортрана по производительности.
Аноним 24/05/23 Срд 16:22:27 #220 №2710384 
>>2710377
>Что плохого в том, чтобы назвать переменную str, next, rem, count и т.д.?
Ну конца света ясное дело не случится, но в идеале я бы предпочел, условно, s или string для переменной и т.п. А распространенные слова типа next не использовать в именовании библиотечных функций. То есть чтобы в области видимости по умолчанию экспортировался фиксированный набор слов, которые всегда имеют только одно значение. А все, что может пересекаться с предметной областью - в сабнеймспейсы убрать.

В этом плане, кстати говоря, какой-нибудь cdr мне импонирует больше, чем rest\tail.
Аноним 24/05/23 Срд 16:23:36 #221 №2710388 
>>2710379
Нет. А вот харкачеры - да.На что тебе прошлым постом и намекалось.
Аноним 24/05/23 Срд 16:24:28 #222 №2710389 
>>2710376
>>2710380
Опять жир с монитора оттирать, ну ёпт...
Аноним 24/05/23 Срд 16:25:53 #223 №2710390 
>>2710384
>А распространенные слова типа next не использовать в именовании библиотечных функций.
В кложе решили иначе.
Аноним 24/05/23 Срд 16:29:36 #224 №2710397 
>>2710377
>реализация асинхронного ио может просто взять лямбду продолжения и повесить её на событие.
Ну так и компилятор может переписать твой код в кп-стайл и навесить в любой точке что угодно, я ж не про это. Давай еще раз, я человек простой, от колл\цц у меня бсод в мозге, объясни мне на примере. Вот есть джва запроса, нужно взять результат того, который придет первым, и передать дальше, либо отвалиться по заданному таймауту. Как на продолжениях это выглядит?
Аноним 24/05/23 Срд 16:31:07 #225 №2710400 
>>2710390
Ну... да, и что? не понял, при чем тут это
Аноним 24/05/23 Срд 16:35:51 #226 №2710413 
>>2710381
Производительность хуже, библиотек нету, поддержки нету, IDE достойных нету как и инструментов, статические анализаторы есть под нее хоть?
Аноним 24/05/23 Срд 16:36:18 #227 №2710414 
>>2710381
Не говоря уже о том что язык сливает по возможностям.
Аноним 24/05/23 Срд 18:34:16 #228 №2710598 
>>2710389
неосилятор, спок.
Аноним 24/05/23 Срд 18:52:16 #229 №2710627 
>>2710157
>динамической природой общелиспа
Т.е.? Если ты про области видимости то они лексические/статические в лиспе, если ты про гомоиконность и возможность меня куски кода на лету, то это присуще всем лиспам и один неймспейс для всего никак этому не мешает.
>Ну, то, что не нужно париться об именах переменных, сильно упрощает кодогенерацию макросами.
Да что-то не возникало таких проблем, на крайний случай есть gensym.

>>2710165
Крутая штука, у меня есть похожая вещь, но маленькая, правда один неймспейс она мне все равно не сделает. К тому же если быстро окинуть взглядом почти все это есть в колже из коробки.
Аноним 24/05/23 Срд 19:54:07 #230 №2710716 
По поводу funcall. Не пойму, почему без него то нельзя было? Когда пишешь форму, оно же пытается 1 аргумент как функцию вызвать, что мешает с переменной из параметров так же сделать?
Аноним 24/05/23 Срд 21:45:08 #231 №2710827 
>>2710716
В общем нахрюке у символа может быть и значение и функция.
Вот в Схеме всегда одно значение, там можно
(set! f cons)
(f 1 2)
В общем нахрюке надо
(setq f #'cons) ; значение символа f = функция символа cons
(defun f (x y) (+ 1 2)) ; задали функцию символа f
(funcall f 1 2) ; значение f вызвали (1 . 2)
(f 1 2) ; функцию f вызвали 3
Аноним 24/05/23 Срд 23:52:33 #232 №2710918 
>>2710827
В дополнение: (funcall 'f 1 2) будет 3.
>(set! f cons)
В схеме так нельзя, сначала надо определить f, т.е. должно быть
(define f cons).
Аноним 25/05/23 Чтв 07:39:38 #233 №2710996 
>>2710827
А (setf (function f) #'cons) нельзя?
Аноним 25/05/23 Чтв 11:41:25 #234 №2711198 
>>2710627
>динамической природой общелиспа
>Т.е.?
>возможность меня куски кода на лету
Не совсем. Речь, скорее, об особенностях дизайна языка как живой системы а-ля смолтолк.
>один неймспейс для всего никак этому не мешает.
Вот хз, это достаточно сложный и, к тому же, малозначительный вопрос, чтобы ответить навскидку без анализа, поэтому не могу ни согласиться, ни опровергнуть. Но чувствую, что устройство лисп-2 должно быть проще в плане поковыряться в рантайме.
>Да что-то не возникало таких проблем, на крайний случай есть gensym.
Я про макросы типа (do-select ((a b c list d) :from table) ...)
Когда имя переменной не выбирается программистом, а продиктовано извне.
>К тому же если быстро окинуть взглядом почти все это есть в колже из коробки.
Кек, там подписано же, откуда что взято. Что-то из кложи, что-то из хаскеля, что-то из J
Аноним 25/05/23 Чтв 11:49:02 #235 №2711211 
>>2710996
>А (setf (function f) #'cons) нельзя?
fdefinition, а не function
Но так делать не надо, есть defalias и fbind из серапеума
Аноним 25/05/23 Чтв 12:19:53 #236 №2711242 
>>2710918
> В схеме так нельзя, сначала надо определить f
На практике можно.
Аноним 25/05/23 Чтв 19:57:43 #237 №2711915 
>>2710358
[ситейшн нидед]
CircleCI допустим я нашел, но там кложа, остальные тоже нитакусиковые крудо опердени или есть реальные случаи, гже прям без лиспа никак было?
Особенно интересует сбер.
Аноним 26/05/23 Птн 19:24:33 #238 №2712994 
Что такое символьные вычисления?
Аноним 26/05/23 Птн 19:34:01 #239 №2713003 
>>2712994
Преобразования структур, на нижнем уровне которых находятся символы.
Аноним 26/05/23 Птн 21:19:43 #240 №2713112 
>>2713003
Что такое символы?
Аноним 26/05/23 Птн 21:30:15 #241 №2713130 
>>2713112
Фишки, которые отличаются друг от друга.
Аноним 26/05/23 Птн 21:32:57 #242 №2713136 
>>2713130
Что за фишки?
Аноним 27/05/23 Суб 17:58:03 #243 №2713678 
>>2712994
Программирование с использование символов. Символ в лиспе - это тип. Символы можно манипулировать для генерации кода. Насколько я понимаю термин, символьные вычисления - это тот случай когда ты используешь символы как данные. Просто привязывание значения к символу вроде как не считается, но могу ошибаться.
Аноним 28/05/23 Вск 14:12:26 #244 №2714082 
>>2711915
>но там кложа
Так везде кложа, другие лиспы в проде нигде не используются за исключением отдельных исчезающих случаев. Наверное самый известный юзер общелиспа - граммарли, у них бэкенд анализа текстов на нем. На схеме в проде никто не пишет хотя лет 10 назад была в питере одна контора, тоже писали какой-то нлп, зарплаты были уровня "это еще вы нам доплатите, шоб на борщах писать".

>есть реальные случаи, гже прям без лиспа никак было?
Таких случаев не бывает, это не так работает.

>Особенно интересует сбер.
Емнип одна команда писала анализ логов (или что-то в таком духе), было несколько вакансий. Опять же это кложа, на других лиспах вакансий нет.
Аноним 28/05/23 Вск 19:13:26 #245 №2714358 
Написал условие, что если переменная "a" больше переменной "b" и переменная "b" больше переменной "c", то программа вернёт сумму квадратов переменных "a" и "b". Но вместо результата ошибка «and: bad syntax in: and»

Что я сделал не так?

Вот сам код:

(define (square x)
(* x x)
)

(define (func a b c)
(cond (and (> a b) (> b c)) (+ (square a) (square b))))

(func 5 4 3)
Аноним 28/05/23 Вск 20:12:49 #246 №2714442 
>>2714358
В схеме пара условие-значение (как и в CL) должна быть в скобках, это в кложе она не нужна.
Вообще, если для себя учишь лисп, то лучше начинай с кложи, она и проще других и можно на практике применить.
Кроме того, поскольку отношение "больше" транзитивно, то функция ">" принимает много аргументов, так что можно сократить так:

(define (func a b c)
(when (> a b c)
(+ (square a) (square b))))
Аноним 28/05/23 Вск 20:15:57 #247 №2714449 
>>2714442
Да я по книжке Структура и интерпретация компьютерных программ иду. А она про Scheme. Или особо не важно и можно просто смотреть реализацию тех или иных приколов, описанных в книге, где-то ещё?
Аноним 28/05/23 Вск 20:20:12 #248 №2714456 
>>2714449
Я не читал эту книжку, но она довольно старая, так что с учетом того, что у схемы десятки реализаций код оттуда вряд ли будет везде работать, и я думаю, что можно найти более современные книги с таким же примерно содержанием.
Аноним 28/05/23 Вск 20:20:54 #249 №2714460 
>>2714456
Спасибо. Посмотрю.
Аноним 28/05/23 Вск 22:48:30 #250 №2714563 
>>2714449
Можно вместо схемы использовать и другой лиспоподобный язык, на кложу вроде даже первые главы кто-то переводил:
http://ecmendenhall.github.io/sicpclojure/pages/contents.html
https://github.com/gregsexton/SICP-Clojure/tree/master/src/sicp
https://www.sicpdistilled.com/

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

Алсо, насколько я помню в dr-racket была языковая директива #sicp, ну типа именно та версия, которая используется в книжке, так что примеры как есть должны работать.
Аноним 28/05/23 Вск 23:10:35 #251 №2714572 
>>2714563
Да в целом всё работает, но я в упражнении с синтаксисом натупил.
Аноним 30/05/23 Втр 10:53:36 #252 №2716111 
>>2710080
>Я в си заебался !make && !./main писать
В вскод можно сделать перекомпиляцию при сохранении файла, правда не уверен, что уже есть готовое расширение, возможно придется писать самому. В Ви и Имакс я думаю тоже можно. Я уже молчу про хоткеи.
Аноним 30/05/23 Втр 11:44:51 #253 №2716179 
>>2716111
Я уже молчу про Ctrl+R и fuzzy finder.
Аноним 09/06/23 Птн 08:48:44 #254 №2726724 
168628924399873505.jpg
Втф?????
Аноним 09/06/23 Птн 12:40:22 #255 №2726915 
>>2726724
Весь "западный мир" с Украиной, используй достижения остальной цивилизации если не нравится.
Аноним 09/06/23 Птн 12:42:15 #256 №2726919 
>>2726915
Только об этом раньше надо было думать, вот например интересный проект
https://xn--80ac3cm.xn--p1ai/wiki/%D0%AF%D1%80_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
Аноним 09/06/23 Птн 12:53:46 #257 №2726936 
>>2726919
> /// родись - это аналог new или create
ааа
Аноним 09/06/23 Птн 14:24:43 #258 №2727065 
>>2726915
>Весь "западный мир" с Украиной
вот это манямир, ору
Аноним 09/06/23 Птн 20:53:03 #259 №2727693 
>>2726724
Ахахаха, шепелявые официально зашкварены.

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

basic bitch common lisp официально НЕНУЖЕН!

набросил
Аноним 09/06/23 Птн 20:56:34 #260 №2727699 
>>2726919
Очередное убожество. Потому что нужно не просто менять "def" на "опр". Если уж хочется положить русский язык в основу ЯПа, то нужно использовать грамматические и синтаксические особенности славянских языков. Например, образование новых слов (функций) с помощью суффиксов, или например независимость от порядка слов в предложении (выражении).

И переводить с латиницы надо сразу на глаголицу, кстати. Ибо так брутальнее.
Аноним 09/06/23 Птн 20:57:32 #261 №2727701 
>>2727699
гойдаскрипт
Аноним 10/06/23 Суб 00:02:59 #262 №2727969 
>>2727699
>Например, образование новых слов (функций) с помощью суффиксов, или например независимость от порядка слов в предложении (выражении).
Вот рили интересные идеи, даже в отрыве от копрославской шизы.
Аноним 10/06/23 Суб 14:56:41 #263 №2728311 
>>2727969
Была бы какая-то тусовка, где это все можно вкидывать и обсуждать - глядишь, коллективный разум и выработал бы что-то интересное, эх...
Аноним 10/06/23 Суб 16:14:32 #264 №2728422 
>>2728311
>можно вкидывать и обсуждать
ты только что двач
Аноним 10/06/23 Суб 17:54:11 #265 №2728540 
А common lisp(далее CL) вообще хорошо подходит для библиотек например? сейчас scheme изучаю, хочу потом CL изучить и написать библиотечку для крудошлепства, смогу я такое сделать? умеет CL с сокетами работать? или язык не для такого немного?
Аноним 10/06/23 Суб 18:02:56 #266 №2728556 
>>2683138

Соус?
Аноним 11/06/23 Вск 00:53:48 #267 №2729018 
>>2682197
Ravenpack сейчас ищут разраба на Common Lisp. Но нужно физически присутствовать в Марбелье.
>>2683183
У них Clojure, они его спонсируют прямо.
>>2684172
>коммон лиспы
См. выше, бывает нужен где-то.
>>2686100
>если кто-то здесь такой помнит
У меня есть выпуски, так ещё и не прочитал толком ни один. Надо бы, хорошо ведь писали.
>>2688945
Соевики, хули. Это общая проблема нашей отрасли. Видел список от ctorecords? Не говорю уже про отмену ветки master три года назад.
>>2727699
>независимость от порядка слов в предложении
Независимость слов от порядка.
Аноним 13/06/23 Втр 07:59:36 #268 №2730994 
>>2729018
>Не говорю уже про отмену ветки master три года назад.
Везде main меняю на master, потому что заебало.

"Барнаул, Алтайский край", говорили они. "Ты далеко, тебе ниггерошиза должна быть побоку", говорили они.

Тьфу, блядь!
Аноним 13/06/23 Втр 08:34:20 #269 №2731012 
>>2730994
>"Барнаул, Алтайский край", говорили они. "Ты далеко, тебе ниггерошиза должна быть побоку", говорили они
Да это криптоглобалхомо подпездывают и в заблуждение вводят. Ибо когда в стране, которая экспортирует свою культуру, технологии и образ жизни на весь мир происходит что-то, то это касается весь мир. Глобализация же.
Аноним 24/06/23 Суб 11:35:30 #270 №2743346 
rectangle.png
Пусть есть программа, в которой часто используются прямоугольники, выражаемые координатами на дискретном клетчатом поле (то есть поле по типу шахматной доски). Нужно часто выполнять две задачи, связанные с этими прямоугольниками: обходить их периметр и обходить их площадь. Пикрелейтед - закрашивание серым: периметра и площади. Из правил хорошего стиля отсюда выводится, что нужно реализовать краткую запись для этих самых обходов.
В Python это можно сделать двумя генераторами. Тогда для обхода периметра достаточно написать что-то вроде "for pos in rect_bounds(rect):", для обхода площади - "for pos in rect_area(rect):". Как лиспер решит эту задачу?
Аноним 24/06/23 Суб 14:10:30 #271 №2743403 
Я тут в качестве хобби начал изучать Clojure и чем дальше, тем больше начинаю охуевать. Сам я не разработчик, не вкатун, просто любознательный немного. Разрекламировали мне кложуру как очень простой язык, приводили в плюс то, что мало типов/структур данных и миллион функций обработки, мне нравилось экзотичность и лиспоподобность, плюс функциональщина. Даже против джавы я не
был против в этом контексте. Ну а хули, миллион всего уже написано, простой доступ ко всей инфраструктуре. Для веба даже на богомерзком js писать не надо. Ну и нет ебаного ООП со всей этой хуйнёй, что ему сопутствует. Типа в рекламных буклетах всё хорошо.

Но чем дальше я изучаю, тем больше мой ньюфажий мирок начинает трещать. Мало структур данных и миллион функций нихуя не плюс. Потому что под каждый пук посложнее у нас есть другая функция, которая расширяет предыдущую и они типа разные. Надо что-то более сложное? Есть ещё другая функция, которая принимает другие функции, которые имеют разную логику работы и так до бесконечности. Все они вроде одинаковые, но нет, они чуть-чуть различаются и некоторые из них не стакаются.
И я говорю не про вложенность какую-то, нет, я именно про то, что куча почти одинаковых механизмов, которые делают почти то же самое, но чуть более развёрнуто/вложенно и т.д.
Такое ощущение, что у автора языка такая же каша в голове из хороших концепций, как и у меня после их изучения. Да, я знаю, что их купил банк, но всё равно, выглядит пиздец.
Я конечного много не знаю и не разбираюсь в программировании, но всё равно.
Аноним 24/06/23 Суб 23:21:52 #272 №2743743 
>>2743403
ФП имеет ничуть не меньший потенциал быть невыносимым, чем ООП. А все из-за переиспользования абстракций, которые плодить нехуй делать, чтобы потом пихать их в мапы с комбинаторами, превращая код в нечитаемую кашу, и главное еще писать все однострочником без байдингов.
Кстати, ФП это тру-парадигма, берущая корни в лямбда исчислении, -- альтернативе машине Тьюринга, а ООП это хуй пойми что, ни то это синтаксический сахар чтобы автокомплит работал, ни то это как то связано с рантайм диспатчем, которого при этом нет в Окамле.
Я бы кложу изучил чисто ради ихних интерактивных тетрадок Clerk, это всяко интереснее выглядит чем технофашистский типодроч в Хаскелле, воот.
Аноним 25/06/23 Вск 09:23:04 #273 №2743833 
>>2743346
https://iterate.common-lisp.dev/doc/Writing-Drivers.html#Writing-Drivers
Например, так
Аноним 25/06/23 Вск 12:06:29 #274 №2743921 
>>2743833
Проблема в том, что расширения для iterate не дружат с вложенными и последовательными циклами, а только с параллельными. Из-за этого если хотим писать что-то вроде (for pos in-area rect) и (for pos in-bounds rect), то в случае обхода площади код драйвера получается довольно запутанным, но все-таки читаемым. А вот для обхода периметра придется написать адовый говнокод с командами next, да еще разбавленный alexandria:with-gensyms и запятыми.
Тем временем на Python соответствующие генераторы напишет любой дебиловатый джун.
Аноним 25/06/23 Вск 13:58:22 #275 №2743993 
>>2743743
>ООП это хуй пойми что, ни то это синтаксический сахар чтобы автокомплит работал, ни то это как то связано с рантайм диспатчем, которого при этом нет в Окамле.
То самое, смоллтоковское ООП, пошло от actor model и, в свою очередь, повлияло на неё. И которая параллельно стала идейной основой для Scheme и Erlang. Мейнстримное ООП можно считать результатом искажения actor model, вызванного тем, что разработчики языков знали про Smalltalk, но не хотели или не умели правильно реализовать его ООП.
https://en.wikipedia.org/wiki/Actor_model
Аноним 25/06/23 Вск 14:12:59 #276 №2744019 
>>2743346
(for-each ... (rect->list r :perimeter))
Аноним 25/06/23 Вск 14:36:36 #277 №2744053 
>>2744019
Тогда в куче будет выделен список всех клеток периметра, что означает лишнюю работу для сборщика мусора. Как учебный или игрушечный пример сойдет, как серьёзный код - нет.
Аноним 25/06/23 Вск 15:24:20 #278 №2744108 
>>2743346
я не особо понял в чем проблема на ставлю на то что ты долбоеб
Аноним 25/06/23 Вск 16:22:44 #279 №2744155 
>>2744053
> учебный или игрушечный
На лиспе иного не пишут :)
Скомпилировать достаточно продвинутым компилятором - и лишнего консинга не будет. А если и будет, он не составляет проблемы с современным сборщиком.
Список клеток, кстати, можно реверсировать, фильтровать etc стандартными средствами лиспа.
Аноним 25/06/23 Вск 17:11:11 #280 №2744194 
>>2744053
>Как учебный или игрушечный пример сойдет, как серьёзный код - нет.
Имаджинируем ебала лисперов, когда чтобы решить то, что в Си решается обычным циклом, в лиспе приходится выворачивать себе анус на изнанку.
Аноним 25/06/23 Вск 21:37:12 #281 №2744349 
>>2744053
Вариант от сеньора в студию.
>>2743346
Это троллинг тупостью из-за лени гуглить?
https://lispcookbook.github.io/cl-cookbook/iteration.html
Аноним 26/06/23 Пнд 16:26:13 #282 №2744984 
>>2744194
Ты и на лиспе можешь написать обычный цикл. Даже с goto, если совсем прожженный олдскульщик
Аноним 26/06/23 Пнд 16:27:45 #283 №2744985 
Кстати, раз уж такая тема зашла, спалю годноту
https://github.com/shamazmazum/stateless-iterators/
Аноним 27/06/23 Втр 13:28:20 #284 №2745942 
image.png
Вы ебанутые? Как вы читаете код с таким форматированием? Или это нужно мозг специально деформировать, чтобы "на ходу" код понимать?
Аноним 27/06/23 Втр 13:35:31 #285 №2745947 
>>2745942
Надо лгбт-скобочки.
Аноним 27/06/23 Втр 13:49:08 #286 №2745962 
>>2743346
>В Python это можно сделать двумя генераторами
В любом из лиспов тоже.

В кложе, т.к. это функциональный язык, используется абстракция под названием seq - это (объясняю на питоньем) иммутабельные генераторы. Если ленивость ненужна, то можно вместо этого инкапсулировать преобразования в трансдьюсер.

>for pos in rect_bounds(rect)
В кложе как правило идиоматичнее синтаксически использовать не цикл, а цепочку композиций преобразований с функциями высшего порядка.

>Как лиспер решит эту задачу?
Какую задачу-то? Ты половину поста описывал фигню про фигуры и площади, а в конце спросил, как в лишпах делать итерацию.
Аноним 27/06/23 Втр 13:55:10 #287 №2745973 
>>2743403
>Сам я не разработчик
>начал изучать Clojure
Зачем? Ты ебанутый? Это язык для синьоров-помидоров с большим опытом индустриальной разработки и знанием жмв\жс платформы.

>Разрекламировали мне кложуру как очень простой язык
Из-за того, что ты не разработчик, ты не понял, что концептуальная простота (ортогональность языковых фич) не имеет никакой связи с легкостью изучения для вкатуна. Для вкатунов специально придумали Схемку. ну и https://www.maria.cloud/ но это для школоло

>Потому что под каждый пук посложнее у нас есть другая функция
Не понял, в чем бугурт. Тебе надо запомнить пару десятков функций обработки коллекций из стандартной библиотеки. Это общий словарь для всех функциональных языков (на самом деле так как функциональщина уже давно мейнстрим - это просто общий словарь базовых паттернов обработки коллекций уже для всей индустрии). Примерно 80% типовых задач обработки коллекций решаются через их комбинацию. Для остальных 20% просто пишешь свёртку\рекурсию\цикл.

>я именно про то, что куча почти одинаковых механизмов, которые делают почти то же самое, но чуть более развёрнуто/вложенно и т.д.
Без понятия о чем ты. Конкретика какая-то может будет? Пример приведи, что тебе непонятно, пока в ответ можно только пожать плечами.

>Я конечного много не знаю и не разбираюсь в программировании
this
Аноним 27/06/23 Втр 13:56:21 #288 №2745974 
>>2743993
Крестовое ооп идет от симулы.
Аноним 27/06/23 Втр 13:59:22 #289 №2745980 
>>2745942
Для кложи это не вполне идиоматичный код, хорошим тоном считается не более двух-трех уровней вложенности. хотя хикка пишет и так как на пике и ниче

Но не вижу никаких проблем с чтением пикрил кода - обычное форматирование, такое же как в си-подобных языках, любой разработчик с айкью выше 80 может это прочитать. В чем конкретно бугурт-то?
Аноним 27/06/23 Втр 22:04:17 #290 №2746615 
изображение.png
>>2743921
>то в случае обхода площади код драйвера получается довольно запутанным
Один простой for. Не путанее вложенных циклов
>А вот для обхода периметра придется написать адовый говнокод с командами next, да еще разбавленный alexandria:with-gensyms и запятыми.
Кода будет чуть больше, чем в первом случае, но соизмеримо с 4мя циклами.

Другой вопрос - действительно ли для твоей задачи нужен навороченный iterate? Большинство лисперов в таких случае пишут простой do-подобный макрос.
Аноним 27/06/23 Втр 22:07:09 #291 №2746617 
>>2746615
>3
Бля, константу забыл. Ну ты понел, что имелось в виду.
Аноним 14/07/23 Птн 00:15:22 #292 №2765187 
image.png
ебать, зашёл в какой-то гайд по кложуре, а там в первом же посте про пидоров, коксакеров, вомен ин тех и прочая шалупонь... и это в 2013 году-то
Аноним 15/07/23 Суб 12:09:32 #293 №2766840 
>>2765187
Лягушку варят медленно. Обычно люди интеллектуальных профессий имеют самые слабые скрепы. То есть? Можно начинать с них.
Аноним 16/07/23 Вск 19:58:45 #294 №2769089 
image.png
>>2766840
Бля, автор реально какой-то припизднутый. Фурифаг, возможно зоофил(ну ясен хуй), извращенец, эксгибиционист(иначе бы вся эта хуйня не покидала его спальни), бдсмщик.
Судя по этому, гайд наверно реально хороший.
Аноним 17/07/23 Пнд 20:11:27 #295 №2770452 
>>2769089
>Бля, автор реально какой-то припизднутый.
>Судя по этому, гайд наверно реально хороший.
Ты или крестик сними, или трусы надень.
Аноним 18/07/23 Втр 07:58:33 #296 №2770829 
>>2769089
Можно ли у таких как-то отбирать права на репозитории? Вдруг в один день окончательно поедет и снесёт всё? Помните, что произошло с оригинальным лурком? Его тоже держал какой-то небинарный транспидор.
Аноним 18/07/23 Втр 15:42:17 #297 №2771599 
>>2681837 (OP)
Макрос стрелочки из Clojure -> это попытка имитировать превосходящий язык программирования, а конкретно Forth, но приблизиться к нему не получается, убогие скобки все засоряют и мешают, сравните:

Lisp: (-> a (b) (c) (d))

Forth: a b c d
Аноним 18/07/23 Втр 21:54:37 #298 №2772138 
>>2771599
> имитировать превосходящий язык программирования, а конкретно Forth
Напиши функцию, считающую корни квадратного уравнения на форте, например.
Аноним 19/07/23 Срд 03:25:27 #299 №2772376 
cos.jpg
>>2772138
Зачем? Без понятия как их считать, думаю 3-4 строки займет, на тебе лучше просчет косинуса и синуса на ColorForth.
Аноним 19/07/23 Срд 12:13:36 #300 №2772842 
>>2772376
Вот это вот превосходящий язык? Пиздец.

А где тред твоего превосходящего языка? А то из триады CL, Scheme, Forth (которых я хотел выучить в универе), я выучил только полтора. Подсказка: форта среди них нет.
Аноним 19/07/23 Срд 12:59:14 #301 №2772933 
>>2772376
>Зачем?
Чтобы увидеть "превосходящий язык" в действии при трех-четырех значениях на стеке.
>на тебе лучше
О том и речь - выглядит как нечитаемая каша. Write only язык.
Аноним 19/07/23 Срд 13:39:22 #302 №2773030 
>>2772933
>Write only язык.
Ну, он щас начнёт оправдываться, что это только для тебя и вообще это acquired taste.
Аноним 19/07/23 Срд 14:20:43 #303 №2773126 
>>2773030
>что это только для тебя
Самое смешное, что я-то как раз понимаю, что там происходит, потому что эмулятор GA144 тыкал в свое время, а этот дурачок - наверняка нет.
Аноним 19/07/23 Срд 18:29:20 #304 №2773614 
2023-07-1918-27.png
>>2772933
>Чтобы увидеть "превосходящий язык" в действии при трех-четырех значениях на стеке.
Кажется я тебя понял, ты хочешь показать неудобность стека. 3-4 это как раз рекомендуемый максимум, с большим количеством значений на стеке в colorforth вообще никак нельзя работать, там pick нету. Но стек превосходен на самом деле.

Я ограничиваюсь тремя значениями, в моем форте нету слов которые могут смотреть за 3 элемент, то есть максимум это rot/-rot.

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

1. Сделать код более простым, например код моего ассемблера x86 не хранит стеке никогда более 3 значений, а так же в его коде нету циклов вообще включая рекурсии, данные должны течь по коду, нужно организовывать его так что бы меньше перемещать значения на стеке просто так

2. Использовать переменные, в Forth локальных переменных нету, поэтому нужно использовать глобальные, замечу что проблем с многопоточностью не будет, их можно помещать в TLS

3. Это Forth, тут можно что угодно, см.скриншот, реализация лисплайк записи в одну строку
Аноним 19/07/23 Срд 18:41:35 #305 №2773639 
>>2772842
>Вот это вот превосходящий язык? Пиздец.
А что смутило? В ColorForth если что цвет имеет значений, например если выделить токен красным, то он станет определением (словом, функцией, процедурой, defun итд), с этим связанно очень интересное решение, все токены хранятся в одном машинном слове, пару бит для аттрибута цвета, остальные под сам текст, текст хранится сжатый, иначе бы много в машинное слово не влезло, значения переменных при этом не являются текстовым токеном, а являются отображением реального значения, таким образом если в фоне запущен процесс выполнения, в редакторе можно видеть как изменяется значение, возможно возникнет вопрос, а в файле кода значение тоже изменяется? Но файловой системы у ColorForth нету, пользователь просто оперирует блоками памяти, которые можно сбрасывать на диск.

Вернемся к читаемости, код довольно простой, не содержит большого количества значений на стеке или их перестановки, код так же очень компактен, каким бы он не был, прочесть его довольно просто, особенно с описанием https://mschuldt.github.io/www.colorforth.com/cos.htm
Аноним 19/07/23 Срд 19:03:10 #306 №2773686 
>>2773639
Добавлю еще. ColorForth на картинке, запущен на 144 ядерном 18 битном процессоре, всего 0x1f опкодов, и 24 максимальная глубина стека. Ядра расположены сеткой, они между собой все не связаны, и вообще они все асинхронные и у них нету тактовой частоты. Но соседние ядра могут посылать друг другу сигналы или читать их, поэтому программируя на этом процессоре есть возможность вручную задавать на карте специфичную программу для определенного ядра, можно сделать его просто связующим, можно выбрать для него программу которая будет что то делать, памяти в них не особо много, 64 машинных слов на ядро. Но этого достаточно для обработки изображений, декодирования видео, запуска ColorForth что бы разрабатывать программы под данный тип процессора с него самого.
Аноним 19/07/23 Срд 19:09:10 #307 №2773700 
>>2773614
>реализация лисплайк записи в одну строку
Кажется мне, что ты пиздишь. Сложи больше двух значений за одну операцию.

>1. Сделать код более простым, например код моего ассемблера x86 не хранит стеке никогда более 3 значений, а так же в его коде нету циклов вообще включая рекурсии, данные должны течь по коду, нужно организовывать его так что бы меньше перемещать значения на стеке просто так
>2. Использовать переменные, в Forth локальных переменных нету, поэтому нужно использовать глобальные, замечу что проблем с многопоточностью не будет, их можно помещать в TLS
Не язык хуёвый - вы хуёвые.
Все, кому нужно больше трёх отступов - не программисты.

Кажется я тебя понял. Ты хочешь сбросить всё сложность на программиста снова, как делали тысячи людей до тебя. Язык, который уменьшает сложность это как раз рекомендуемый дефолт, с ассемблероподобными языками вообще нельзя работать за пределами встройки.
Аноним 19/07/23 Срд 19:10:18 #308 №2773704 
>>2773686
Я играл в TIS-100. Хорошо как головоломка. Уёбищно как рабочая среда.
Аноним 19/07/23 Срд 19:32:14 #309 №2773738 
>>2773614
> реализация лисплайк записи в одну строку
> Велосипед, который едет только вперед и иногда взрывается.
Аноним 19/07/23 Срд 19:54:33 #310 №2773777 
2023-07-1919-48.png
>>2773704
>Кажется мне, что ты пиздишь. Сложи больше двух значений за одну операцию.
О, кажется получается кого то удивлять. Ты имеешь виду принятия функцией + списка чисел? Я уверен есть лиспы которые принимают лишь два аргумента всегда, но так можно сделать, результат на скриншоте, хотя мне кажется это лишним усложнением.

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

>Кажется я тебя понял. Ты хочешь сбросить всё сложность на программиста
Вовсе не так, я наоборот против сложности, все эти советы про то что бы сохранять простоту.

>Язык, который уменьшает сложность это как раз рекомендуемый дефолт
Не знаю про рекомендации, но языки которые уменьшают сложность мне нравятся, Forth мне кажется уменьшает сложность очень сильно, нету перегруженного наследия и большого рантайма, и сам язык способствует ограничению роста сложности, не нужно как в CL определять какие то пакеты, пользователей, иметь странный стандарт и большую ВМ.
Аноним 19/07/23 Срд 19:57:58 #311 №2773781 
>>2773704
Не играл в эту игру. А ColorForth довольно удобен, это даже не среда а ОС.

>>2773738
Этот велосипед не взрывается, но про "едет только вперед" хорошее замечание! Писать код для решения конкретной задачи, и не думать о том что бы он был общим, это то что помогает снизить сложность, и уменьшить количество кода.
Аноним 19/07/23 Срд 20:00:08 #312 №2773785 
Уноси свой форт. Зачем крутить стек, если в нормальном процессоре е регистры прямой адресации? А клопилятор позволяет давать им символические имена.
Аноним 19/07/23 Срд 20:04:15 #313 №2773793 
>>2773785
Стиль форта это писать много маленьких слов и соединять их, не стоит писать слова которые занимают больше одной линии, лучше что бы они включали в себя 3-6 слов и на этом все.

Эти слова должны передавать друг другу значения, аргументы, вот тут стеки становятся очень полезными, о, и да, СТЕКИ во множественном числе. Удобно когда есть отдельный стек для строк, векторов. Так вот, через регистры тоже можно передавать аргументы, но как организовать рекурсию? Придется сохранять регистры в стек, или еще куда то. Придется назначать регистры. Придется заводить локальные переменные.

Так что стек это очень удобно, самое простое и элегантное решение. Регистры сильно переоценены.
Аноним 19/07/23 Срд 20:04:21 #314 №2773794 
>>2773777
>Я уверен есть лиспы которые принимают лишь два аргумента всегда
Это покалеченные лиспы для встройки значит. Не говори о том, в чём не шаришь. S-expr это база. И они умеют в какое угодно количество аргументов. Я пытался сдизайнить конкатенативный гомоиконичный язык один, чтобы править всеми. И за пределами комбинаторов это было анриал. Та же unlambda в пример. Знаю, что вот эта ебола с фиксированным количеством аргументов - это стойкое такое свойство стекозависимых языков. Не языков со скобочками, типа того же Om.

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

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

>Forth мне кажется уменьшает сложность очень сильно
См. абзац выше. Если ты умеешь танцевать с гирями на яйцах, это ещё не значит, что гири облегчают танец для всех остальных.

>>2773781
>Писать код для решения конкретной задачи, и не думать о том что бы он был общим
Г-споди, какая мерзость. Уноси.
Аноним 19/07/23 Срд 20:12:50 #315 №2773797 
>>2773794
>Это покалеченные лиспы для встройки значит. Не говори о том, в чём не шаришь.
Какая разница для чего они? Я решил взять такое поведение.

>Я пытался сдизайнить конкатенативный гомоиконичный язык
Форт это не про стек, конечно они тесно связанны, но стек в форте есть только потому, что это самое элегантное решение, смотри комментарий выше.

>И превратить ТЗ в код тем сложнее, чем проще язык ты используешь.
Не думаю что это так, язык может быть сложным как PL/1 или COBOL, то есть перегруженным ненужным функционалом который не поможет разрабатывать программу.

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

>Я говорю о сложности кодирования решений проблем. И у форта она невъебенно выше, чем у лиспа.
У Forth есть стек, REPL, простой и удобный синтаксис который можно расширить, не могу согласится с таким утверждением. Хотя думаю что на лиспе можно не сильно длиннее реализовывать программы которые можно реализовывать на форте, в конце концов можно написать свои похожии функции, но форт это минимальная основа, я не вижу причин выбирать перегруженный вариант, лучше упростить оригинальную проблему.
Аноним 19/07/23 Срд 20:15:30 #316 №2773800 
>>2773794
>Знаю, что вот эта ебола с фиксированным количеством аргументов - это стойкое такое свойство стекозависимых языков.
Форт никак не контролирует эффект слова на стек, можно принимать любое количество аргументов, и возвращать так же любое количество значений. Не понял про какое фиксированное количество ты говоришь.
Аноним 19/07/23 Срд 20:17:29 #317 №2773803 
>>2773793
> Стиль форта это писать много маленьких слов и соединять их, не стоит писать слова которые занимают больше одной линии, лучше что бы они включали в себя 3-6 слов и на этом все.
Стилистически это неплохо, но - прощай производительность.
> Эти слова должны передавать друг другу значения, аргументы, вот тут стеки становятся очень полезными, о, и да, СТЕКИ во множественном числе.
В ЯВУ стек(и) прячется компилятором. Он есть, но не беспокоит.
> Удобно когда есть отдельный стек для строк, векторов.
Костыли для языка, где нет кучи.
> Так вот, через регистры тоже можно передавать аргументы, но как организовать рекурсию?
Регистры - автоматический кэш для самых важных переменных. Все трудности их использования ложатся на компилятор. Человек видит имена. Это удобно. Это работает быстро.
Аноним 19/07/23 Срд 20:19:13 #318 №2773804 
>>2773800
Напиши функцию для вариабельного количества аргументов без маркера остановки.

Вот про это. Я заметил это ещё когда обратную польскую нотацию в унике учил. Функции без маркера на стеке всегда имеют фиксированное количество аргументов. Это прям фундаментальное свойство же.

С этим могут быть проблемы, если я хочу, чтобы все функции могли принимать неограниченное количество аргументов. Тогда на каждый колл нужен маркер остановки на стеке. Комбинаторы это обходят довольно изящно, но за это расплачиваются ещё большей простотой. А значит ещё большим гемором программиста.
Аноним 19/07/23 Срд 20:25:21 #319 №2773807 
>>2773804
Странный доёб.
Аноним 19/07/23 Срд 20:28:37 #320 №2773808 
>>2773807
Посмотри по ветке откуда доёб идёт.
Плюс держи в голове, что я пытался взять какую-нибудь простую формулу (потому что именно на арифметике тестил насколько нагромождёнными будут программы) и проверить разные типы языков, как на них это будет реализовано.

Доёб специфичный, потому что я про специфичное свойство лиспа говорил, которое он имплементнуть не смог, и ещё и огрызается потом.
>Какая разница для чего они? Я решил взять такое поведение.
Аноним 19/07/23 Срд 20:29:10 #321 №2773809 
>>2773803
>Стилистически это неплохо, но - прощай производительность.
Оптимизации это не сложно, мой Forth написанный на ассемблере не занимает и 10 кб, но там есть инлайнинг маленьких слов, оптимизация хвостовой рекурсии, и оптимизация комбинации заданных слов.

>В ЯВУ стек(и) прячется компилятором. Он есть, но не беспокоит.
Не понимаю зачем его прятать.

>Костыли для языка, где нет кучи.
Кучу можно реализовать самому, а Forth который запускается на ПК почти всегда имеет доступ к системному malloc(). Куча это неудобно, нужно где то хранить данные для освобождения, нужно иметь указатели, возможно придется писать сборщик мусора, не лучше ли использовать стек? Элементы на кастомном стеке могут выделятся с помощью кучи, drop для такого стека сам освободит их. В С++ можно сказать так и сделали, вышли за пределы видимости переменной, вызвался деструктор, а можно просто использовать стеки.

>Все трудности их использования ложатся на компилятор.
А вся сложность компилятора и его инструментов уже на программиста и пользователей, мне кажется нету смысла делать сложные компиляторы, которые явно нельзя будет уместить в экран кода 80*25, когда можно взять стеки.

Но вообще, если не брать мое мнение, то некоторые реализации форта компилируются в регистры, мой форт делает более простую оптимизацию, верхнее значение стека это всегда регистр RAX. Если мне нужно увеличить на 1 первое значение стека, это будешь просто RAX INCQ
Аноним 19/07/23 Срд 20:33:28 #322 №2773813 
>>2773804
>Напиши функцию для вариабельного количества аргументов без маркера остановки.
Это довольно просто, я всегда могу получить указатель стека, а через него посчитать сколько аргументов пришло.

>С этим могут быть проблемы, если я хочу, чтобы все функции могли принимать неограниченное количество аргументов.
Они и так могут принимать сколько угодно аргументов в Forth, можно хоть весь стек выгрести, или просто его посмотреть, что бы вывести например.
Аноним 19/07/23 Срд 20:35:08 #323 №2773815 
>>2773808
>Доёб специфичный, потому что я про специфичное свойство лиспа говорил, которое он имплементнуть не смог
Любые функции в скриншоте #2 могут принимать неограниченное количество аргументов, которые задаются так же как в лиспе. Так что реализовал.
Аноним 19/07/23 Срд 20:35:36 #324 №2773816 
>>2773813
>а через него посчитать сколько аргументов пришло
Вот это я не понял. Что значит "пришло"? Как ты отделишь аргументы твоей функции от остального стека?
Аноним 19/07/23 Срд 20:38:02 #325 №2773817 
>>2773816
В форте нету аргументов, их невозможно отделить от стека. Тут либо ты чего то не понимаешь, либо я. Покажи простой пример на лиспе с твоим переменным количество аргументов, а я реализую это на форте.
Аноним 19/07/23 Срд 20:43:20 #326 №2773822 
>>2773817
(- 2 3 (+ 4 5 6 7))
Вроде понятно.

На стеке окажется
7 6 5 4 для + и 22 3 2 для -

А если это
DoSomething + -
И после DoSomething на стеке лежит
3 2 7 6 5 4
?

Что делать? Класть в стек
; 7 6 5 4 ; 3 2
?
Аноним 19/07/23 Срд 20:43:51 #327 №2773823 
>>2773822
>; 7 6 5 4 ; 3 2
; 3 2 ; 7 6 5 4
естественно
фикс
Аноним 19/07/23 Срд 21:01:10 #328 №2773838 
>>2773777
>О, кажется получается кого то удивлять. Ты имеешь виду принятия функцией + списка чисел? Я уверен есть лиспы которые принимают лишь два аргумента всегда, но так можно сделать, результат на скриншоте, хотя мне кажется это лишним усложнением.
Вот это не заметил. Ожидаемый результат, правда, из-за закрывающей скобочки. Она и есть маркер остановки. Но тут уже не однострочник.

Когда я это осознал, то понял, что можно, в принципе, и лиспоподобно на форте писать. Но зачем, когда уже есть лисп?
Аноним 19/07/23 Срд 22:08:38 #329 №2773887 
>>2773838
Я так понимаю то что выше не нужно демонстрировать? Оно в принципе и так работает.

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

>Но тут уже не однострочник.
Да, двустрочник.

>можно, в принципе, и лиспоподобно на форте писать. Но зачем, когда уже есть лисп?
Незачем действительно, у форта свой подход.

>
Аноним 19/07/23 Срд 22:12:59 #330 №2773890 
>>2773809
> мой Forth написанный на ассемблере не занимает и 10 кб
Какое значение это имеет, ведь писал ты для х86.
> Куча это неудобно, нужно где то хранить данные для освобождения, нужно иметь указатели, возможно придется писать сборщик мусора, не лучше ли использовать стек?
Ясно-понятно
> которые явно нельзя будет уместить в экран кода 80*25
Зачем?
Аноним 19/07/23 Срд 22:17:00 #331 №2773897 
>>2773890
>Какое значение это имеет, ведь писал ты для х86.
>>которые явно нельзя будет уместить в экран кода 80*25
>Зачем?
Чем меньше кода тем проще понять проект, чем меньше кода тем проще что то переделать, возможно полностью, проще поддерживать, проще переносить на новую платформу, в маленьком коде меньше багов, в маленьком коде меньше сложности, а сложность растет вовсе не линейно.

>Ясно-понятно
Я вижу простой и удобный стек, и альтернативы для которых придется написать еще ~10 кб.
Аноним 19/07/23 Срд 23:51:36 #332 №2774046 
>>2773897
Ты хоть что-то написал на своем форте кроме его самого? Это прямо типичный путь форт-энтузиаста: написать свой форт, а потом забросить, не написав на нем ничего толком.
Аноним 20/07/23 Чтв 10:28:53 #333 №2774371 
>>2774046
Ну мне кажется это не так уж и презрительно, у энтузиаста будет удобный REPL для проверки разных идей, я постоянно его с этой целью запускаю, что то посчитать, попробовать какую то структуру, посмотреть работу какой то инструкции x86.

Из готового я например сделал блог. В своем форте я не делал возможности вызова С библиотек, потому что это подразумевает связь с libc, у меня есть одна функция syscall которая принимает два аргумента, длину аргументов и номер прерывания, и я ей делаю все. Поэтому в блоге я реализовал БД и сервер, шаблоны, итд, все это заняло 500 строк, сейчас я думаю что это слишком много, и что блог это не то что я хочу, попробую сделать аналог твиттера но с упором на контент, его наверное уже опубликую со своим контентом. А в разработке проектов несколько.
Аноним 21/07/23 Птн 22:20:50 #334 №2776921 
Интересно, почему никто не сделал других лиспов с синтаксисом как в TCL? Ведь буквально за два приема исчезают пугающие неофитов скобки, и синтаксис на первый взгляд почти не отличается от js, оставаясь при этом лиспообразным.
Аноним 22/07/23 Суб 01:43:37 #335 №2777083 
image.png
Вы думали, что считать протеины - это мем? А вот и нет!
Аноним 22/07/23 Суб 14:11:52 #336 №2777509 
>>2777083
Пидарас тот, кто заголовок видео делал. Это бэйт.

Я думал, что будет "Comparing proteing structures with Clojure", а это было "Comparing protein structures among themselves with use of Clojure programming language".

Я хочу знать, как программы похожи на белки, а не как вы своей заумью занимаетесь на другой зауми.
Аноним 23/07/23 Вск 14:30:53 #337 №2778476 
>>2776921
заебали дурачки со своим ноем про скобки
Аноним 24/07/23 Пнд 11:24:16 #338 №2779280 
>>2776921
Ты понимаешь, что скоби это то, что делает лисп метаязыком, что так сильно отличает его от остальных языков?
Аноним 06/09/23 Срд 20:16:27 #339 №2831547 
Анон-кложурист, что ты думаешь про graalvm?
Я лично под большим впечатлением от того, что можно писать на любом языке, а это все равно будет выполняться на джава машине. Казалось бы, какие здесь плюсы? А такие, что можно из любого языка импортить либы и использовать в любом другом языке на JVM. Так приводили пример как на питоне ставили брейкпоинты в браузере.
Аноним 12/09/23 Втр 16:21:50 #340 №2838740 
>>2831547
Граальвм это как раз про то, что можно писать на любом языке для жвм, а компилироваться оно будет в нативный код. Из минусов - бинарники получаются жирные, это тебе не ГОвняшка всё равно. Производительность также ниже, чем на жвм. В принципе для фанкшн-эз-э-сёрвис пойдёт, но всё равно чуток костыльно получается, имхо.
Аноним 12/09/23 Втр 16:23:16 #341 №2838743 
>>2776921
Потому что скобки лучше и удобнее. Алсо сделали же.
Аноним 12/09/23 Втр 16:25:40 #342 №2838746 
>>2716111
Удачи перекомпилировать что-то сложнее лабы в твоём ПТУ на каждое сохранение. Прикольно наверное ждать джва часа после каждого изменения файла.
Аноним 12/09/23 Втр 18:04:13 #343 №2838871 
>>2838746
Для этого придумали объектные файлы и makefile, но в ПТУ этому не учат, поэтому откуда тебе знать.
Аноним 12/09/23 Втр 19:12:27 #344 №2838963 
>>2838871
Я и написал джва часа, а не восемь часов.
Аноним 19/09/23 Втр 12:07:56 #345 №2847700 
Хочу CL и 64 битную дату. Можно даже платформозависимо (линь, SBCL)

Много хочу?
Аноним 19/09/23 Втр 12:20:59 #346 №2847716 
>>2847700
Ладно, поебать. local-time есть, и хуй с ним.

Если внутри либы тоже 32х битный timestamp, то узнаю со временем. А если они пофиксят 2к38, то и не узнаю. Главное дожить.
Аноним 19/09/23 Втр 12:48:36 #347 №2847736 
А, стоп, я дебил. Ну, https://en.wikipedia.org/wiki/Confirmation_bias во все поля.

* (encode-universal-time 0 0 0 19 9 3000)
34735194000
Аноним 21/09/23 Чтв 19:43:53 #348 №2850738 
>>2769089
Ни в фурри, ни в зоосексуальности ничего плохого или странного нет. В программирование лично я как зоо вкатился чтобы на удаленке трахаться с хаски, и цели добился. В айти идут не ради больших зп, а чтобы уйти нахуй от родственничков чтоб не пытались обесценить твои мечты и интересы.
Аноним 21/09/23 Чтв 20:05:17 #349 №2850767 
>>2850738
Чёто листал нулевую и увидел твой пост, посмотрел на шапку НУ КОНЕЧНО ЖЕ ЭТО ЛИСП-ТРЕД...КАКОЙ ЕЩЁ...
Аноним 21/09/23 Чтв 20:55:36 #350 №2850822 
>>2850767
Вообще-то лисперы наоборот гомофобные орки со злыми рожами, ты с растом и хаскелем перепутал же
Аноним 03/10/23 Втр 21:32:50 #351 №2865151 
Короче, пописываю на кложе. Пока все нравится, но хочется посидеть на реальном большом проекте, чтобы понять, как оно.
В Зеленом банке есть реальный сервис на кложе. Можно попробовать сунуться туда.

Еще, хочу сказать. Сейчас работаю над проектом у которого довольно большой техдолг. Написан он на питоне. И написан он преимущественно с помощью функций без классов с перегрузкой методов через 10 колен вверх. И код читается очень просто! Не смотря на то, что это дикий говнокод с функциями по 1к строк, он все равно читается просто.

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

Короче, начал склоняться к тому, что наивное решение задачи зачастую лучшее, т.к. читается проще. Нахуя мне делать самописный итератор из класса, когда можно запустить while/for?
Аноним 04/10/23 Срд 10:27:07 #352 №2865395 
>>2865151
Есть такое, все эти DRY и прочие мантры в реальном коде скорее вредят, чем помогают. Но конечно чтобы понимать, когда надо копипастить, а когда абстракцию городить, всё равно сперва нужно обмазаться всеми этими мантрами.
Аноним 19/10/23 Чтв 23:41:12 #353 №2885999 
https://doc.rust-lang.org/stable/unstable-book/language-features/generators.html
https://research.swtch.com/coro

Нахуя?! Нахуя они это тащат? Наихудшая же абстракция по эргономике. Вот нахуя?

заодно бамп треду
Аноним 20/10/23 Птн 04:54:08 #354 №2886098 
>>2865151
>функций без классов с перегрузкой методов через 10 колен вверх. И код читается очень просто!
> прилизанный код прошедший через дохуя ревьюверов. И как же у меня горела жопа с кучей оберток, неоднозначной перегрузки методов, многоступенчатого наследовани
> наивное решение задачи зачастую лучшее,
Ещё один прозрел, что паттерны и бездумное следование непонятно кем придуманным правилам не является хорошим стилем и не делает код более поддерживаемым, поздравляю.
Аноним 21/10/23 Суб 14:20:17 #355 №2888621 
Screenshot20231021131451.png
>>2681837 (OP)
Ну что вы, бэтманы?
Аноним 21/10/23 Суб 17:26:20 #356 №2888944 
>>2888621
>Ну что вы, бэтманы?
Нихуя ты вспомнил
Аноним 03/11/23 Птн 19:03:41 #357 №2905473 
Я так понимаю, что без емакса нечего делать в этих ваших лиспах?
мимовимоблядь
Аноним 04/11/23 Суб 05:30:58 #358 №2905836 
>>2905473
Отчего же, вскод/идея/сублайм/вим отличном работают с кложей.
Аноним 05/11/23 Вск 14:48:52 #359 №2907482 
>>2905836
Но емакс всё равно лучше
Аноним 06/11/23 Пнд 05:27:23 #360 №2908528 
>>2907482
Это да.
Аноним 06/11/23 Пнд 16:18:34 #361 №2909206 
>>2905473
Для емакса же есть эмуляция вима. Так-то он сам не сложный. По большому счету кроме навигации и M-x ничего знать и не нужно.
Аноним 07/11/23 Втр 23:48:21 #362 №2911500 
>>2909206
>Для емакса же есть эмуляция вима.
Мне ОКР не позволит. Я ЧУВСТВУЮ, что evil-mode смотрится неорганично в экосистеме емакса, словно сбоку скотчем примотали. Поэтому придется мапить ctrl на caps и ломать пальцы.
Аноним 09/11/23 Чтв 01:37:54 #363 №2913451 
>>2911500
>словно сбоку скотчем примотали
У меня такое ощущение вызывает каждая вторая хуйня в линукс/айти сообществах.
Например, мода все выводить через консоль, файловый менеджер, текстовый редактор, нахуй дебаггер. А по итогу все глючит и пердит. А ты уже привыкаешь, потому что ну не мышкой же файлы перетаскивать и по фолдерам кликать.
(Нео-)вимом я как основным редактором я не пользуюсь, потому что через SSH он работает в 5 фпс, если сервер не в локальной сети. Да и половину функционала надо накатывать руками. Наверняка ssh фиксится каким то расширением, но нахуя, когда вскод практически из коробки это поддерживает. Кто-то скажет, фу, электрон, а я скажу, что гипертекст как раз является наиболее логичным выбором как основа для IDE, потому что код со всякими референсами, подсказками автокомплита и т.д. это самый ни на что гипертекст и есть. Гигабайтом памяти ради удобства я пожертвовать готов. Еще можно юзать среды от IKEA IDEA, там нормальная поддержка SSH есть и большая часть функций работает из коробки.
А имакс для меня выглядит архаикой дикой, у вима хотя бы свежая итерация в виде неовима есть.
>>2905473
У кложи есть интерактивная среда Clerk, сам не юзал, но выглядит интересно, не хуже Pluto.jl и Jupyter. Поиграться самое то. А чтобы не поиграться что-то кроме кложи брать смысла нет, вакансии на не-кложу-лисп это легенда на уровне ваканский на хаскелль, насколько мне известно.
Аноним 09/11/23 Чтв 11:16:12 #364 №2913768 
>>2913451
На хаскелль-то вакансии как раз есть/бывают, в том числе в России.
Аноним 09/11/23 Чтв 13:09:37 #365 №2913928 
>>2913451
>А имакс для меня выглядит архаикой дикой
У него есть киллер фичи для редактирования текста, если привыкнешь, трудно уйти. История копи-пейста, например, редактирование текста прямоугольниками. Ну и макросы - это просто имба, особенно, когда они со всем окружением интегрированы. То есть если, например, есть перечисление в коде вида A = 1, B = 2 .. и надо куда-то в середину добавить элемент и перенумеровать следующие, то можно просто копировать число во встроенный калькулятор, делать там плюс один и вставлять обратно. Запускаешь макро - хуяк, список перенумерован. Или аналогично список констант каких-нибудь в шестнадцатеричный формат перевести. Встроенный файловый менеджер опять же, можно тупо список файлов скопировать, обработать макросом, в кавычки там обернуть, и в код вставить.
Аноним 09/11/23 Чтв 13:37:48 #366 №2914014 
>>2913451
Так "архаичный" имакс всё ещё на порядок лучше как экстенсибл среда исполнения, чем неовим. Вим, как ни крути, это просто текстовый редактор с хуевыми кейбиндингами.
Аноним 15/11/23 Срд 15:57:08 #367 №2923024 
Потыкал я ваш емакс палочкой и могу сказать, что не совсем понимаю речей про его ультрасакральность. Да, некоторые моменты и мелочи сделаны удобно, особенно интеграция с repl-ом, но если закрыть глаза на эти мелочи, то тот же vslime для вима мало чем будет отличаться.
Имхо, емакс - этот попытка обойти ограничения по железу своего времени.
Аноним 15/11/23 Срд 16:22:19 #368 №2923076 
>>2923024
Забей, это просто секстанство очередное. Не пытайся понять. Захочешь вкатиться, вкатишься, тоже будешь при каждом удачном случае советовать и зазывать. В принципе даже на ранних этапах можно экстрполироватьи п онятьв се плюсы и фишки, которые можно получить, если освоишь, но лично мне было впадлу после 20 лет за компом переучиваться на хоткеи емакса/нео-вима. Я просто не готов несколько мсяц притираться ради экономии в 200мс. Ну вот допустим ты станешь эффективным и быстрым, но нужно ли оно тебе? Ты в любюолм случае больше думаешь/читаешь/смотришь, чем печатаешь и скорость, которую адёт тебе емакс просто теряется во всё олстальном. Если кто-то считает иначе, то рад за них, ведь в конце дня самое главное, чтобы задачи выполнялись и тебе было комфортно.
Аноним 15/11/23 Срд 16:26:15 #369 №2923083 
>>2681837 (OP)
У вас шапка гавно лютое, переделывайте
Аноним 15/11/23 Срд 17:02:24 #370 №2923175 
>>2923076
Пошёл коупинг.
Аноним 15/11/23 Срд 19:01:25 #371 №2923370 
>>2923083
Переделай сам.
Я?!?
Аноним 15/11/23 Срд 22:57:23 #372 №2923599 
>>2923024
>Имхо, емакс - этот попытка обойти ограничения по железу своего времени.
Ахаха. В "свое время" он всем казался ультра тормозным и жирным, примерно как эклипс в нулевые. Eight Megabytes and Constantly Swapping.
Аноним 15/11/23 Срд 23:00:43 #373 №2923602 
>>2923076
>но лично мне было впадлу после 20 лет за компом переучиваться на хоткеи емакса
Никогда не понимал тему с хоткеями у емакса. Они же как в линкусовом терминале. Там тоже C-f, C-b, C-p, C-n, M-a, M-e и т.д. Ну или в nano. Т.е. это какие-то базовые умения же должны быть, если с линуксом работаешь.
Аноним 15/11/23 Срд 23:12:03 #374 №2923607 
>>2923602
>линкусовом терминале
нормальные люди в этой хуйне только команды максимум запускают, никакие наны дольше чем на 20 секунд не запускают
всё отслаьное для красноглазых дрочеров
Аноним 15/11/23 Срд 23:21:19 #375 №2923612 
>>2923607
У "нормальных людей" вообще комп в кабинете только чтобы в пасьянс играть и ютуб смотреть, работает за компом секретарша.
Аноним 16/11/23 Чтв 01:05:21 #376 №2923662 
>>2923612
У нормальных все вопросы решает ИИ
Аноним 16/11/23 Чтв 01:06:04 #377 №2923663 
Ждать Аллегру 11 или ставить сразу vscode?
Аноним 16/11/23 Чтв 02:31:44 #378 №2923688 
>>2923599
>Ахаха. В "свое время" он всем казался ультра тормозным и жирным, примерно как эклипс в нулевые.
Что "ха-ха"? Почитай когда и зачем появился лисп и лисп машины.
Аноним 16/11/23 Чтв 02:33:15 #379 №2923689 
>>2923602
>Никогда не понимал тему с хоткеями у емакса. Они же как в линкусовом терминале. Там тоже C-f, C-b, C-p, C-n, M-a, M-e и т.д.
Одно дело пернуть пару команд в терминальчике и забыть, а другое дело работать с этим продолжительное время.
Аноним 16/11/23 Чтв 02:41:45 #380 №2923690 
Как дела у Золотца?
Аноним 16/11/23 Чтв 10:59:16 #381 №2923829 
>>2923688
Лисп появился в 50-ых, чтобы обрабатывать списки. Лисп-машины - в 80-ых. Но при чём тут емакс...
Аноним 16/11/23 Чтв 12:23:59 #382 №2923910 
Мне очень понравилась clojure, но я не осилил их подход для веба, что нужно каждый компонент собирать и соединять самостоятельно. Я не вкатун и не программист, просто интерессующийся хоббист. В вебе у меня 0 опыта, так что этот фактор сыграл для меня большую роль. Да и в целом меня расстроило, что мало нормальной документации, гайдов и в целом всего мало, очень мало. Явно не для залётышей типа меня. В итоге ушёл ковырять elixir с прицелом на phoenix. Если наберусь опыта в целом в веб-разработке и не дропну, то может вернусь в clojure.
Держу в курсе.
Аноним 16/11/23 Чтв 16:00:15 #383 №2924199 
>>2923663
10-ая аллегра у меня на линуксах не работает - openssh определённой версии требует, а мне в лом этим озадачиваться.
Аноним 16/11/23 Чтв 16:26:04 #384 №2924256 
Что вы пишите на Lisp? Речь даже не о месте работы, а о каких-то своих проектах
Аноним 16/11/23 Чтв 16:38:09 #385 №2924273 
>>2924256
Я диктофон+плеер пытаюсь второй год сделать
Аноним 16/11/23 Чтв 16:42:42 #386 №2924280 
>>2924273
На лиспе? А где это у тебя исполняться будет?
Аноним 16/11/23 Чтв 18:16:46 #387 №2924365 
>>2924256
У меня на елиспе написан клиент двача и сервер для одноплатника, который обрабатывает данные с гроубоксов.
Аноним 16/11/23 Чтв 18:38:45 #388 №2924417 
>>2924280
На windows xp
Аноним 16/11/23 Чтв 18:39:20 #389 №2924422 
>>2924365
>клиент двача
Выкладывай
Аноним 16/11/23 Чтв 18:44:32 #390 №2924432 
>>2924365
>У меня на елиспе написан клиент двача
А капчу ты как обрабатываешь?
Аноним 16/11/23 Чтв 18:48:39 #391 №2924441 
>>2924417
Понятно. Я думал ты как-то хочешь буквально диктофон свой сделать и прикрутить лисп к нему. Очень фантастично.
Аноним 16/11/23 Чтв 18:57:51 #392 №2924466 
>>2924441
Ты про esp32 + cLisp?
Аноним 16/11/23 Чтв 21:01:54 #393 №2924630 
>>2924466
Хм, не знаю - не разбираюсь. Погуглил про clisp, так что наверное можно и так.
Аноним 16/11/23 Чтв 21:40:31 #394 №2924694 
>>2924630
Он имел в виду ulisp
Аноним 16/11/23 Чтв 22:47:29 #395 №2924765 
>>2923910
Есть же бифф, или как он там называется сейчас, где всё из коробки на модном htmx.
Алсо есть олдовый люминус, где все компоненты уже собраны в кучу и проект создаётся из темплейта.

Ну и hyperfiddle
Аноним 16/11/23 Чтв 23:03:40 #396 №2924778 
>>2924694
Да

Кстати идею мне подали, куплю ка я плату, буду бпла делать.
Аноним 20/11/23 Пнд 01:15:46 #397 №2929158 
>>2746615
Что за шрифт?
Аноним 25/11/23 Суб 04:17:06 #398 №2936017 
Под андроид чем делать? Нашёл только платный Лиспворкс
Аноним 25/11/23 Суб 11:09:07 #399 №2936182 
>>2924256
Вот такое, например: https://2ch.hk/gg/res/1682199.html
Back: Clojure (Ring + Compojure + Monger).
Front: ClojureScript (re-frame).
>>2936017
ClojureDart имеет шансы взлететь.
Аноним 25/11/23 Суб 15:14:42 #400 №2936442 
>>2929158
https://typeof.net/Iosevka/
Аноним 28/11/23 Втр 00:59:12 #401 №2940360 
>>2936442
Спасибо
Аноним 29/11/23 Срд 01:02:00 #402 №2941716 
>>2936182
>ClojureDart имеет шансы взлететь.
Нет спасибо, я только в sbcl дрочу, в остальное лезть не хочу. Просто зазотелось что нить для мобилы по бырому набросать и упаковать.
Аноним 30/11/23 Чтв 10:58:43 #403 №2943507 
>>2681837 (OP)
Какой же ваш емакс однопоточное, глобальностатическопеременное убожество. Подумал сначала что он будет идеален для того что бы его запрограммировать под себя, но теперь буду смотреть VSCode, надо было сразу его брать, его плагины выглядят намного более продвинутыми и удобными, вот например для graphviz.
Аноним 30/11/23 Чтв 14:51:58 #404 №2943801 
>>2943507
Спасибо что поделился, это очень важно для нас!
Аноним 01/12/23 Птн 21:29:11 #405 №2945902 
Аноны, а почему для лиспа и прочего эзотерического часто используют емакс, а не вим? Как я понял, то основная фишка емакса - возможность отправки фрагмента кода в REPL. Но такой функциональности можно добиться в любом редакторе с плагинами, разве не так?
Используете ли вы evil-mode?
Аноним 02/12/23 Суб 00:43:25 #406 №2946205 
>>2945902
>используют емакс
Кто использует?
Аноним 02/12/23 Суб 12:39:49 #407 №2946399 
>>2946205
Ну я использую.
Аноним 02/12/23 Суб 16:06:01 #408 №2946680 
>>2936017
Гугли EQL5 android
Аноним 02/12/23 Суб 20:34:36 #409 №2947153 
>>2946680
И это всё?
Аноним 03/12/23 Вск 00:53:11 #410 №2947572 
>>2681837 (OP)
> последний пик
В Scheme такая же слабая типизация как в JavaScript? Можно вычитать числа из строк?
Неудивительно, что подобное говно оказалось никому не нужно.
Аноним 03/12/23 Вск 10:20:34 #411 №2947777 
>>2947572
Не, строгая. Никому не нужна она по другой причине.
Аноним 03/12/23 Вск 20:57:24 #412 №2948622 
>>2947777
Тогда к чему сравнение с JavaScript? Какой-то дебил ляпнул, и все дружно повторяют? Что там вообще общего, кроме анонимных функций с замыканиями, которые даже в C++ есть?

Вообще насколько я читал, Айк хотел сделать скриптовый язык на базе Лиспа, но руководство Netscape его послало нахуй и сказало делать клон жабы. Он разозлился и на отъебись сделал полный кал.
Аноним 05/12/23 Втр 02:54:15 #413 №2950561 
>>2948622
>Тогда к чему сравнение с JavaScript?
Сейчас бы всерьёз обсуждать смищную картинку из интернетов...
>Что там вообще общего, кроме анонимных функций с замыканиями, которые даже в C++ есть?
eval.
Аноним 08/12/23 Птн 10:43:32 #414 №2955014 
image.png
image.png
image.png
> "лого" CLISP'a - это еврейская семирожковая свеча
> на реддите коммон лиспа везде флаги Украины
> в гайде на кложу пикрил 3

Что за приколы у вас в лисп-камунити?
Аноним 08/12/23 Птн 14:08:44 #415 №2955244 
>>2955014
(((lisp)))
Аноним 10/12/23 Вск 16:00:49 #416 №2957928 
>>2955014
>на реддите коммон лиспа везде флаги Украины
Это неоыф, левый шизик создал
Аноним 10/12/23 Вск 19:08:24 #417 №2958175 
Кто нибудь имел опыт создания конфигов на лиспе для собственного ПО? Что можете рассказать?
Аноним 11/12/23 Пнд 18:41:59 #418 №2959480 
>>2958175
Дваждую интересная тема
Аноним 13/12/23 Срд 23:01:24 #419 №2962536 
>>2947572
> Можно вычитать числа из строк?
Нельзя. Типизация динамическая, но интерпетатор ругается, когда ты в функцию данные тех типов подсовываешь, или арность не соблюдешь.

Преобразовать нужно явно.

К примеру:
(string-append (number->string 2) (number->string 4))

Сделать как жабаскарипте типа (string-append 2 4) не выйдет.
Аноним 15/12/23 Птн 21:50:10 #420 №2965312 
>>2958175
Нафиг тебе Лисп? Юзай JSON.
Аноним 17/12/23 Вск 11:28:19 #421 №2967100 
>>2958175
Имеет смысл только если твоё ПО написано на лиспе. Если это не так, то JSON или YAML.
Аноним 18/12/23 Пнд 10:02:09 #422 №2968012 
Почему по фреймам стека можно ходить только вперёд? Понятно, что машине нет нужды хранить историю событий, но конпелятор/дебаггер мог бы ведь. Удобно же было бы.
Аноним 18/12/23 Пнд 14:47:40 #423 №2968252 
>>2968012
Обмажь код перезапусками и ходи хоть конём
Аноним 18/12/23 Пнд 20:44:30 #424 №2968621 
>>2968252
Пока у императивных петушков в реактивных средах разработки отзывчивость на каждый пук с наносекундными задержками, я буду конём впердоливать перезапуски и ебаться со сторонними костылями для слизня чтобы отладить пару небольших кусков кода.
Вот такой киберпанк мы заслужили, тов. МакКарти.
Аноним 18/12/23 Пнд 21:01:00 #425 №2968637 
>>2968621
Мог бы просто написать, что не знаешь, что за перезапуски и зачем они нужны
Аноним 18/12/23 Пнд 21:16:19 #426 №2968655 
>>2968637
Кондишоны/рестарты? Допустим, я не знаю. Объясни тогда свою позицию более ясно. Как не пердолясь я смогу конём ебать фреймстек?
Аноним 18/12/23 Пнд 22:50:52 #427 №2968708 
>>2968655
Сигналы в лиспе, в отличие от исключений, не раскручивают стек. Таким образом, ты можешь обработать его где-то выше по стеку и затем передать управление ниже. Хоть в ту же точку, где сигнал был вызван. break и continue именно так и работают.
Короче, достаточно удобная штука. И отладку упрощает, и позволяет дать протокол управления потоком выполнения чужому коду.
Аноним 18/12/23 Пнд 22:58:33 #428 №2968710 
Режим сверхманёвренности включён.
sage[mailto:sage] Аноним 18/12/23 Пнд 23:23:31 #429 №2968728 
>>2968710
Включил -- маневрируй в какой-нибудь другой тред. За унылый треллинг тут кормить некому
Аноним 18/12/23 Пнд 23:31:01 #430 №2968729 
>>2968728
Мог бы просто написать, что не знаешь, что за режим такой и зачем он нужен.
Аноним 19/12/23 Втр 00:02:20 #431 №2968749 
>>2968637
Где этому научиться? Какая литература? Это commonLisp?
Аноним 19/12/23 Втр 00:55:40 #432 №2968784 
>>2968749
Да, общелисп.
>Где этому научиться? Какая литература?
Есть неплохая ознакомительная статья https://lisper.in/restarts
Если хочешь нырнуть глубже, ищи книгу The Common Lisp Condition System
Аноним 19/12/23 Втр 06:33:27 #433 №2968844 
Почему лисп не взлетел?
Аноним 20/12/23 Срд 17:42:21 #434 №2970694 
>>2968844
Слишком непонятный для вкатывальщиков и волков это я тебе в глаза нассал сейчас, не знаю, хоть тред бампну, можешь lisp curse навернуть, но там тоже в глаза ссут
Аноним 29/12/23 Птн 22:51:53 #435 №2983143 
>>2968844
Если ты о том почему лиспа нет в энтерпрайзе, то потому что так вышло.
Хз
Аноним 29/12/23 Птн 22:54:04 #436 №2983145 
>>2968844
В 🥂 и в питоне много лиспа. Так что взлетел.
Аноним 31/12/23 Вск 01:43:18 #437 №2984444 
>>2958175
EDN подойдёт? В Clojure применяется для зависимостей, например.
Аноним 05/01/24 Птн 07:03:20 #438 №2989522 
> https://github.com/fukamachi/sxql/issues/40
> 6 лет
> не может пофиксить одну строчку
Окей, прежде чем я форкну и исправлю это дерьмо, спрошу:
Есть альтернативы этой либе?
Аноним 05/01/24 Птн 08:16:43 #439 №2989554 
>>2989522
A, там есть :raw и :splicing-raw

Нахуй фиксить это тогда. Закостылим по-быстрому.

Пчеликс размазался слишком тонко по своему дохуелиарду репо.
Аноним 05/01/24 Птн 10:52:10 #440 №2989610 
>>2989554
Протестируй и исправь, иначе ж руки ни у кого больше не дойдут.
Аноним 05/01/24 Птн 12:29:15 #441 №2989654 
>>2989610
Ладно, похуй, дел было на пять минут.

Но не примет же. Иначе сам бы исправил давно.
Аноним 06/01/24 Суб 17:13:51 #442 №2991194 
>>2989522
Алсо, мне стало интересно.
Могу я, в качестве костыля, сделать нечто вроде https://pastebin.com/9j2vBSnh ?

И можно ли это сделать как-то красивее?
Аноним 06/01/24 Суб 19:15:26 #443 №2991348 
(((average-lisp-fan))).jpg
>>2955014
https://www.youtube.com/watch?v=DDROSL-gGOo
Аноним 09/01/24 Втр 13:45:03 #444 №2994678 
Второй раз пытаюсь вкатиться в сложуру чисто как хобби. И как же мне нравится сам язык и вообще его идеи, но как же я ебал в рот тулинг вокург всего этого говна. Тупо блять костыли на костылях, построенные на других костылях.
Просто свежайшая хуйня, которая меня выбесила своей тупостью: у neil при создании scratch проекта и добавлении тестов добавляется одна версия, а при созданиии app проекта другая, более свежая.
При добавлении тестов, алиас добавляется в deps.edn не под ключ :aliases, а просто в конец главной мапы.
В проеке app тесты уже добавлены, но сука не добавлена :exec-fn
Хули так насрано-то, просто базовые очевиднейшие вещи созданы через хуй.
neil как я понял просто удобная обёртка над deps-new, которая в свою очередь использует темплейты clj-new, которая в свою очередь основывается на проектах clj, boot и leiningen
Пиздец прсото. Нагородили хуйни, которая работает всегда на 80%. Такое ощущение, что специально сделали так, чтобы нужно было пердолиться.

Второй пункт нашей программы: документация на официальном сайте, которая просто являет собой кучу каких-то постов в блоге, разбросанным по разным местам. Посмотрите на официальную документацию к elixir, их getting started, вам не стыдно после такого вообще? Пиздец.

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

И это я ещё не дошёл до билда в продакшен и дистрибуции. Чую там меня ждёт всё то же саме, что и выше, только добавятся приколы билдинга Java-проектов.

Но сам язык мне нравится, конечно.
Аноним 09/01/24 Втр 19:37:28 #445 №2995077 
>>2994678
Испытываю нечто похожее. Сейчас использую clojure только в виде бабашки как некая замена питону
Аноним 11/01/24 Чтв 02:39:08 #446 №2996989 
>>2681837 (OP)
Возможно ли в каком-либо из лиспов изменить правила компилятора или кода так, чтобы, например, заменить символ скобки на другой символ (или вообще даже убрать его)? Другими словами, как, например преобразовать компилятор в понимающий конструкции вида "ä+ 2 3 (" вместо "(+ 2 3)"? Или же в "+ 2 3 end".
Аноним 11/01/24 Чтв 10:38:55 #447 №2997206 
>>2996989
Можно. В коммон лиспе делается через макросы чтения (reader macro).
Можно даже такие штуки вытворять https://github.com/y2q-actionman/with-c-syntax
Аноним 11/01/24 Чтв 12:22:16 #448 №2997329 
>>2996989
Racket построен на этой идее. Там вообще можно какой хочешь синтаксис сделать.
Аноним 11/01/24 Чтв 15:55:39 #449 №2997642 
>>2997329
Мне кажется или ракета требует больше телодвижений для определения своих синтаксических конструкций, чем общелисп?
Аноним 11/01/24 Чтв 16:52:20 #450 №2997753 
>>2997642
Не сколько ракетка, сколько scheme.

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

Тут прям нужно очень внимательно повторяю блядь внимательно вкуриваться в документацию, ибо вот так с наскока неасилить (sic!).

Однако взамен ракетка даёт такое что не даст тебе вообще ни один языков программирования (кроме Prolog).

Я вот думаю неплохо было бы сделать язык, в котором:
1. Будут зависимые типы;
2. Разрешена только простая рекурсия (общая рекурсия под запретом).
3. Эффекты как отдельная конструкция языка.

С точки зрения теории это будет самый безопасный язык программирования.

Странно, что такой язык ещё не появился. Как по мне такой язык будет безопаснее какого-нибудь Раста.
Аноним 12/01/24 Птн 11:48:13 #451 №2998902 
>>2994678
Просто сделай lein new foo и не парься.

Просто возьми luminus или biff и не парься.

Для билда просто напиши lein uberjar и не парься.
Аноним 12/01/24 Птн 11:51:34 #452 №2998908 
>>2997753
Таких языков десятки, если не сотни, создано за последние лет тридцать. Гугли пейперы по ключевым словам substructural recursion, total functional programming и т.п.
Аноним 12/01/24 Птн 12:02:38 #453 №2998927 
>>2998908
> пейперы
А имплементации то где?
Аноним 12/01/24 Птн 12:04:13 #454 №2998934 
>>2998927
идрис тире ланг точка орг
Аноним 12/01/24 Птн 12:54:35 #455 №2999039 
>>2998934
Идрис это просто зависимые типы. Они и в ракетке есть. А вот чтобы и завтипы и эффекты и тотальность.
Аноним 12/01/24 Птн 20:01:13 #456 №2999609 
>>2999039
Тебе это кто-то рассказал или сам примерно почувствовал?
У них даже в faq сказано, что язык является тотальным, а про монадки и эффекты -- всего парой страничек дальше
Аноним 13/01/24 Суб 07:40:53 #457 №3000145 
>>2999609
В идрисе как и в хаскелле эффекты не являются отдельной конструкцией языка.
Аноним 13/01/24 Суб 07:47:32 #458 №3000146 
>>3000145
Зачем им быть отдельной конструкцией? Более ясно можешь излагать мысли, чтобы не приходилось додумывать за тебя?
Аноним 13/01/24 Суб 08:09:40 #459 №3000154 
>>3000146
> Зачем им быть отдельной конструкцией?
Очевидно чтобы спокойно вызывать эффекты в программе напрямую, без всяких изъебств оставляя язык функционально чистым.

Вот есть лямбды - чистые и без эффектов:
myFun = lambda x => abs(x)

А вот есть эффекты:
main = effect => print[myFun(-3)]

То есть, мы выделяем эффекты в отдельную конструкцию, оставляя лямбды чистыми. А если функции в языке чистые априори, то и сам язык функционально чистый.

Ну то есть делим язык ну чистые функции и на грязные процедуры, иначе говоря.
Аноним 13/01/24 Суб 09:04:28 #460 №3000184 
>>3000154
Тебе система типов и так не даст мешать чистый код с эффектами. Более того, даже позволит их типизировать https://idris.readthedocs.io/en/latest/st/examples.html
Аноним 13/01/24 Суб 09:47:45 #461 №3000191 
>>3000184
Если лямбды могут вызывать эффекты (хоть и типобезопасно), то это уже не чистый функциональный язык.
Аноним 13/01/24 Суб 11:09:08 #462 №3000255 
>>3000191
Это уже твой шизофанатизм. Другое ключевое слово никак суть не поменяет.
Аноним 16/01/24 Втр 23:11:09 #463 №3005710 
https://www.youtube.com/watch?v=pezlnN4X52g

То есть у джейнстрит есть бабло, чтобы спонсировать популярных ютуберов-миллионников, но нет денег, чтобы запилить наконец спустя 20 лет нормальный тулинг для окамла. Заебись, чо.
Аноним 18/01/24 Чтв 13:14:03 #464 №3008177 
>>3005710
У окамла уж лет как 10 всё нормально с инструментарием.
Сейчас ещё ocamlbuild окончательно выкинут и будет вообще заебись.
Аноним 18/01/24 Чтв 14:27:20 #465 №3008323 
>>3008177
Нет, просто вместо старого кала запилили новый кал, который чуть менее каловый (но всё ещё кал). Про нормальную единую стдлибу я уж молчу, надежды нет. Так окамл и сдохнет в безвестности несмотря на джейнстрит и гранты французиков.
Аноним 19/01/24 Птн 09:26:24 #466 №3009442 
>>3008323
А что же тогда не кал? Или у товарища копросомелье любой цвет - оттенок коричневого?
Аноним 19/01/24 Птн 18:29:43 #467 №3010238 
>>3009442
Хаскель
Аноним 19/01/24 Птн 20:58:12 #468 №3010433 
Вэйт, имакс - это не ОС, а интерпретатор elisp? Который просто расширили до бытия текстовым редактором?

инб4 олвайс хас бин
Аноним 20/01/24 Суб 05:03:44 #469 №3010735 
>>3009442
В каком плане что? Стдлиба где вменяемая? Да где угодно (кроме хаскеля, лол), раст тот же, та же кложа

Сам окамл не кал, мне потому и обидно, что хороший язык запороли распиздяйством и неспособностью договориться и сделать нормально.
Аноним 20/01/24 Суб 05:07:07 #470 №3010737 
>>3010433
Вы заебали. Если что-то может исполнять код вживую - это не значит, что это интерпретатор. В емаксе есть компилятор елиспа в байт-код.

Емакс - это среда выполнения, правильнее всего сформулировать так. ОС это в том смысле, в каком "GNU" из GNU/Linux является "ОС". Не ядро, а утилиты и пользовательское окружение.
Аноним 20/01/24 Суб 11:13:19 #471 №3010842 
>>3010433
Ага, а ява - не язык, а реализация стековой вм
Аноним 20/01/24 Суб 11:34:02 #472 №3010846 
>>3010735
>В каком плане что?
Это уж тебе должно быть виднее, что именно ты назвал калом.

>Стдлиба где вменяемая?
У окамля вменяемая, кстати, просто многим непривычно, что их несколько и развиваются сообществом. Как у борщелиспа.
Такой подход имеет свои плюсы.
Аноним 20/01/24 Суб 12:16:31 #473 №3010866 
>>3010846
Почему нодежс сообщество не напишет одну нормальную стандатную высокоуровневую библиотеку вместо 100500 мокрописек isEven от ноунеймов с майнерами...
Аноним 20/01/24 Суб 12:24:30 #474 №3010871 
>>3010866
Сообщество мудацкое ¯\_ (ツ)_/¯
У раста, судя по количеству зависимостей даже у простых библиотек, примерно такое же.
Аноним 21/01/24 Вск 11:16:27 #475 №3012239 
>>3010842
Есть джава (язык), есть джава (джейвиэм)
Аноним 21/01/24 Вск 11:17:50 #476 №3012240 
>>3010846
> Такой подход имеет свои плюсы.

Ясно. Понятно. В том числе поэтому окамл и сдох, видимо.
Аноним 21/01/24 Вск 13:05:25 #477 №3012302 
>>3012240
>сдох
Для дохлятины он довольно бодро развивается. Кложа на его фоне дохлее выглядит, хотя ей тоже можно сделать скидку как языку, который никогда бы не стал мэинстримным.
Аноним 24/01/24 Срд 21:54:00 #478 №3017797 
>>3012302
Я хз, что ты понимаешь под "развивается". Окамл буквально мёртвый - либ нет, вакансий нет, книжки раз в 10 лет выходят, на реддите 3.5 подписчика. Развивается в смысле релизы языка пилятся - тут да, ну так они ж на грантах сидят, академия все дела.
Аноним 24/01/24 Срд 22:43:18 #479 №3017920 
>>3017797
Так там же цельный джейн стрит есть! Но в целом да. Для нишевых вещей типа компилятор написать отличный инструмент. Но в мире мало где его используют.
Аноним 24/01/24 Срд 22:53:33 #480 №3017942 
>>3017797
Что обычно понимают под "развивается"? Вот то и имею в виду.
По-моему, ты принимаешь отсутствие мэинстримной суеты за отсутствие развития. Либо просто уныло треллишь.
> Развивается в смысле релизы языка пилятся
Не только. Развивается и экосистема языка. Из недавних вех - dune. Слава богу, теперь нормальнаяохуенная система сборка, а не тот ужас, что был до.
>>3017920
>Так там же цельный джейн стрит есть!
А как же мираж? Спрос на опердени в виде unikernel никуда не делся
Аноним 24/01/24 Срд 23:05:26 #481 №3017972 
>>3017942
Работы
НЕТ
хоть я и люблю окамл
Аноним 24/01/24 Срд 23:16:30 #482 №3017983 
>>3017942
А, дюн это недавнее, ок. И это охуенная система сборки. Ну ок.

Что обычно понимают под развивается - этого у окамла нет, на нём тупо никто не пишет. Потому что хуевый тулинг и нет стандартнлй библиотеки (и либ). Поэтому никто не пишет.
И это печально.
Аноним 24/01/24 Срд 23:37:50 #483 №3017992 
>>3017972
Ну, некоторым и на жс работы нет. Соболезную.
>>3017983
>Никто не пишет и ничего нет, а что есть, то плохое.
Хорошо, я тебя услышал. На этом и закончим, достаточно пустозвонства.
Аноним 24/01/24 Срд 23:46:04 #484 №3017997 
>>3017992
Нытье жс детей в счет не берем.
Объективно надо постараться чтобы найти работу на окамл. Я ровно два раза за свою 15 лет карьеру видел роли где была бы возможность писать на нем. Первый это джейн стрит. Второй фейсбук. Третий компания какая-то которая занимается рекламой. Не вспомню уже.
Всего три позиции.
мимо любитель фп порой мониторю рынок
Аноним 24/01/24 Срд 23:47:04 #485 №3017999 
>>3017997
Три очевидно
самофикс
Аноним 25/01/24 Чтв 00:13:20 #486 №3018028 
>>3017997
>Всего три позиции.
>за свою 15 лет карьеру
>Объективно надо постараться чтобы найти работу на окамл.
Лол. Тебе-то знать, если ты за 15 лет не смог вбить в поисковик "ocaml job" и перейти по первой ссылке?
Вакансий несомненно меньше, чем на всяких жсах, всё-таки язык не мэинстримный, но мне, тем не менее, удавалось найти работу даже в РФ и даже не в ДС.
Аноним 25/01/24 Чтв 00:20:05 #487 №3018039 
>>3018028
Ну молодец хули, я все же предпочитаю выбирать над чем работать, а не кидаться на единственную вакансию в своей мухосрани. Работы на окамл нет. Цифрами этими можно пренебречь. Точка.
Аноним 25/01/24 Чтв 00:31:15 #488 №3018054 
5791db7e03bbf15611c1643f.png
>>3018039
>я все же предпочитаю выбирать
>выбирать
>1. рассматривать множество имеющихся вариантов, определяя нужные или желательные и отвергая ненужные или нежелательные ◆
>Всего три позиции.
>за свою 15 лет карьеру
Ты обязательно найдешь работу мечты, главное - не сдавайся
Аноним 25/01/24 Чтв 00:39:38 #489 №3018060 
>>3018054
Я даже близко не окамлер, о чем ты вообще. Если бы в него пораньше завезли нормальный параллелизм то может быть и да. А так бог отвел.
И вообще это лиспотред. Расскажите лучше про кложу. Чому умерла? как окамл?
Аноним 25/01/24 Чтв 13:28:20 #490 №3018572 
Существуют ли какие-нибудь инструменты для общелиспа, упрощающие кодогенерацию?
Хочу сгенерировать обёртку по спецификации для одного протокола, и оказалось, что без макросов уже не так удобно.
Аноним 26/01/24 Птн 13:09:08 #491 №3020392 
>>3018028
Ты хотел сказать "меньше, чем на всяких хаскелях, кложах и эликсирах"? Потому что их меньше на порядок, чем на всяких хаскелях, кложах и эликсирах. С жс ясное дело, что сравнивать смешно. Да даже с растом уже смешно сравнивать.

Вообще, надо быть весьма упоротым, чтобы на окамле писать прод, с такой-то экосистемой.
Аноним 26/01/24 Птн 13:20:55 #492 №3020409 
>>3018060
Команда разработки языка не может в поддержку и нормальный маркетинг. В общем-то чем-то похожая на окамл история, но конечно не так всё плохо. Если коротко: комьюнити пишет нечто, оно становится популярным, коре команда выкатывает несовместимый аналог, на все вопросы делает непонимающие глаза типа "а чо такого-то?", далее аналог от коре команды остаётся в недопиленном полусыром состоянии навсегда. Была надежда, что после покупки волмартом нюбанком наймут свежих людей, но нихуя, наоборот такое чувство, что перевели разработку в фул-интерпрайз-мод и собственно прост поддерживают продукты нюбанка и волмарта, шоб ничего не ломалось. Дико расхайпленный спек так и остался в подвешенном состоянии: есть первая альфа-версия, встроенная в язык, которую не допилили, так как она должна была быть депрекейтнута в пользу второй версии; вторая версия также недопилена и непонятно, собираются с ней что-то делать и будут ли впиливать её в стдлибу; тем временем комьюнити ещё до релиза первой спеки запилила либу, которую все выкинули в пользу спеки, которая так и не была допилена, из-за чего комьюнити запилило новую либу, которая с нормальной документацией и просто работает, но при этом типа не стандартная и дублирует встроенную в стдлибу функциональность. В итоге не особо понятно, зачем вообще было впиливать это всё в язык, можно было просто дать прототип и сказать " а теперь пилите рабочее решение сами". Ну короче в таком вот духе. С одной стороны нет такого пиздеца как в скалке например (или в жс, лол), всё стабильно, с другой стороны - развития тоже как-то нет, никаких инноваций уже давно не было, хайпа нет. Ну разве что роамресерч/логсик и их клоны, но это уже чисто продуктовая история.
Аноним 27/01/24 Суб 00:08:20 #493 №3021361 
>>3020409
работу смысл искать есть? Угораю по листу но все раз вкладывать время без перспектив получать за это деньги не могу на данном жизненном этапе. Видел в кложе компромиссный вариант.
Аноним 27/01/24 Суб 00:10:08 #494 №3021362 
>>3021361
> Угораю по лиспу но всерьез
Фикс
Аноним 27/01/24 Суб 15:27:36 #495 №3021972 
>>3020409
> Если коротко: комьюнити пишет нечто, оно становится популярным, коре команда выкатывает несовместимый аналог, на все вопросы делает непонимающие глаза типа "а чо такого-то?", далее аналог от коре команды остаётся в недопиленном полусыром состоянии навсегда.
Если честно, как коммент от зог-зависимого со стажем: выглядит дохуя подозрительно.

А никто денег этой кор команде не заносит, чтобы они специально делали хуйню?
Аноним 27/01/24 Суб 16:33:34 #496 №3022033 
>>3021361
Если ты синьор-помидор - даже в РФ есть. Но мало.

>>3021972
А в чём профит? Зачем закапывать своё же детище? Хочу разобраться.
Аноним 27/01/24 Суб 16:37:21 #497 №3022040 
>>3022033
Профит в деньгах, естественно. И чтобы нужным дядям не пришлось кор-команду в твиттере отменять. Возни много)))

В чём профит дядей? В том, чтобы лисп никогда не увидел большого продакшена и популярности. Иначе каждый сам себе режиссёр станет.
Аноним 27/01/24 Суб 19:32:47 #498 №3022343 
>>3022040
>Иначе каждый сам себе строитель несовместимых велосипедов станет
Пофиксил.
Аноним 27/01/24 Суб 19:35:26 #499 №3022346 
>>3022343
Да тащемта поебать. Если сейчас сесть и начать программировать всем подряд, то там тоже будут велосипеды.

Только там будут велосипеды уровня "Уууу, калькулятор, бля, ууу!", а с лиспом будут юзабельные велосипеды.

С чего вы вообще решили, что это какое-то проклятие? Так будет в любом коммьюнити индивидуалистов. Чтобы велосипедов не было, должна быть палка в жопе от какой-то внешней силы.
Аноним 04/02/24 Вск 15:54:32 #500 №3034263 
Можно ли как-то финализировать методы в clos'е? Что-то вроде finalize-inheritance, но для gf.
Похоже, что clos генерирует код для диспетчеризации при первом вызове метода, что не очень удобно, т.к. занимает много времени (около тысячи методов).
Аноним 05/02/24 Пнд 06:32:55 #501 №3035444 
ВЫШЕЛ! ВЫШЕЛ! ВЫШЕЛ!
>Franz introduces Allegro CL v11 with Neuro-Symbolic AI programming

https://franz.com/products/allegrocl/
https://franz.com/support/documentation/current/release-notes-11.0.html
https://www.reddit.com/r/Common_Lisp/comments/18qih25/allegro_common_lisp_110_from_franz_inc/



>Компания Franz Inc., один из первых новаторов в области искусственного интеллекта (ИИ) и поставщик инструментов разработки на Common Lisp (CL) и решений для графов знаний, представляет Allegro CL v11, включающий ключевые улучшения производительности, которые теперь доступны для решения сложных задач в области ИИ.

>«Быстрое внедрение генеративного ИИ (LLM) подпитывает повышенный спрос на управляемые, основанные на фактах приложения, что значительно влияет на приложения в традиционных отраслях ИИ, таких как национальная оборона, а также в медико-биологических науках, производстве и финансовой аналитике», — сказал д-р Янс Аасман, генеральный директор Franz Inc. «Сложность современных программных приложений в сочетании со взрывным ростом объема данных требует очень универсального и надежного языка программирования. Благодаря Allegro CL v11 разработчики машинного интеллекта получили высокопроизводительный инструмент для масштабирования своих приложений и вывода инновационных продуктов на рынок».
Аноним 05/02/24 Пнд 22:43:58 #502 №3036835 
>>3035444
Уже купил лицензию?
Аноним 05/02/24 Пнд 23:34:31 #503 №3036927 
>>3035444
Так а по факту че там сделали-то?
Аноним 06/02/24 Втр 00:04:49 #504 №3036985 
>>3036927
Вторую ссылку открыть лень чтоле сука?
gtk удалили, теперь вебпараша вместо иде
Аноним 06/02/24 Втр 11:45:27 #505 №3037332 
Stupid machines.mp4
>>3036835
Free express же хватает, нах мне лицуха на Про или Ынтырпрайз
Аноним 07/02/24 Срд 00:32:02 #506 №3038448 
>506
Капитан, мы тонем!
Аноним 13/02/24 Втр 11:32:15 #507 №3046542 
>>3038448
> 07/02/24
Лево руля!
Аноним 13/02/24 Втр 15:23:09 #508 №3046884 
>>3046542
Где перекат?
Аноним 14/02/24 Срд 02:00:47 #509 №3047744 
>>3046884
> Где перекат?
> Перекатывайте сами
> Кто? Я?!
sage[mailto:sage] Аноним 18/02/24 Вск 02:13:13 #510 №3053298 
>>3047744
Кто? Я?1
Аноним 09/03/24 Суб 05:59:43 #511 №3078242 
Перекотите, будьте людьми...
Аноним 11/03/24 Пнд 14:15:56 #512 №3081516 
Срочно экспертное мнение
https://gleam.run/
Аноним 11/03/24 Пнд 14:25:19 #513 №3081525 
>>3081516
Где тут лисп?
Аноним 14/03/24 Чтв 01:55:45 #514 №3085413 
Насколько сильно типизация Лиспов отличается от типизации Питона?

Питон меня в своё время отвратил динамической типизацией, но насколько я понимаю тут что-то другое?
Аноним 14/03/24 Чтв 07:38:26 #515 №3085521 
>>3085413
В лисп можно хоть зависмые типы добавить. Посмотри Typed Racket.
И даже в обычном Racket невозможно любое значение засунуть, ибо есть контракты (проверка типа в рантайме).
Аноним 25/03/24 Пнд 10:54:16 #516 №3098909 
>>2699721
нормальные люди бегают по блокам а не по строкам так что shift + [] а начало и конец строки это A и I соответственно
нет ничего удобнее вима, уже тыщу раз доказано на практике
Аноним 27/03/24 Срд 11:44:33 #517 №3101567 
>>3098909
я на планшете на сенсоре пальцем всё делаю, вопросы?
Аноним 27/03/24 Срд 14:35:27 #518 №3101860 
>>3101567
токарь девятого разряда или ветеран сво?
comments powered by Disqus

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