Двач.hk не отвечает.
Вы видите копию треда, сохраненную 15 апреля в 02:35.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Лиспотред №14 /lisp/ 2681837 В конец треда | Веб
Лиспы - семейство языков программирования. Характерные особенности лиспов: динамичность, гомоиконность (код как данные), программируемость.

{Основные диалекты}
:: 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)
2 2681844
>>2681837 (OP)

>{Common Lisp}


Мне вот это ещё нравится
http://clqr.boundp.org/
3 2681853
>>2681610 →

>Хуясе. Никогда не думал, что встречу кого-либо с такой точкой зрения.


>А как без режимов? Ctrl+Alt+Shift+Super+Жопа+Аллах+... на каждый чих?


А откуда у тебя столько комбинаций то взялось? Основных аккордов для работы с текстом не больше чем у вима получается, а что-то очень редкое можно и на Ctrl+Alt+Аллаха повесить.
Вообще команды вызываю через Alt+x
4 2681856
>>2681837 (OP)

>Clisp (байт-код; небольшой размер образа; похоже, заброшен)


>похоже, заброшен


>Current version:2.49 (2010-07-07)


На первый взгляд - да, но на самом деле - нет: https://gitlab.com/gnu-clisp/clisp/-/commits/master
Исправьте в шапке следующего треда.
5 2681857
>>2681844
Только pdf или есть хтмл-версия?
6 2681869
>>2681857
Хз. Я пользуюсь распечатанной на А4 и подшитой нитками.
7 2681961
>>2681853
Просто неприятно лезть в аккорды для каких-то операций. Мне Ctrl-F/D или Ctrl-B/U то неприятно нажимать, а тут речь идёт про постоянное использование для ЛЮБОЙ комманды редактору. Пизда.
Можешь считать предыдущий пост гиперболой.
8 2681968
>>2681961
Вимовские SPC m c f не многим удобнее емаксовских C-c C-c, так что вкусовщина
9 2681975
>>2681968

>SPC m c f


Что? Я не знаю такой комманды. "m" не юзаю, потому что в больших файлах не копаюсь - разбиваю на файлы поменьше.
"f" юзаю только когда пинг > 120 и редактирование - это адская пытка. А "c" - это бро.
10 2681977
>>2681968
Алсо, продолжу говорить то, что мне говорили во время "индоктринирования":
Вим попроще для рук, они устают меньше.
11 2681978
>>2681975

>Что? Я не знаю такой комманды.


Это из дум емакса. Сочетание для sly-compile-defun. Я просто не помню, какое сочетание в vlime, но уверен, что похожее.
12 2681980
>>2681977

>Вим попроще для рук, они устают меньше.


Ты либо каждый день вим переписываешь, что у тебя руки устают?
13 2681981
>>2681978
А, точно. Я же примитивный дикарь, что использует чистый текстовый редактор. Сорян.

>>2681980
Каждый день печатаю текст. В основном кресты.
14 2681986
Лиспаны, а мне кажется или в александрии был макрос (<что-то там>f place updatefn)? Уже искал через ультралисп и modf, и updatef - нашел только последний, но в библиотеке, которой я точно не пользовался.
15 2681987
>>2681981

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


Соболезную. Не удивительно, у тебя руки устают.

>В основном кресты


Соболезную вдвойне.
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-версия должна быть ещё шустрее
17 2682170
Какие шрифты юзаете, лиспаны?
18 2682178
>>2682170
Оказалось, что Fira Code. Я бы и не узнал, если б ты не спросил.
19 2682180
>>2682178

>. Я бы и не узнал, если б ты не спросил.


Это как? Оно где-то по умолчанию идет?
20 2682185
>>2682180
Да, в дум емаксе.
21 2682197
>>2681837 (OP)
Где используется лисп и зачем он нужен?
22 2682210
>>2682197
Как зачем? Тянки боятся, быдло течёт.
23 2682211
>>2682205
Некрасиво отвечать вопросом на вопрос. К тому же, со мной то как раз все понятно. Я датасаентист, используюсь в крупной компании. Нужен жене. А лисп?
24 2682212
>>2682211
Да причем тут крупная компания. Людям-то, людям ты зачем нужен?
25 2682219
>>2682216
А ты не приписывай мне то, чего я не говорил. Я хотел узнать от антонов конкретные примеры, раз есть целый тред, то кто то же наверное использует лисп в практике.
26 2682224
>>2682219
На, утоли своё любопытство https://github.com/azzamsa/awesome-cl-software
Только не надо треллить. Вас таких в каждом треде по десятку заваливается.
27 2682234
>>2682197
>>2682219

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


Ипользую Guix и sheperd, которые написаны на Guile(схема от ГНУтых). Плюсь, этот же Guile использую в качестве встаиваемого языка для своих приложений.
28 2682282
>>2682224
Спасибо!
>>2682234
Понял, спасибо! А кем работаешь, если не секрет?
29 2682514
>>2682234

>А кем работаешь, если не секрет?


В НИИ попердываю и физическим моделированием занимаюсь.

Но это

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


никак не связано с работой. Это я для своих личных проектов использую.
30 2682619
>>2682170
Ананимас Про.
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 уповаешь перекрестившись? Однако что-то мне больше тебе хочется продолжить пилить свои велосипеды. Мне это надо.
32 2682625
>>2682622
Тут аналогично, вот это вроде бы не форк
https://gitlab.common-lisp.net/linedit/linedit/-/blob/master/main.lisp#L80
33 2682627
>>2682622

>Однако что-то мне больше тебе хочется продолжить пилить свои велосипеды.


*теперь хочется
34 2682642
Сколько же здесь скобок :((((((
35 2682645
>>2682622
>>2682625
Что-то мне подсказывает, что они просто защищают тебя от выстрела в ногу.
https://gitlab.common-lisp.net/linedit/linedit/-/blob/master/main.lisp#L106
16825108830130.png16 Кб, 160x120
36 2682787
еебать это кто
37 2682806
>>2682645
Да, похоже на то. Они определяют свои макросы чтения для команд репла типа :cmd arg1, о чем и предупреждают
image.png422 Кб, 1000x904
38 2683137
39 2683138
>>2682197
Нигде, никому не нужен тк как даже автор лиспа признал под конец что это неюзабельная скобочная дрочильня.
40 2683183
>>2682197
В Nubank
41 2683438
>>2683183
Кредит дадут, если скажу, что лиспер?
42 2684172
Объясните причину ненависти к кложе? У вас просто пригорает с того что ваши коммон лиспы и схемы никому не нужны?
43 2684234
>>2684172

>Объясните причину ненависти к кложе?


Упоротые евангелисты. Видимо, всё дело в том, что изначально ЦА языка были ява-программисты, а они дикие и их очень легко впечатлить. Вот и носятся с кложей, как с чудом, хотя там ничего особенного нет, язык-компромисс.
44 2684297
>>2682234
NIX и Guix очень похожи же?
45 2684416
>>2684234
Ну только он в 100 раз удобнее чем большинство других лиспов и по функциональности не сильно отстает от хаскеля.
46 2684469
>>2684416
Рад, что тебе удобно. Держи в курсе.
47 2684527
>>2684469

>Типикал коммонлишпер - ненавидит кложу, ибо не тру лисп. Ненавидит другие ЯПы, ибо не тру лисп. Ненавидит залетных анонимов, ибо не тру лисп. Ненавидит печеньки, щеночков и Иисуса Христа, ибо не тру лисп. Ненавидит ТЕБЯ, ибо не тру лисп.

48 2684549
>>2684527
Отстань, чувак. Ты сейчас сам же проиллюстрировал ответ на свой вопрос. Именно за это вас и не любят.
49 2684550
>>2684297
Да. Guix основывается на Nix и является развитием его идей
50 2684553
>>2684549
Кого нас? Ты так и не представил никаких адекватных аргументов, а начал с обсуждения комьюнити.
51 2684555
>>2684553
Всё-всё, ты победил, кложа - лучший язык, Хикке - гений, а комьюнити - самое дружелюбное и нисколько не назойливое.
52 2684558
>>2684555
Всё так.
53 2684575
>>2684550
А почему ты на nix не сидишь? Всё дело в одобрении от Штольмана, то что это для него труъ дистрибутив?
54 2684596
>>2684575
Guix попросту удобнее и немного фичастее, но пакетов меньше, да.
Но тебе же похуй, ты просто забыл принять свои таблетки.
55 2684598
>>2684575
И да, не путай guix/nix с guixsd/nixos
56 2685541
>>2684596
>>2684598
Я скачал недавно guix и ничего в ней не смог, потому что гну-дибилы Ру айпи забанили
57 2685662
>>2685541
Почитай рассылку, блокировоал хостер сборочной фермы. Он развёрнут на мощностях какого-то университета.
58 2686005
>>2680459 →
Имакс - это desktop environment, а не текстовый редактор.
59 2686007
>>2681410 →
Хз, очень редко торможусь на ошибках, которые бы могла словить система типов (тем более а-ля го или джава). Зато вот когда после кложуры пишешь на го, то часто зарываешься на дохуя времени из-за того, что вместо наиболее логичной формы данных приходится делать нечто, что влезет в тайпчекер.

Попробуй писать спеки или хотя бы просто примеры входа\выхода для функций (по ним потом можно автосгенерить спеки).
60 2686008
>>2681977

>Вим попроще для рук


>перемещение курсора даже не на home row


Шо то хуйня, шо это хуйня.
61 2686012
>>2682178

>Fira Code


Козырный^W кложурный шрифт, от тру-лисперов для тру-лисперов и не только!
62 2686017
>>2684172

>У вас просто пригорает с того что ваши коммон лиспы и схемы никому не нужны?


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

капча: данные, трустори, я не троль
63 2686100
>>2686017

> Еще есть такой нюанс, что некоторые чуваки пробуют КЛ и в общем-то на нем и останавливаются, все остальные языки как правило смотрят поверхностно и сравнивают с КЛ


Это правда, лисперы - те ещё фанатики.
Я даже знаю одного такого. Местный любимец, кстати. Со времён журнала fprog если кто-то здесь такой помнит этим болеет и активно пытается заразить других: https://github.com/tonsky
64 2686151
>>2686008

>Шо то хуйня, шо это хуйня.


Но ничего лучше пока не изобрели. Так и живём
65 2686400
>>2684416

>jvm


>удобно

66 2686479
Вот вы пререкаетесь друг с другом, но вам же известно, что вы все здесь больные некрофилы и не лечитесь?
Одни уже который десяток лет обшивают давно сгнившего дедулю свежими кусками мяса, чтобы показать окружающим, что он всё ещё аполлон. Он продолжает гнить, куски отваливаются, но они этого будто не замечают.
У других пока стадия отрицания. Они ещё не могут поверить, что он тоже ВСЁ. Ведь каких-то лет 8-10 назад он был молод и полон сил, пил смуззи и расчесывал бороду, а сейчас распух и плохо пахнет. Но они продолжают успокаивать себя, что тот просто растолстел от самых высоких зп в мире, а дурной запах - норма для jvm.
А третьи вообще самые особенные. Они и не думают никого оживлять, просто носятся с пластмассовым скелетом из кабинета биологии, крича на каждом углу, что мясо не нужно, оно только утяжеляет.
Я был в каждом из перечисленных сообществ, и даже с этими... с кыштымсим пиколиспом, но пусть это останется нашим секретом. И скажу вам, не тратьте своё время, бросайте эту хуйню. В мёртвом нет жизни. Тащите живое, соберем из дедули Аполлона!
67 2686572
>>2684553
Коммьюнити иногда - решающий фактор. Ах да, ещё jvm.
мимо
68 2686575
>>2686008

>>перемещение курсора даже не на home row


Так оно же на hjkl (а он на home row). Или я чёт не понял?
Тащемта w, b, e и прочие штуки действительно не на home row. Но они и не всегда нужны.
69 2686928
Привет, пришельцы.
В общем, скачал СИКП, чтобы по вечерам палочкой трогать и встал вопрос о выборе редактора. Все в интернете советуют ставить емакс, потому что охуенная интеграция с REPL-ом, расширяемость и т.д и т.п. Но первое знакомство с этим редактором оставило привкус шоколада во рту.
Во-первых, куча лишнего говна по типу почты, игр, шифрования, архиватора, и т.д.
Во-вторых, вместо добавления функционала его приходится отключать, например, чтобы не видеть эти убогие GUI элементы.
В-третьих, антигуманные биндинги, которые идут со времен space cadet(да биндил crtl на caps, но привкус шоколада так и остался). (evil-моды тоже идут нахуй, потому что иногда биндинги конфликтуют и приходится пердолиться с конфигом)
В-четвертых, кто, блядь, вообще придумал(конечно мозолеед аутизмом) перемещение на Ctrl + f/b/p/n? Этот человек вообще на клавиатуру смотрел? Или у него пальцы кривые?
Собственно вопрос, можно ли писать ваши лиспы в виме и не сильно ли упадет ЮЗЕР ЭКСПИРИЕНС по сравнению с емаксом?
Как же хочется нормальный редактор без вот этого всего. Прям бери и свой пиши на основе Guile.
70 2686931
>>2686928

> антигуманные биндинги


В spacemacs и doom-emacs нормальные семантические биндинги.

>Как же хочется нормальный редактор без вот этого всего


drracket
71 2686933
>>2686931

>В spacemacs и doom-emacs нормальные семантические биндинги


>evil-моды тоже идут нахуй, потому что иногда биндинги конфликтуют и приходится пердолиться с конфигом


Ну и не ТРЪ же.
72 2686977
https://sbcl.org/news.html

>support for cross-compiling the system to Android has been added


Дождались
pizdos.png249 Кб, 1895x975
73 2688945
>>2686928
>>2686931
Харкачую drracket, для сикпа он вполне пойдет. Еще там гуем можно обмазываться. Я вчера на коммонлишпа набрел на portacle, для новичка вроде довольно удобно. Кто-нибудь юзал? Это по-сути емакс с какими-то свистоперделками.
Еще на реддит зашел к коммон лисперам и охуел, смотрите пик.
74 2689005
>>2688945

> набрел на portacle, для новичка вроде довольно удобно.


Его уже вроде не поддерживают. В этом и мало смысла, когда уже есть полноценные дистрибутивы емакса с огромными сообществами, в которых поддержка слайма нисколько не хуже, а другие компоненты более тщательно отполированы.

>Еще на реддит зашел к коммон лисперам и охуел, смотрите пик.


Лол, внезапно. Выжигатель никого не щадит.
Кстати, такая хуйня только в соевой версии, в нормально всё по-старому https://old.reddit.com/r/Common_Lisp/
75 2689285
>>2688945

>Еще на реддит зашел к коммон лисперам и охуел, смотрите пик.


Весь мир с Украиной, чему удивляться?
76 2689315
>>2689285
Адекватные люди не тащат политоту туда, где ей не место.
77 2689595
>>2689315
Ей есть место везде, это неотъемлемая часть человека.
78 2689602
>>2689595
Вообще не оправдания для обмазывания говном своей профессиональной области.
79 2689608
>>2689602
Двачую.
16647110866750.jpg861 Кб, 1286x1935
80 2690919
>>2681844
А я вот не понимаю, почему еще не был добавлен пикрил в шапку.
81 2691376
>>2690919
Потому что никто не добавил.
82 2691920
>>2686928
не ебись сразу с емаксом и лишпом. Выбери что-то одно. Поставь vscode, сделай себе одолжение.
83 2692515
К слову о средах разработки. Мне тут как раз новость о новой версии плагина для идеи на глаза попалась.
https://github.com/Enerccio/SLT
Судя по галочкам в тудушке, самое необходимое из слайма уже умеет, так что, неосиляторы емакса, дерзайте.
84 2692571
Раз уж речь о емаксе зашла, то грех не спросить. ГНУтые уже добавили поддержку ELisp в Guile? Если да, то значит ли это, что в теории можно выкинуть помойный, тормозной и раздутый емакс и написать новый редактор на Guile, сохранив поддержку кучи плагинов для емакса(ну либо обеспечить относительно легкий перенос без переписывания тонны кода)?
85 2692584
>>2692571

>ГНУтые уже добавили поддержку ELisp в Guile?


gccjit прикрутили, а про guile я только слухи встречал.

>и написать новый редактор на Guile


Уже есть lem на общелиспе. sbcl-то, чай, быстрее guile будет.
Присоединяйся к разработке, допиливай, а меня и емакс устраивает
86 2692601
>>2692584

>lem


https://github.com/lem-project/lem/tree/master/frontends/sdl2
О, нихуя! Они фронтенд на sdl2 начали пилить
87 2692607
>>2692584

>Уже есть lem на общелиспе. sbcl-то, чай, быстрее guile будет.


Имхо, общелисп слишком СЕРЬЕЗНЫЙ для таких вещей, когда же Guile - это няшная схемка для встраивания.

>Присоединяйся к разработке, допиливай


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

>меня и емакс устраивает


Меня фундаментальная проблема не устраивает - философия "все в одном". Изкаробки емакс имеет столько ненужных функций, что просто злит. Почему бы этот функционал не вынести в отдельные плагины, которые люди бы устанавливали самостоятельно при необходимости? Вот на кой черт там нужны игры? Или архиватор? Шифровальщик? Ну и пососная работа в терминале тоже иногда злит.
88 2692621
>>2692607

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


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

>Изкаробки емакс имеет столько ненужных функций, что просто злит.


"Из коробки" он умеет только интерпретировать елисп и работать с текстовыми буферами, а всё остальное -- расширения.

>Почему бы этот функционал не вынести в отдельные плагины


Ты не поверишь
89 2692624
>>2692621

>создать слой совместимости с елиспом


Тем более, что оный с каждым годом всё больше и больше мимикрирует под общелисп.
90 2692632
>>2692621

>Ты не поверишь


>Из коробки" он умеет только интерпретировать елисп и работать с текстовыми буферами, а всё остальное -- расширения.


Тогда почему приходится наблюдать и отключать кучу говна после первой установки? Я не знаю, может быть, мне ментейнеры емакса на дебиане говна в штаны залили, но после установки он по дефолту имеет игры и кучу другой спорной функциональности.
91 2692649
>>2692632

>но после установки он по дефолту имеет игры и кучу другой спорной функциональности


Ну да, обычно емакс опакечивают со всеми стандартными расширениями. Но можешь не беспокоиться, они подгружаются исключительно по требованию, на скорости запуска и объеме сжираемой памяти их наличие никак не сказывается.
изображение.png317 Кб, 1108x881
92 2693129
93 2693310
>>2686928

>приходится пердолиться с конфигом


>поставил емакс


>боится лезть в конфиги


Лол.
Чувак, вся суть емакса и вима это именно возможность тонкой настройки через конфиги под свои задачи, иначе от них нет никакого толку. Для вима так и вовсе еще неплохо бы базовое знание вимскрипта и умение писать свои функции. Для емакса думаю тоже. Просто ты пытаешься относиться к емаксу как к обычному текстовому редактору и думаешь что можешь его интуитивно понять и использовать. Это не так.
Емаксу и виму нужно именно учиться. Да, есть специальные книжки для этого, не удивляйся.
94 2698702
И попробуйте только после этого >>2698426 → сказать, что tcl - не лисп
95 2699709
>>2688945
Коммонлисперы просто ебанутые.

>>2689005
А у опенсюсе кстати пидорские флаги в соевой версии, один раз случайно с браузера без редиректора зашел - и все, зашкварился.
image7 Кб, 270x120
96 2699721
>>2686928

>можно ли писать ваши лиспы в виме


Да, spacemacs\doom-emacs.

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

>>2686575
Хоум роу - это (asdf+jkl;), соответственно к h надо тянуться. Нормальные (психически здоровые) люди используют ijkl, ну а поциенты желтого дома, которым кажется, что они инопланетяне, используют hjkl и к концам строки прыгают эргономичными $ и ^. Продолжая тему поста выше - даже не знаю, что хуже: быть пидором, хохлом или вимером.
97 2699730
>>2686479
Так со времен хикки ниче интересного пока так и не появилось, не на эликсир же перекатываться продолжая твою аналогию - это в один разлагающийся труп засунули другой разлагающийся труп и такие: я сделаль!.
98 2699743
>>2686100
Он не коммонлиспер и вообще вроде на кл не писал, после кложи и кложискрипта плотно пересаживался на раст, в фпроге вроде никогда не публиковался и вообще когда фпрог был живой он вроде еще в нгу учился
99 2699757
>>2692607

> Вот на кой черт там нужны игры? Или архиватор?


Это хуйня, вот недавно они еглот затащили в основную поставку. Вопрос - нахуя? Вот у меня все нормально работало, я мог отдельно обновлять еглот, не обновляя всего редактора. Теперь если мне вдруг понадобится например к какому-то неиспользуемому ранее языку подрубиться к лсп, и внезапно там что-то отломается, то придется обновлять весь ебаный имакс в надежде на то, что в новой версии еглота это починили. И разумеется обновление всего имакса приведет к отваливанию каких-то других пакетов. И все ради чего? Ради того шоб сказать, что мол вот, еглот - это СТАНДАРТНЫЙ пакет в имаксе! Бляди, сэр.
100 2699790
>>2699743

> в фпроге вроде никогда не публиковался


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

>после кложи и кложискрипта плотно пересаживался на раст


Хз, не следил, но судя по гитхабу, ничего не изменилось.
101 2699821
>>2699757

>я мог отдельно обновлять еглот


Ты и сейчас можешь, шиз. Что за нашествие неосиляторов в треде?
Он всё ещё есть в элпе https://elpa.gnu.org/packages/eglot.html
Если вдруг тебе понадобится самый последний коммит, просто тащишь его из гита к себе в load-path и просто пользуешься.
https://www.emacswiki.org/emacs/LoadPath
102 2699866
>>2699721

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


>итералли что угодно лучше вима.


Причина подрыва?
103 2699881
>>2699866
О, а вот и вимер подорвался! Побибикай.
104 2699883
>>2699821

>Он всё ещё есть в элпе


Пока может и есть, но после включения в состав имакса автор планировал прекратить релизить отдельный пакет (надеюсь, что его отговорили, не следил)

>просто тащишь его из гита


>просто


Сразу видно человека, который на практике никогда не пытался этого сделать
105 2699888
>>2699790

>Хз, не следил


ну я про то и говорю, что три тезиса - три промаха
а агитационная деятельность у него в основном за шрифты и веб-дизайн, лол
106 2699917
>>2699881

>Побибикай.


Педалировать и сигналить это больше по вашей теме.
Алсо, кидаю тебе JSON в одну строку и твой емакс виснет. Твои действия?
107 2699939
>>2699917

> твой емакс виснет


Не виснет.

> Твои действия?


Запускаю M-x json-pretty-print-buffer и делаю то, что собирался с ним делать
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.

>Сразу видно человека, который на практике никогда не пытался этого сделать


Что изменилось-то? Обратную совместимость ломают и без включения в состав емакса.
109 2700030
>>2699888
Никит, ты? Или это ВРЁТИ от неравнодушного кложурянина?
Я не понял, что ты там себе опроверг?
110 2700053
>>2699939

>Не виснет


Виснет, виснет.
Алсо,

>используют hjkl и к концам строки прыгают эргономичными $ и ^


Куда уж нам до C-f\b, C-p\n и т.д.
111 2700061
>>2700053

>Виснет, виснет.


Ты мне будешь рассказывать, виснет ли мой емакс?
a09615c665d4ec0a1618142d74aff6b6.jpg263 Кб, 1920x1200
112 2700090
>>2699939
Хуя тут говорящий кальмар в тред ворвался.
image.png722 Кб, 1921x1081
113 2700164
Типичный фанат лиспа и пользователь емакса.
114 2700191
>>2700164
Вот многие говорят что паскаль ужасен из за begin, end, но лисп с этими скобками еще хуже, даже paredit не помогает.
115 2700558
>>2699917

>это больше по вашей теме


учите мемы, чтобы не быть баттхертом!
116 2700559
>>2700030

>Я не понял


Тогда перечитай цепочку постов еще раз.
117 2700563
>>2700164
База!

>>2700191
Во-первых, лучше. Во-вторых, помогает. Объективно, лисповый синтаксис - наиболее лучший из возможных существующих. Подчеркну, что именно объективно, т.е. по простоте парсинга, структурного редактирования и т.п.
Субъективно мне больше всего нравится х-льный синтаксис.
118 2700753
>>2700563
Pascal чище выглядит, и еще let <---> var
Неправда, лучший у Forth.
119 2700962
>>2700559
Давай, не виляй попкой, выдели по пунктикам, чтобы было видно, что они не только у тебя в голове.
120 2701076
>>2700962
Если тебе перечитать недостаточно и нужно еще выделить пунктики, то можешь заняться и этим, я разрешаю.
121 2701083
>>2700753
Хз, а мне паскаль не особо нравится. Х-ль эстетичный, епта, но конечно с грамматикой там кромешный пиздец.

У форта нет синтаксиса, пруфмиронг! Бог дал им бесконечность и лисп - нет, хочу стукать кокосом по камню и разделять токены пробелами...
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.


Ну ок, хорошо.

>Что изменилось-то?


Конфликты обновленной версии со встроенной же. Я как-то раз пробовал так орг обновить, лучше бы не пробовал. В итоге так и пришлось откатиться.
123 2701196
>>2701087

>Конфликты обновленной версии со встроенной же.


Это один модуль, чему там конфликтовать?

>Я как-то раз пробовал так орг обновить, лучше бы не пробовал. В итоге так и пришлось откатиться.


У тебя емакс был совсем протухший? Хотя маловероятно, для этого нужно было отстать больше, чем на три мажорных версии.
Не представляю, в чем там ещё можно было обосраться, ибо оргмод прекрасно обновляется пакетным менеджером емакса.
lisp.png17 Кб, 1052x164
124 2701325
>>2701083

>У форта нет синтаксиса, пруфмиронг!


Именно так, и это идеально, никаких ошибок синтаксиса, никаких сложных парсеров.

>Бог дал им бесконечность и лисп - нет, хочу стукать кокосом по камню и разделять токены пробелами...


Так ты сам говорил что то про парсинг, редактирование, тут форт удобнее, не? И зачем лисп когда на форте он реализуется в одну строку? ну с нормальными списками чуть больше
125 2701351
>>2701325

>Именно так, и это идеально, никаких ошибок синтаксиса, никаких сложных парсеров.


Потому ли это, что все они скрываются в пользовательском коде?

>И зачем лисп когда на форте он реализуется в одну строку? ну с нормальными списками чуть больше


А если с сигнальным протоколом, clos/mop, системой типов и прочими ништяками?
126 2701358
>>2701351

>Потому ли это, что все они скрываются в пользовательском коде?


Делать парсеры это неправильный подход в Forth, так что обычно их не делают, из базовых слов знаю только " и комментарии еще через обработку ввода делают, и то этих парсеров нету в ColorForth тк как ему это не нужно из за редактора.

>А если с сигнальным протоколом, clos/mop, системой типов и прочими ништяками?


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

OKAD II для проектирование его 144 ядерных процессоров занимает 500 строк кода, и там нету структур, парсеров итд.
127 2701363
>>2701351
Вот мой код lisp.f без парсеров написан, так и надо писать на форте, через подобных подход, так почти все можно реализовать, кроме сложных каких то форм языковых, там проще сделать аналог lex+bison если уж потребуется, но слова которые их будут реализовывать, и слова описания тоже будут работать без стороннего парсера.
128 2701378
>>2701358
Я имел в виду ошибки и сложность. Из-за примитивности языка приходится велосипедить свои едсл и таким образом переносить сложность в пользовательский код. Вот у тебя там две команды: открывающая и закрывающая скобка. Парность никак не проверяется. Думаю, очень весело будет отлавливать такую ошибку, если случайно потеряешь где-то скобку.
129 2701384
>>2701378
В форте не принято таким заниматься, я запускаю этот код своим фортом написанным на ассемблере, он занимает всего 4кб (linux amd64), и там ошибка печатается только если слово не найдено, пока никаких проблем не возникает, написал на нем пару консольных игр, блог (скоро выложу), сейчас в отпуске еще что нибудь сделаю, наверное ассемблер свой, что бы не зависеть от fasm.
130 2701385
>>2701363
Ну, в некотором смысле это тоже парсер
131 2701395
>>2701384
Расскажи про отладку и про обработку ошибок на форте.

> там ошибка печатается только если слово не найдено


Т.е. подход как в эрланге но без отказоустойчивости в дизайне: "хуй с ним, пусть валится"?
132 2701407
>>2701384
Тебе сколько лет?
133 2701753
>>2701385
Ну итог тот же, поэтому наверное можно, но эти слова не читают исходный код, не меняют курсор исходного кода итд.

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

Подход меньше пиши - меньше будешь отлаживать, реализуем в любом языке программирования, просто Forth и сам часть такого подхода, вот взять этот примитивный обработчик s-exp, это иллюстрирует преимущество использования Forth если придерживаться этого подхода, плюс низкий уровень, мне он просто нравится, у меня нет слов для чтения файлов, сокетов, мой форт не зависит от libc, но у меня есть слово syscall, и через него я вызываю все функции ядра что мне нужны, ну и мои программы по итогу жестко зависят от linux amd64, но я на другой платформе и не собираюсь их запускать.
pcadis.png74 Кб, 916x611
134 2701784
>>2701407
21, а к чему вопрос? Возможно тебя смутило написанное, но если программа работает, выполняет свою задачу, не вылетает, новые возможности добавляются по необходимости, то что в таком подходе может быть странного?

Forth все же лучше подходит для небольших проектов с микроконтроллерами, IoT. Но и обычное ПО с ним вполне можно делать, в первую очередь же нужно выполнение определенных задач, а не красивый интерфейс, или возможность работы на всех платформах, итд. Вот например у Maxidom внутренние программы на ncurses и люди довольны, говорят что быстро удобно, ПК АДИС тоже консольный, такое можно реализовывать прямо на моем Forth, через syscall, и никаких трудностей не будет.
135 2702386
>>2701196

>Это один модуль, чему там конфликтовать?


Зависимостям видимо.

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


Не помню конкретных версий, но емнип не особо.

>оргмод прекрасно обновляется пакетным менеджером емакса.


Я пробовал его так обновлять несколько раз с интервалом в несколько лет, практически каждый раз заканчивалось предсказуемо
136 2702391
>>2701325

>никаких сложных парсеров


...кроме тех, которые предстоит написать ЛИЧНО ТЕБЕ!

>форт удобнее


Ты меня пытаешься стриггерить, но я не буду поддаваться на провокацию.
я прост довольно глубоко в конкатенативщину погружался
137 2702393
>>2701358

>но я определенно могу это реализовать короче по символам чем в SBCL


Могу реализовать это еще короче по символам чем в форте (на джей, разумеется). Господа, кто даст меньше?
138 2702452
>>2702393
Джей, который JAI? От куда у тебя доступ к нему?
139 2702516
>>2702452
Который ascii apl, очевидно же
140 2702627
>>2702391

>...кроме тех, которые предстоит написать ЛИЧНО ТЕБЕ!


Не пишу сложных парсеров, ну ладно, кто я такой. Вот Чак Мур не пишет и не советует, он не авторитет в мире Forth? Его код доступен.

>я прост довольно глубоко в конкатенативщину погружался


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

>>2702393
Точно сможешь? Можно взять другую задачу, которую можно решить за день. Но J хороший язык, https://cosy.com/ это Forth + APL.
141 2705430

> форт - чёрт, был пёрт как хуёрт в попёрд


> Лиспотред


Каждый раз как в первый.
142 2705552
>>2705430
Зачем вообще этот оффтопик нужен? форт язык же чисто для прикола
143 2705735
>>2705552
Так я то же самое спрашиваю. Просто как провокация, чтобы поднять мёртвый тред.
144 2708290
>>2701358

>но я определенно могу это реализовать короче по символам чем в SBCL.


Есть у меня на примете задачка получше: http://lorwiki.zhbert.ru/index.php/LOR-contest
Запилишь нам решение на форте на любом из, когда будет свободное время? Было бы интересно посмотреть.

Кстати, на других языках тоже было бы интересно посмотреть. Так что доставайте свои схемы, тикили, реболы, джулии, прости господи, яваскрипты с кожурами, будем письками мериться.
145 2708614
Коммонлисперы могут объяснить в чем прикол иметь отдельный неймспейс для функций? После других функциональных языков очень неприятно.
146 2708840
>>2708614

>После других функциональных языков очень неприятно.


Просто ты ещё не научился его готовить. Ты пытаешься писать как на других функциональных языках и закономерно получаешь неидиоматичный код, потому тебе и неприятно.
147 2708854
>>2708840
А как писать не как на других фп? Концептуально-то все тоже самое, но только всякие бесячие формы типа function/#' и funcall.
148 2708978
>>2708854

>А как писать не как на других фп?


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

>Концептуально-то все тоже самое


То же самое, что и в хаскеле, анлямбде, АПЛ или рефале? Любопытное мнение.
Другие ФЯП, о которых ты говорил, - это схема, да?
149 2709164
>>2708614
CL это не ФЯ.
150 2709167
>>2705552
Но есть же Раптор!
151 2709175
>>2709164
А что ФЯ?
152 2709598
>>2708978
Я имел в виду ФВП, ты умеешь в функции высшего порядка на CL без фанколлов? Ну покажи тогда. ФВП в других ФП типа хаскеля/схемы/кложи/других не знаю выглядит не так убого все же.
153 2709635
>>2708614
Просто кривой квирк старых реализаций, который до сих пор тащат, потому что так исторически сложилось. ну и да, кл настолько функциональный, как руби или жс
154 2709692
>>2709598
Тебе ещё из хаскеля должно быть известно, что если приходится писать свою фвп или у тебя явная рекурсия, то значит, ты просто не осилил подходящий комбинатор.
Так что ты явно делаешь что-то не так, если у тебя много функолов в коде. Вот сейчас на одном своем проекте замерил, на 712 строк кода приходится всего 2 функола.
Короче, давай уже свой проблемный код в студию.
>>2709635

>ну и да, кл настолько функциональный, как руби или жс


Скорее, как окамл. Кстати, не многим известно, но фильм Зита и Гита снят именно про них.
155 2709762
Я так и не понял, мне стоит CL учить для личных проектов и просто кодинга FOR FUN, или это кал как тут пишут, и легче на Scheme делать?
156 2709831
>>2709762

> Common Lisp - разрабатывался как промышленный язык


> Scheme - это минималистичный лисп, пригодный в основном для обучения, исследований


Думай.
157 2709894
158 2709998
>>2709762
Чел, ты в итоге с ума сойдёшь от этого выбора. Делай как я: учи оба.

Но вот тебе хинт: на лиспе написать что-то большое и работающее быстрее и удобнее. Схема вылощена, как будто ещё кислотой чистили. И я до сих пор не понимаю как продолжения работают и как их юзать. Любой код с ними у меня в голове синий экран смерти вызывает.
159 2710052
>>2709692
Да не то чтобы их очень много, где-то пара штук на 300 строк, но просто я не понимаю зачем вообще так было делать? Единственный аргумент который я видел это "зато мы можем переменную назвать list а не lst", хотя в чем проблема называть переменную list в локальном контексте в той же схеме я не понимаю.
160 2710080
>>2709998
Мне очень понравилось что-то на Лисп писать. REPL с емаксом и компиляция кода без надобности весь файл пересобирать очень удобны. Я в си заебался !make && !./main писать, тут радость вызывает пока что абсолютно все
161 2710089
>>2710080
В первый раз когда у тебя что-то логическое наебнётся из-за "органического" программирования, вспомнишь чудика из лисп-тредов, который репл наотрез отказывался использовать.
162 2710147
>>2710089

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


Стори?
163 2710148
>>2710089
Что такое "органического" программирования?
164 2710156
>>2710147
Это я. Два-три треда назад бомбил.

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

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

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

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

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

>>2710148
Не настроен сраться снова. Спроси у адептов REPL про "выращивание" программы/образа.
165 2710157
>>2710052

>но просто я не понимаю зачем вообще так было делать?


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

>Единственный аргумент который я видел это "зато мы можем переменную назвать list а не lst"


Ну, то, что не нужно париться об именах переменных, сильно упрощает кодогенерацию макросами.
166 2710165
>>2710052
Кстати, рекомендую serapeum, если хочешь, чтобы твой код был более функциональным, а волосы мягкими и шелковистыми.
См. https://github.com/ruricolist/serapeum/blob/master/REFERENCE.md#functions fbind, defalias, mvfold
167 2710166
>>2710156
О, а вот и единственный в мире неосилятор слайма пожаловал.
168 2710171
>>2710157

>в ней быть интроспектирума


*должна быть интроспектируема
169 2710175
>>2710166
Я никуда и не уходил.
170 2710178
>>2709998

>И я до сих пор не понимаю как продолжения работают и как их юзать.


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

>Любой код с ними у меня в голове синий экран смерти вызывает.


Это нормально. Уследить за рваным кодом не так уж просто
171 2710181
>>2710178

>Если знаешь хаскель


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


Ну чел(((
172 2710186
>>2710181
https://wiki.haskell.org/MonadCont_under_the_hood
У них даже статья есть, где подробно разжевывается
173 2710194
>>2710156

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


Ну вообще-то это свойство системы когда-то спасло американский спутник, который находился возле другой планеты.
174 2710198
>>2710194
А gdb когда-то спас мою жопу от пожара, когда плюсовая программа выдавала сегфолт, ага.

Свойство, которое можно использовать в некотором контексте? Хорошо.
Свойство, фанатики которого не дадут тебе спокойно жить, пока ты не конвертируешься в их веру? Эээ, без комментариев.
175 2710201
>>2710198

>А gdb когда-то спас мою жопу от пожара, когда плюсовая программа выдавала сегфолт, ага.


ну тут твоя жопа, а там спутник, на который было миллионы долларов потрачено, чуешь разницу? ещё я новостей не видел, чтобы gcc или gdb спас кого-то, скорее наоборот
176 2710203
>>2710201

>чуешь разницу?


Нет.
177 2710207
>>2710198

>Свойство, фанатики которого не дадут тебе спокойно жить, пока ты не конвертируешься в их веру? Эээ, без комментариев.


Мб ты что-то не понял? Просто если тестировать отдельные модули\функции, а потом обнулять REPL, то выглядит довольно здравой идеей.
178 2710212
>>2710207
Ага. Давай я соглашусь с этим и скажу, что попробую.

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

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

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

Нет, спасибо. Кушайте сами, не обляпайтесь только.
179 2710217
>>2710207
Да он шизик, не обращай внимания.
ЕМНИП он писал код в виме, а потом вручную его копировал в репл, потому что автоматизация - зло. Видимо, копировать каждое изменение было лень, поэтому в образе накапливалось расхождение с кодом.
180 2710218
>>2710217

>а потом вручную его копировал в репл


Так ты в своей голове представлял видимо. Додумывал то есть.

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

Так что нет, вручную я не копировал.
181 2710228
>>2710218
Не-не, я помню, ты пытался в интерактивную разработку, но спотыкался на ровном месте об свою шизу.

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


Хм. Должно быть, очень удобно. Особенно когда в проекте больше одного файла и есть зависимости.
Даже не знаю, стоит ли говорить про асдф
182 2710244
>>2710228

>интерактивную разработку


Не совсем. В расширяемую пользователем.

В итоге я редизайнул эту хуйню. Теперь это asdf система, которую пользователь просто добавляет в зависимости своей кастомной asdf системы, а потом вызывает функцию make-executable, который настраивает repl sbcl'а и добавляет reader macro. Сам исполняемый файл - это блоб на 50 мегабайт, который из себя представляет консольную утилиту с текстовым интерфейсом (точнее фуловый sbcl, который выдаёт себя за консольную утилиту).
183 2710265
>>2710244

>Не совсем. В расширяемую пользователем.


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

>В итоге я редизайнул эту хуйню.


Ну и какую проблему это решает?

>а потом вызывает функцию make-executable


https://asdf.common-lisp.dev/asdf.html#index-image_002dop

>который настраивает repl sbcl'а и добавляет reader macro


У всех это обычно в ~/.sbclrc
184 2710268
>>2710265

> называет шизом


> потом я должен его советы читать


А вас не спрашивают.
185 2710275
>>2709692

>Скорее, как окамл.


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

почему французы такие уебки и не могут завести блядь нормальный тулинг и нормальную библиотеку, так бомбит каждый раз как об этом думаю, такой бы заебатый дефолтный язык вышел вместо всяких ГОвноЛАНГов и прочей хуйни
186 2710276
>>2710268
Да мне просто любопытно, что произойдёт с твоей шизой, когда ты осознаешь надуманность проблем, которым так отчаянно противоборствуешь.
187 2710279
>>2710156
В кложе например есть удобный тулинг для пересборки всего кода твоего проекта без перезапуска образа. То есть библиотечные кэши как были так и остаются, а все твои неймспейсы уничтожаются и собираются заново. Это чуть дольше, чем компиляция отдельной формы, но все еще на несколько порядков быстрее пересборки всего проекта, очевидно.
188 2710280
>>2710276
Использую более простой метод. Так же, как с редизайном номер один. Значит будет редизайн номер два, три и так до посинения.

Что касается проблем, которым я действительно противоборствую, типа слаймозависимых зилотов - тут уж надуманными они явно не будут.
189 2710281
>>2710157

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


Ты какой-то бред написал, лисп-1 vs лисп-2 не имеет никакого отношения к интроспектируемости. Это литералли деталь реализации, которую тащат из 80-ых
190 2710285
>>2710178
Я тоже не осилил продолжения. Ну то есть я понимаю, как они могут как концепция пригодиться при трансформации кода, но как (а главное - зачем) использовать их непосредственно на прикладном уровне - хз.

инб4 эффекты
191 2710292
>>2710281
Дан список символов, найди соотвествующие им функции, если таковые определены.
192 2710300
>>2710212
А каким местом проблемы слайма\кл к интерактивному программированию?

>ограничивать выбор инструментов плохая затея


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

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

https://www.youtube.com/watch?v=PUv66718DII
193 2710302
>>2710285
Самое очевидное применение - асинхронщина. На продолжениях пишется легко и органично, без лапши из колбеков
194 2710303
>>2710292
-> (мап резолв) (фильтер фн?); нутыпонел
195 2710306
>>2710300

>который в общем-то уже давно признан объективно более лучшим для построения любых интерактивных систем


Тогда не нужно пытаться это впарить, как отчаявшаяся РСП-сэйлс с двумя детьми и ипотекой.

"Объективный" - значит рано или поздно каждый сам дойдёт до этого. Когда ты добавляешь "уже давно признан ... лучшим" - я чувствую запашок фанатичной уверенности.
196 2710308
>>2710302

>без лапши из колбеков


Уже давно нигде никаких колбеков нет, только асинк\авейт и цсп. Чем продолжения удобнее асинк-авейта?

я ж говорю, все равно в итоге дискас сведется к эффектам, лол
197 2710320
>>2710306

>Тогда не нужно пытаться это впарить


Я хуй знает, что там у тебя за психические травмы и кто тебе там что-то пытался впарить, мне похуй.

>"Объективный" - значит рано или поздно каждый сам дойдёт до этого


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

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


Ну ты там это, юнити (игры в котором делают) какой-нибудь открой, посмотри сколько там ассетов в сторе - это все тайные зилоты имакса и слайма, инфа 100%
198 2710326
>>2710320

>мне похуй


Видно по количеству букв.
199 2710333
>>2710326
Мне похуй на твои психические травмы, шиз. Тред\раздел - про разработку ПО, остальной мой пост этому и посвящен.

на всякий случай насрал говном тебе в рот, ты какой-то токсичный
200 2710334
>>2710333

>ты какой-то токсичный


>на всякий случай насрал говном тебе в рот


>ты какой-то токсичный

201 2710336
>>2710303
Ну ок, в схеме это через костыли делается.
А что там насчет области видимости?
202 2710344
>>2710334
Это именно так и работает. Кто к нам с говном придет - говна в рот и получит.
203 2710346
Лиспаны, обьяните, пожалуйста, как у языка, на котором ничего не пишется, может быть такое большое сообщество по всему миру?
204 2710348
>>2710308

> Чем продолжения удобнее асинк-авейта?


Тем, что асинхронный код ничем не будет отличаться по виду от синхронного. Очевидно же.
205 2710352
>>2710336
А что с ней? Я лично не вижу смысла называть локальные переменные тем же именем, что и библиотечные функции - это в любом случае только вносит путаницу при чтении кода. (Впрочем, сделать это все равно никто не мешает, локальный биндинг просто затенит библиотечный, ну стандартные правила лекической видимости.)

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

Наконец, даже чисто концептуально выделять замыкания в какую-то отдельную категорию нелогично, потому что, ну блин, весь смысл ФВП и замыканий в том, что это такие же значения, как любое другое значение. Давайте тогда отдельные неймспейсы для чисел и строк заодно заведем. Бред же.
206 2710355
>>2710348
Так и с асинк\авейтом он по форме не отличается от синхронного (в этом и смысол асинкавейта). Можешь привести пример, который демонстрирует разницу в чистоте между асинкавейтом и продолжениями?
207 2710358
>>2710346

>Walmart, CircleCI, Heroku, Puppet, Netflix, Soundcloud, Spotify, Facebook, Groupon, Red Hat, Oracle, Сбербанк.


>ничего не пишется

208 2710360
>>2710344
Если этот тред является представительной выборкой "лисп хакеров", которые, по-хорошему должны показывать насколько лисп охуенен, то не удивительно, что он загнулся.

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

>Я в си заебался !make && !./main писать, тут радость вызывает пока что абсолютно все


Попробуй С++, там IDE и есть REPL, почти все можно проверить статически, пересборка это одна кнопка, и используй отладчик, он позволяет вставлять код, менять значение переменных итд, в качестве IDE советую CLion.
210 2710367
>>2710358
Ну что-то на уровне КОБОЛА, да. Даже из области, для которой лишп и создавался, его питон выгнал.
211 2710370
>>2710363

>2023


>C++


тонко ты его затроллил, бвахаха
212 2710371
>>2710194
И что мешало залить новую программу? Можно еще всегда работающий процесс пропатчить. Вояджеры же нормально патчат. И тебе не просто так рассказали про gdb, там можно и функцию наживую пропатчить, и значения посмотреть поменять.
213 2710373
>>2710360

>Если этот тред является представительной выборкой "лисп хакеров",


Тебе лет 15 или ты просто туповатый?

>Не как в азаза всё выдумали уже за тебя


Я вообще без понятия о чем ты и с какими голосами в голове разговариваешь. Съеби в /psy/, шиз!
214 2710376
>>2710370
Единственный годный метаязык в наше время
215 2710377
>>2710352

>Я лично не вижу смысла называть локальные переменные тем же именем, что и библиотечные функции


Что плохого в том, чтобы назвать переменную str, next, rem, count и т.д.?
>>2710355
Ты не понял. С продолжениями не нужно никаких ключевых слов, не нужно никак преобразовывать код, потому что реализация асинхронного ио может просто взять лямбду продолжения и повесить её на событие.
216 2710378
>>2710367

>стартапы


>что-то на уровне КОБОЛА


/0

>из области, для которой лишп и создавался


Какой лишп? Лишп - это семейство языков программирования, как си-подобные языки (с, с++, с#, джава, раст). Изначально лишп создавался для написания академических публикаций по символьным вычислениям, але.
217 2710379
>>2710373
Фу, как грубо. Кложуристы все такие токсичные?
218 2710380
>>2710370
Это наиболее продвинутый язык сейчас, особенно если использовать патченный clang с рефлексией, есть крутые рейнджи, есть рефлексия, есть комплтайм, есть лучший оптимизирующий компилятор в мире (если вы подумали о fortran, то вы ошиблись, он отстает от С++ и язык вовсе НЕ позволяет как то лучше оптимизировать, подробнее в гугл). Говоря о том что IDE это REPL я не троллю и ничего не путаю, если у вас контракты везде, и статика, а отладчик позволяет патчить код и менять значения, у вас есть все что нужно.
219 2710381
>>2710380
Зачем он нужен, когда есть джулия? На ней числодробилки на уровне фортрана по производительности.
220 2710384
>>2710377

>Что плохого в том, чтобы назвать переменную str, next, rem, count и т.д.?


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

В этом плане, кстати говоря, какой-нибудь cdr мне импонирует больше, чем rest\tail.
221 2710388
>>2710379
Нет. А вот харкачеры - да.На что тебе прошлым постом и намекалось.
222 2710389
>>2710376
>>2710380
Опять жир с монитора оттирать, ну ёпт...
223 2710390
>>2710384

>А распространенные слова типа next не использовать в именовании библиотечных функций.


В кложе решили иначе.
224 2710397
>>2710377

>реализация асинхронного ио может просто взять лямбду продолжения и повесить её на событие.


Ну так и компилятор может переписать твой код в кп-стайл и навесить в любой точке что угодно, я ж не про это. Давай еще раз, я человек простой, от колл\цц у меня бсод в мозге, объясни мне на примере. Вот есть джва запроса, нужно взять результат того, который придет первым, и передать дальше, либо отвалиться по заданному таймауту. Как на продолжениях это выглядит?
225 2710400
>>2710390
Ну... да, и что? не понял, при чем тут это
226 2710413
>>2710381
Производительность хуже, библиотек нету, поддержки нету, IDE достойных нету как и инструментов, статические анализаторы есть под нее хоть?
227 2710414
>>2710381
Не говоря уже о том что язык сливает по возможностям.
228 2710598
>>2710389
неосилятор, спок.
229 2710627
>>2710157

>динамической природой общелиспа


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

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


Да что-то не возникало таких проблем, на крайний случай есть gensym.

>>2710165
Крутая штука, у меня есть похожая вещь, но маленькая, правда один неймспейс она мне все равно не сделает. К тому же если быстро окинуть взглядом почти все это есть в колже из коробки.
230 2710716
По поводу funcall. Не пойму, почему без него то нельзя было? Когда пишешь форму, оно же пытается 1 аргумент как функцию вызвать, что мешает с переменной из параметров так же сделать?
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
232 2710918
>>2710827
В дополнение: (funcall 'f 1 2) будет 3.

>(set! f cons)


В схеме так нельзя, сначала надо определить f, т.е. должно быть
(define f cons).
233 2710996
>>2710827
А (setf (function f) #'cons) нельзя?
234 2711198
>>2710627

>динамической природой общелиспа


>Т.е.?


>возможность меня куски кода на лету


Не совсем. Речь, скорее, об особенностях дизайна языка как живой системы а-ля смолтолк.

>один неймспейс для всего никак этому не мешает.


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

>Да что-то не возникало таких проблем, на крайний случай есть gensym.


Я про макросы типа (do-select ((a b c list d) :from table) ...)
Когда имя переменной не выбирается программистом, а продиктовано извне.

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


Кек, там подписано же, откуда что взято. Что-то из кложи, что-то из хаскеля, что-то из J
235 2711211
>>2710996

>А (setf (function f) #'cons) нельзя?


fdefinition, а не function
Но так делать не надо, есть defalias и fbind из серапеума
236 2711242
>>2710918

> В схеме так нельзя, сначала надо определить f


На практике можно.
237 2711915
>>2710358
[ситейшн нидед]
CircleCI допустим я нашел, но там кложа, остальные тоже нитакусиковые крудо опердени или есть реальные случаи, гже прям без лиспа никак было?
Особенно интересует сбер.
238 2712994
Что такое символьные вычисления?
239 2713003
>>2712994
Преобразования структур, на нижнем уровне которых находятся символы.
240 2713112
>>2713003
Что такое символы?
241 2713130
>>2713112
Фишки, которые отличаются друг от друга.
242 2713136
>>2713130
Что за фишки?
243 2713678
>>2712994
Программирование с использование символов. Символ в лиспе - это тип. Символы можно манипулировать для генерации кода. Насколько я понимаю термин, символьные вычисления - это тот случай когда ты используешь символы как данные. Просто привязывание значения к символу вроде как не считается, но могу ошибаться.
244 2714082
>>2711915

>но там кложа


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

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


Таких случаев не бывает, это не так работает.

>Особенно интересует сбер.


Емнип одна команда писала анализ логов (или что-то в таком духе), было несколько вакансий. Опять же это кложа, на других лиспах вакансий нет.
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)
246 2714442
>>2714358
В схеме пара условие-значение (как и в CL) должна быть в скобках, это в кложе она не нужна.
Вообще, если для себя учишь лисп, то лучше начинай с кложи, она и проще других и можно на практике применить.
Кроме того, поскольку отношение "больше" транзитивно, то функция ">" принимает много аргументов, так что можно сократить так:

(define (func a b c)
(when (> a b c)
(+ (square a) (square b))))
247 2714449
>>2714442
Да я по книжке Структура и интерпретация компьютерных программ иду. А она про Scheme. Или особо не важно и можно просто смотреть реализацию тех или иных приколов, описанных в книге, где-то ещё?
248 2714456
>>2714449
Я не читал эту книжку, но она довольно старая, так что с учетом того, что у схемы десятки реализаций код оттуда вряд ли будет везде работать, и я думаю, что можно найти более современные книги с таким же примерно содержанием.
249 2714460
>>2714456
Спасибо. Посмотрю.
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, ну типа именно та версия, которая используется в книжке, так что примеры как есть должны работать.
251 2714572
>>2714563
Да в целом всё работает, но я в упражнении с синтаксисом натупил.
252 2716111
>>2710080

>Я в си заебался !make && !./main писать


В вскод можно сделать перекомпиляцию при сохранении файла, правда не уверен, что уже есть готовое расширение, возможно придется писать самому. В Ви и Имакс я думаю тоже можно. Я уже молчу про хоткеи.
253 2716179
>>2716111
Я уже молчу про Ctrl+R и fuzzy finder.
168628924399873505.jpg122 Кб, 720x1600
254 2726724
Втф?????
255 2726915
>>2726724
Весь "западный мир" с Украиной, используй достижения остальной цивилизации если не нравится.
256 2726919
>>2726915
Только об этом раньше надо было думать, вот например интересный проект
https://тхаб.рф/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)
257 2726936
>>2726919

> /// родись - это аналог new или create


ааа
258 2727065
>>2726915

>Весь "западный мир" с Украиной


вот это манямир, ору
259 2727693
>>2726724
Ахахаха, шепелявые официально зашкварены.

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

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

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

И переводить с латиницы надо сразу на глаголицу, кстати. Ибо так брутальнее.
261 2727701
>>2727699
гойдаскрипт
262 2727969
>>2727699

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


Вот рили интересные идеи, даже в отрыве от копрославской шизы.
263 2728311
>>2727969
Была бы какая-то тусовка, где это все можно вкидывать и обсуждать - глядишь, коллективный разум и выработал бы что-то интересное, эх...
264 2728422
>>2728311

>можно вкидывать и обсуждать


ты только что двач
265 2728540
А common lisp(далее CL) вообще хорошо подходит для библиотек например? сейчас scheme изучаю, хочу потом CL изучить и написать библиотечку для крудошлепства, смогу я такое сделать? умеет CL с сокетами работать? или язык не для такого немного?
266 2728556
>>2683138

Соус?
267 2729018
>>2682197
Ravenpack сейчас ищут разраба на Common Lisp. Но нужно физически присутствовать в Марбелье.
>>2683183
У них Clojure, они его спонсируют прямо.
>>2684172

>коммон лиспы


См. выше, бывает нужен где-то.
>>2686100

>если кто-то здесь такой помнит


У меня есть выпуски, так ещё и не прочитал толком ни один. Надо бы, хорошо ведь писали.
>>2688945
Соевики, хули. Это общая проблема нашей отрасли. Видел список от ctorecords? Не говорю уже про отмену ветки master три года назад.
>>2727699

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


Независимость слов от порядка.
268 2730994
>>2729018

>Не говорю уже про отмену ветки master три года назад.


Везде main меняю на master, потому что заебало.

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

Тьфу, блядь!
269 2731012
>>2730994

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


Да это криптоглобалхомо подпездывают и в заблуждение вводят. Ибо когда в стране, которая экспортирует свою культуру, технологии и образ жизни на весь мир происходит что-то, то это касается весь мир. Глобализация же.
rectangle.png392x106
270 2743346
Пусть есть программа, в которой часто используются прямоугольники, выражаемые координатами на дискретном клетчатом поле (то есть поле по типу шахматной доски). Нужно часто выполнять две задачи, связанные с этими прямоугольниками: обходить их периметр и обходить их площадь. Пикрелейтед - закрашивание серым: периметра и площади. Из правил хорошего стиля отсюда выводится, что нужно реализовать краткую запись для этих самых обходов.
В Python это можно сделать двумя генераторами. Тогда для обхода периметра достаточно написать что-то вроде "for pos in rect_bounds(rect):", для обхода площади - "for pos in rect_area(rect):". Как лиспер решит эту задачу?
271 2743403
Я тут в качестве хобби начал изучать Clojure и чем дальше, тем больше начинаю охуевать. Сам я не разработчик, не вкатун, просто любознательный немного. Разрекламировали мне кложуру как очень простой язык, приводили в плюс то, что мало типов/структур данных и миллион функций обработки, мне нравилось экзотичность и лиспоподобность, плюс функциональщина. Даже против джавы я не
был против в этом контексте. Ну а хули, миллион всего уже написано, простой доступ ко всей инфраструктуре. Для веба даже на богомерзком js писать не надо. Ну и нет ебаного ООП со всей этой хуйнёй, что ему сопутствует. Типа в рекламных буклетах всё хорошо.

Но чем дальше я изучаю, тем больше мой ньюфажий мирок начинает трещать. Мало структур данных и миллион функций нихуя не плюс. Потому что под каждый пук посложнее у нас есть другая функция, которая расширяет предыдущую и они типа разные. Надо что-то более сложное? Есть ещё другая функция, которая принимает другие функции, которые имеют разную логику работы и так до бесконечности. Все они вроде одинаковые, но нет, они чуть-чуть различаются и некоторые из них не стакаются.
И я говорю не про вложенность какую-то, нет, я именно про то, что куча почти одинаковых механизмов, которые делают почти то же самое, но чуть более развёрнуто/вложенно и т.д.
Такое ощущение, что у автора языка такая же каша в голове из хороших концепций, как и у меня после их изучения. Да, я знаю, что их купил банк, но всё равно, выглядит пиздец.
Я конечного много не знаю и не разбираюсь в программировании, но всё равно.
272 2743743
>>2743403
ФП имеет ничуть не меньший потенциал быть невыносимым, чем ООП. А все из-за переиспользования абстракций, которые плодить нехуй делать, чтобы потом пихать их в мапы с комбинаторами, превращая код в нечитаемую кашу, и главное еще писать все однострочником без байдингов.
Кстати, ФП это тру-парадигма, берущая корни в лямбда исчислении, -- альтернативе машине Тьюринга, а ООП это хуй пойми что, ни то это синтаксический сахар чтобы автокомплит работал, ни то это как то связано с рантайм диспатчем, которого при этом нет в Окамле.
Я бы кложу изучил чисто ради ихних интерактивных тетрадок Clerk, это всяко интереснее выглядит чем технофашистский типодроч в Хаскелле, воот.
274 2743921
>>2743833
Проблема в том, что расширения для iterate не дружат с вложенными и последовательными циклами, а только с параллельными. Из-за этого если хотим писать что-то вроде (for pos in-area rect) и (for pos in-bounds rect), то в случае обхода площади код драйвера получается довольно запутанным, но все-таки читаемым. А вот для обхода периметра придется написать адовый говнокод с командами next, да еще разбавленный alexandria:with-gensyms и запятыми.
Тем временем на Python соответствующие генераторы напишет любой дебиловатый джун.
275 2743993
>>2743743

>ООП это хуй пойми что, ни то это синтаксический сахар чтобы автокомплит работал, ни то это как то связано с рантайм диспатчем, которого при этом нет в Окамле.


То самое, смоллтоковское ООП, пошло от actor model и, в свою очередь, повлияло на неё. И которая параллельно стала идейной основой для Scheme и Erlang. Мейнстримное ООП можно считать результатом искажения actor model, вызванного тем, что разработчики языков знали про Smalltalk, но не хотели или не умели правильно реализовать его ООП.
https://en.wikipedia.org/wiki/Actor_model
276 2744019
>>2743346
(for-each ... (rect->list r :perimeter))
277 2744053
>>2744019
Тогда в куче будет выделен список всех клеток периметра, что означает лишнюю работу для сборщика мусора. Как учебный или игрушечный пример сойдет, как серьёзный код - нет.
278 2744108
>>2743346
я не особо понял в чем проблема на ставлю на то что ты долбоеб
279 2744155
>>2744053

> учебный или игрушечный


На лиспе иного не пишут :)
Скомпилировать достаточно продвинутым компилятором - и лишнего консинга не будет. А если и будет, он не составляет проблемы с современным сборщиком.
Список клеток, кстати, можно реверсировать, фильтровать etc стандартными средствами лиспа.
280 2744194
>>2744053

>Как учебный или игрушечный пример сойдет, как серьёзный код - нет.


Имаджинируем ебала лисперов, когда чтобы решить то, что в Си решается обычным циклом, в лиспе приходится выворачивать себе анус на изнанку.
281 2744349
>>2744053
Вариант от сеньора в студию.
>>2743346
Это троллинг тупостью из-за лени гуглить?
https://lispcookbook.github.io/cl-cookbook/iteration.html
282 2744984
>>2744194
Ты и на лиспе можешь написать обычный цикл. Даже с goto, если совсем прожженный олдскульщик
283 2744985
Кстати, раз уж такая тема зашла, спалю годноту
https://github.com/shamazmazum/stateless-iterators/
image.png116 Кб, 889x849
284 2745942
Вы ебанутые? Как вы читаете код с таким форматированием? Или это нужно мозг специально деформировать, чтобы "на ходу" код понимать?
285 2745947
>>2745942
Надо лгбт-скобочки.
286 2745962
>>2743346

>В Python это можно сделать двумя генераторами


В любом из лиспов тоже.

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

>for pos in rect_bounds(rect)


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

>Как лиспер решит эту задачу?


Какую задачу-то? Ты половину поста описывал фигню про фигуры и площади, а в конце спросил, как в лишпах делать итерацию.
287 2745973
>>2743403

>Сам я не разработчик


>начал изучать Clojure


Зачем? Ты ебанутый? Это язык для синьоров-помидоров с большим опытом индустриальной разработки и знанием жмв\жс платформы.

>Разрекламировали мне кложуру как очень простой язык


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

>Потому что под каждый пук посложнее у нас есть другая функция


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

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


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

>Я конечного много не знаю и не разбираюсь в программировании


this
288 2745974
>>2743993
Крестовое ооп идет от симулы.
289 2745980
>>2745942
Для кложи это не вполне идиоматичный код, хорошим тоном считается не более двух-трех уровней вложенности. хотя хикка пишет и так как на пике и ниче

Но не вижу никаких проблем с чтением пикрил кода - обычное форматирование, такое же как в си-подобных языках, любой разработчик с айкью выше 80 может это прочитать. В чем конкретно бугурт-то?
изображение.png20 Кб, 482x164
290 2746615
>>2743921

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


Один простой for. Не путанее вложенных циклов

>А вот для обхода периметра придется написать адовый говнокод с командами next, да еще разбавленный alexandria:with-gensyms и запятыми.


Кода будет чуть больше, чем в первом случае, но соизмеримо с 4мя циклами.

Другой вопрос - действительно ли для твоей задачи нужен навороченный iterate? Большинство лисперов в таких случае пишут простой do-подобный макрос.
291 2746617
>>2746615

>3


Бля, константу забыл. Ну ты понел, что имелось в виду.
image.png158 Кб, 943x632
292 2765187
ебать, зашёл в какой-то гайд по кложуре, а там в первом же посте про пидоров, коксакеров, вомен ин тех и прочая шалупонь... и это в 2013 году-то
293 2766840
>>2765187
Лягушку варят медленно. Обычно люди интеллектуальных профессий имеют самые слабые скрепы. То есть? Можно начинать с них.
image.png347 Кб, 892x496
294 2769089
>>2766840
Бля, автор реально какой-то припизднутый. Фурифаг, возможно зоофил(ну ясен хуй), извращенец, эксгибиционист(иначе бы вся эта хуйня не покидала его спальни), бдсмщик.
Судя по этому, гайд наверно реально хороший.
295 2770452
>>2769089

>Бля, автор реально какой-то припизднутый.


>Судя по этому, гайд наверно реально хороший.


Ты или крестик сними, или трусы надень.
296 2770829
>>2769089
Можно ли у таких как-то отбирать права на репозитории? Вдруг в один день окончательно поедет и снесёт всё? Помните, что произошло с оригинальным лурком? Его тоже держал какой-то небинарный транспидор.
297 2771599
>>2681837 (OP)
Макрос стрелочки из Clojure -> это попытка имитировать превосходящий язык программирования, а конкретно Forth, но приблизиться к нему не получается, убогие скобки все засоряют и мешают, сравните:

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

Forth: a b c d
298 2772138
>>2771599

> имитировать превосходящий язык программирования, а конкретно Forth


Напиши функцию, считающую корни квадратного уравнения на форте, например.
cos.jpg48 Кб, 448x336
299 2772376
>>2772138
Зачем? Без понятия как их считать, думаю 3-4 строки займет, на тебе лучше просчет косинуса и синуса на ColorForth.
300 2772842
>>2772376
Вот это вот превосходящий язык? Пиздец.

А где тред твоего превосходящего языка? А то из триады CL, Scheme, Forth (которых я хотел выучить в универе), я выучил только полтора. Подсказка: форта среди них нет.
301 2772933
>>2772376

>Зачем?


Чтобы увидеть "превосходящий язык" в действии при трех-четырех значениях на стеке.

>на тебе лучше


О том и речь - выглядит как нечитаемая каша. Write only язык.
302 2773030
>>2772933

>Write only язык.


Ну, он щас начнёт оправдываться, что это только для тебя и вообще это acquired taste.
303 2773126
>>2773030

>что это только для тебя


Самое смешное, что я-то как раз понимаю, что там происходит, потому что эмулятор GA144 тыкал в свое время, а этот дурачок - наверняка нет.
2023-07-1918-27.png17 Кб, 689x245
304 2773614
>>2772933

>Чтобы увидеть "превосходящий язык" в действии при трех-четырех значениях на стеке.


Кажется я тебя понял, ты хочешь показать неудобность стека. 3-4 это как раз рекомендуемый максимум, с большим количеством значений на стеке в colorforth вообще никак нельзя работать, там pick нету. Но стек превосходен на самом деле.

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

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

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

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

3. Это Forth, тут можно что угодно, см.скриншот, реализация лисплайк записи в одну строку
305 2773639
>>2772842

>Вот это вот превосходящий язык? Пиздец.


А что смутило? В ColorForth если что цвет имеет значений, например если выделить токен красным, то он станет определением (словом, функцией, процедурой, defun итд), с этим связанно очень интересное решение, все токены хранятся в одном машинном слове, пару бит для аттрибута цвета, остальные под сам текст, текст хранится сжатый, иначе бы много в машинное слово не влезло, значения переменных при этом не являются текстовым токеном, а являются отображением реального значения, таким образом если в фоне запущен процесс выполнения, в редакторе можно видеть как изменяется значение, возможно возникнет вопрос, а в файле кода значение тоже изменяется? Но файловой системы у ColorForth нету, пользователь просто оперирует блоками памяти, которые можно сбрасывать на диск.

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

>реализация лисплайк записи в одну строку


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

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


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


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

Кажется я тебя понял. Ты хочешь сбросить всё сложность на программиста снова, как делали тысячи людей до тебя. Язык, который уменьшает сложность это как раз рекомендуемый дефолт, с ассемблероподобными языками вообще нельзя работать за пределами встройки.
308 2773704
>>2773686
Я играл в TIS-100. Хорошо как головоломка. Уёбищно как рабочая среда.
309 2773738
>>2773614

> реализация лисплайк записи в одну строку


> Велосипед, который едет только вперед и иногда взрывается.

2023-07-1919-48.png23 Кб, 588x209
310 2773777
>>2773704

>Кажется мне, что ты пиздишь. Сложи больше двух значений за одну операцию.


О, кажется получается кого то удивлять. Ты имеешь виду принятия функцией + списка чисел? Я уверен есть лиспы которые принимают лишь два аргумента всегда, но так можно сделать, результат на скриншоте, хотя мне кажется это лишним усложнением.

>Не язык хуёвый - вы хуёвые.


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

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


Вовсе не так, я наоборот против сложности, все эти советы про то что бы сохранять простоту.

>Язык, который уменьшает сложность это как раз рекомендуемый дефолт


Не знаю про рекомендации, но языки которые уменьшают сложность мне нравятся, Forth мне кажется уменьшает сложность очень сильно, нету перегруженного наследия и большого рантайма, и сам язык способствует ограничению роста сложности, не нужно как в CL определять какие то пакеты, пользователей, иметь странный стандарт и большую ВМ.
311 2773781
>>2773704
Не играл в эту игру. А ColorForth довольно удобен, это даже не среда а ОС.

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

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

Так что стек это очень удобно, самое простое и элегантное решение. Регистры сильно переоценены.
314 2773794
>>2773777

>Я уверен есть лиспы которые принимают лишь два аргумента всегда


Это покалеченные лиспы для встройки значит. Не говори о том, в чём не шаришь. S-expr это база. И они умеют в какое угодно количество аргументов. Я пытался сдизайнить конкатенативный гомоиконичный язык один, чтобы править всеми. И за пределами комбинаторов это было анриал. Та же unlambda в пример. Знаю, что вот эта ебола с фиксированным количеством аргументов - это стойкое такое свойство стекозависимых языков. Не языков со скобочками, типа того же Om.

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


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

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

>Forth мне кажется уменьшает сложность очень сильно


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

>>2773781

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


Г-споди, какая мерзость. Уноси.
315 2773797
>>2773794

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


Какая разница для чего они? Я решил взять такое поведение.

>Я пытался сдизайнить конкатенативный гомоиконичный язык


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

>И превратить ТЗ в код тем сложнее, чем проще язык ты используешь.


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

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


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

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


У Forth есть стек, REPL, простой и удобный синтаксис который можно расширить, не могу согласится с таким утверждением. Хотя думаю что на лиспе можно не сильно длиннее реализовывать программы которые можно реализовывать на форте, в конце концов можно написать свои похожии функции, но форт это минимальная основа, я не вижу причин выбирать перегруженный вариант, лучше упростить оригинальную проблему.
316 2773800
>>2773794

>Знаю, что вот эта ебола с фиксированным количеством аргументов - это стойкое такое свойство стекозависимых языков.


Форт никак не контролирует эффект слова на стек, можно принимать любое количество аргументов, и возвращать так же любое количество значений. Не понял про какое фиксированное количество ты говоришь.
317 2773803
>>2773793

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


Стилистически это неплохо, но - прощай производительность.

> Эти слова должны передавать друг другу значения, аргументы, вот тут стеки становятся очень полезными, о, и да, СТЕКИ во множественном числе.


В ЯВУ стек(и) прячется компилятором. Он есть, но не беспокоит.

> Удобно когда есть отдельный стек для строк, векторов.


Костыли для языка, где нет кучи.

> Так вот, через регистры тоже можно передавать аргументы, но как организовать рекурсию?


Регистры - автоматический кэш для самых важных переменных. Все трудности их использования ложатся на компилятор. Человек видит имена. Это удобно. Это работает быстро.
318 2773804
>>2773800
Напиши функцию для вариабельного количества аргументов без маркера остановки.

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

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

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

>Какая разница для чего они? Я решил взять такое поведение.

321 2773809
>>2773803

>Стилистически это неплохо, но - прощай производительность.


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

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


Не понимаю зачем его прятать.

>Костыли для языка, где нет кучи.


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

>Все трудности их использования ложатся на компилятор.


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

Но вообще, если не брать мое мнение, то некоторые реализации форта компилируются в регистры, мой форт делает более простую оптимизацию, верхнее значение стека это всегда регистр RAX. Если мне нужно увеличить на 1 первое значение стека, это будешь просто RAX INCQ
322 2773813
>>2773804

>Напиши функцию для вариабельного количества аргументов без маркера остановки.


Это довольно просто, я всегда могу получить указатель стека, а через него посчитать сколько аргументов пришло.

>С этим могут быть проблемы, если я хочу, чтобы все функции могли принимать неограниченное количество аргументов.


Они и так могут принимать сколько угодно аргументов в Forth, можно хоть весь стек выгрести, или просто его посмотреть, что бы вывести например.
323 2773815
>>2773808

>Доёб специфичный, потому что я про специфичное свойство лиспа говорил, которое он имплементнуть не смог


Любые функции в скриншоте #2 могут принимать неограниченное количество аргументов, которые задаются так же как в лиспе. Так что реализовал.
324 2773816
>>2773813

>а через него посчитать сколько аргументов пришло


Вот это я не понял. Что значит "пришло"? Как ты отделишь аргументы твоей функции от остального стека?
325 2773817
>>2773816
В форте нету аргументов, их невозможно отделить от стека. Тут либо ты чего то не понимаешь, либо я. Покажи простой пример на лиспе с твоим переменным количество аргументов, а я реализую это на форте.
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
?
327 2773823
>>2773822

>; 7 6 5 4 ; 3 2


; 3 2 ; 7 6 5 4
естественно
фикс
328 2773838
>>2773777

>О, кажется получается кого то удивлять. Ты имеешь виду принятия функцией + списка чисел? Я уверен есть лиспы которые принимают лишь два аргумента всегда, но так можно сделать, результат на скриншоте, хотя мне кажется это лишним усложнением.


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

Когда я это осознал, то понял, что можно, в принципе, и лиспоподобно на форте писать. Но зачем, когда уже есть лисп?
329 2773887
>>2773838
Я так понимаю то что выше не нужно демонстрировать? Оно в принципе и так работает.

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


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

>Но тут уже не однострочник.


Да, двустрочник.

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


Незачем действительно, у форта свой подход.

>

330 2773890
>>2773809

> мой Forth написанный на ассемблере не занимает и 10 кб


Какое значение это имеет, ведь писал ты для х86.

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


Ясно-понятно

> которые явно нельзя будет уместить в экран кода 80*25


Зачем?
331 2773897
>>2773890

>Какое значение это имеет, ведь писал ты для х86.


>>которые явно нельзя будет уместить в экран кода 80*25


>Зачем?


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

>Ясно-понятно


Я вижу простой и удобный стек, и альтернативы для которых придется написать еще ~10 кб.
332 2774046
>>2773897
Ты хоть что-то написал на своем форте кроме его самого? Это прямо типичный путь форт-энтузиаста: написать свой форт, а потом забросить, не написав на нем ничего толком.
333 2774371
>>2774046
Ну мне кажется это не так уж и презрительно, у энтузиаста будет удобный REPL для проверки разных идей, я постоянно его с этой целью запускаю, что то посчитать, попробовать какую то структуру, посмотреть работу какой то инструкции x86.

Из готового я например сделал блог. В своем форте я не делал возможности вызова С библиотек, потому что это подразумевает связь с libc, у меня есть одна функция syscall которая принимает два аргумента, длину аргументов и номер прерывания, и я ей делаю все. Поэтому в блоге я реализовал БД и сервер, шаблоны, итд, все это заняло 500 строк, сейчас я думаю что это слишком много, и что блог это не то что я хочу, попробую сделать аналог твиттера но с упором на контент, его наверное уже опубликую со своим контентом. А в разработке проектов несколько.
334 2776921
Интересно, почему никто не сделал других лиспов с синтаксисом как в TCL? Ведь буквально за два приема исчезают пугающие неофитов скобки, и синтаксис на первый взгляд почти не отличается от js, оставаясь при этом лиспообразным.
image.png82 Кб, 323x270
335 2777083
Вы думали, что считать протеины - это мем? А вот и нет!
336 2777509
>>2777083
Пидарас тот, кто заголовок видео делал. Это бэйт.

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

Я хочу знать, как программы похожи на белки, а не как вы своей заумью занимаетесь на другой зауми.
337 2778476
>>2776921
заебали дурачки со своим ноем про скобки
338 2779280
>>2776921
Ты понимаешь, что скоби это то, что делает лисп метаязыком, что так сильно отличает его от остальных языков?
339 2831547
Анон-кложурист, что ты думаешь про graalvm?
Я лично под большим впечатлением от того, что можно писать на любом языке, а это все равно будет выполняться на джава машине. Казалось бы, какие здесь плюсы? А такие, что можно из любого языка импортить либы и использовать в любом другом языке на JVM. Так приводили пример как на питоне ставили брейкпоинты в браузере.
340 2838740
>>2831547
Граальвм это как раз про то, что можно писать на любом языке для жвм, а компилироваться оно будет в нативный код. Из минусов - бинарники получаются жирные, это тебе не ГОвняшка всё равно. Производительность также ниже, чем на жвм. В принципе для фанкшн-эз-э-сёрвис пойдёт, но всё равно чуток костыльно получается, имхо.
341 2838743
>>2776921
Потому что скобки лучше и удобнее. Алсо сделали же.
342 2838746
>>2716111
Удачи перекомпилировать что-то сложнее лабы в твоём ПТУ на каждое сохранение. Прикольно наверное ждать джва часа после каждого изменения файла.
343 2838871
>>2838746
Для этого придумали объектные файлы и makefile, но в ПТУ этому не учат, поэтому откуда тебе знать.
344 2838963
>>2838871
Я и написал джва часа, а не восемь часов.
345 2847700
Хочу CL и 64 битную дату. Можно даже платформозависимо (линь, SBCL)

Много хочу?
346 2847716
>>2847700
Ладно, поебать. local-time есть, и хуй с ним.

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

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

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

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

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

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

заодно бамп треду
354 2886098
>>2865151

>функций без классов с перегрузкой методов через 10 колен вверх. И код читается очень просто!


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


> наивное решение задачи зачастую лучшее,


Ещё один прозрел, что паттерны и бездумное следование непонятно кем придуманным правилам не является хорошим стилем и не делает код более поддерживаемым, поздравляю.
Screenshot20231021131451.png19 Кб, 520x206
355 2888621
>>2681837 (OP)
Ну что вы, бэтманы?
356 2888944
>>2888621

>Ну что вы, бэтманы?


Нихуя ты вспомнил
357 2905473
Я так понимаю, что без емакса нечего делать в этих ваших лиспах?
мимовимоблядь
358 2905836
>>2905473
Отчего же, вскод/идея/сублайм/вим отличном работают с кложей.
359 2907482
>>2905836
Но емакс всё равно лучше
360 2908528
>>2907482
Это да.
361 2909206
>>2905473
Для емакса же есть эмуляция вима. Так-то он сам не сложный. По большому счету кроме навигации и M-x ничего знать и не нужно.
362 2911500
>>2909206

>Для емакса же есть эмуляция вима.


Мне ОКР не позволит. Я ЧУВСТВУЮ, что evil-mode смотрится неорганично в экосистеме емакса, словно сбоку скотчем примотали. Поэтому придется мапить ctrl на caps и ломать пальцы.
363 2913451
>>2911500

>словно сбоку скотчем примотали


У меня такое ощущение вызывает каждая вторая хуйня в линукс/айти сообществах.
Например, мода все выводить через консоль, файловый менеджер, текстовый редактор, нахуй дебаггер. А по итогу все глючит и пердит. А ты уже привыкаешь, потому что ну не мышкой же файлы перетаскивать и по фолдерам кликать.
(Нео-)вимом я как основным редактором я не пользуюсь, потому что через SSH он работает в 5 фпс, если сервер не в локальной сети. Да и половину функционала надо накатывать руками. Наверняка ssh фиксится каким то расширением, но нахуя, когда вскод практически из коробки это поддерживает. Кто-то скажет, фу, электрон, а я скажу, что гипертекст как раз является наиболее логичным выбором как основа для IDE, потому что код со всякими референсами, подсказками автокомплита и т.д. это самый ни на что гипертекст и есть. Гигабайтом памяти ради удобства я пожертвовать готов. Еще можно юзать среды от IKEA IDEA, там нормальная поддержка SSH есть и большая часть функций работает из коробки.
А имакс для меня выглядит архаикой дикой, у вима хотя бы свежая итерация в виде неовима есть.
>>2905473
У кложи есть интерактивная среда Clerk, сам не юзал, но выглядит интересно, не хуже Pluto.jl и Jupyter. Поиграться самое то. А чтобы не поиграться что-то кроме кложи брать смысла нет, вакансии на не-кложу-лисп это легенда на уровне ваканский на хаскелль, насколько мне известно.
364 2913768
>>2913451
На хаскелль-то вакансии как раз есть/бывают, в том числе в России.
365 2913928
>>2913451

>А имакс для меня выглядит архаикой дикой


У него есть киллер фичи для редактирования текста, если привыкнешь, трудно уйти. История копи-пейста, например, редактирование текста прямоугольниками. Ну и макросы - это просто имба, особенно, когда они со всем окружением интегрированы. То есть если, например, есть перечисление в коде вида A = 1, B = 2 .. и надо куда-то в середину добавить элемент и перенумеровать следующие, то можно просто копировать число во встроенный калькулятор, делать там плюс один и вставлять обратно. Запускаешь макро - хуяк, список перенумерован. Или аналогично список констант каких-нибудь в шестнадцатеричный формат перевести. Встроенный файловый менеджер опять же, можно тупо список файлов скопировать, обработать макросом, в кавычки там обернуть, и в код вставить.
366 2914014
>>2913451
Так "архаичный" имакс всё ещё на порядок лучше как экстенсибл среда исполнения, чем неовим. Вим, как ни крути, это просто текстовый редактор с хуевыми кейбиндингами.
367 2923024
Потыкал я ваш емакс палочкой и могу сказать, что не совсем понимаю речей про его ультрасакральность. Да, некоторые моменты и мелочи сделаны удобно, особенно интеграция с repl-ом, но если закрыть глаза на эти мелочи, то тот же vslime для вима мало чем будет отличаться.
Имхо, емакс - этот попытка обойти ограничения по железу своего времени.
368 2923076
>>2923024
Забей, это просто секстанство очередное. Не пытайся понять. Захочешь вкатиться, вкатишься, тоже будешь при каждом удачном случае советовать и зазывать. В принципе даже на ранних этапах можно экстрполироватьи п онятьв се плюсы и фишки, которые можно получить, если освоишь, но лично мне было впадлу после 20 лет за компом переучиваться на хоткеи емакса/нео-вима. Я просто не готов несколько мсяц притираться ради экономии в 200мс. Ну вот допустим ты станешь эффективным и быстрым, но нужно ли оно тебе? Ты в любюолм случае больше думаешь/читаешь/смотришь, чем печатаешь и скорость, которую адёт тебе емакс просто теряется во всё олстальном. Если кто-то считает иначе, то рад за них, ведь в конце дня самое главное, чтобы задачи выполнялись и тебе было комфортно.
369 2923083
>>2681837 (OP)
У вас шапка гавно лютое, переделывайте
370 2923175
>>2923076
Пошёл коупинг.
371 2923370
>>2923083
Переделай сам.
Я?!?
372 2923599
>>2923024

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


Ахаха. В "свое время" он всем казался ультра тормозным и жирным, примерно как эклипс в нулевые. Eight Megabytes and Constantly Swapping.
373 2923602
>>2923076

>но лично мне было впадлу после 20 лет за компом переучиваться на хоткеи емакса


Никогда не понимал тему с хоткеями у емакса. Они же как в линкусовом терминале. Там тоже C-f, C-b, C-p, C-n, M-a, M-e и т.д. Ну или в nano. Т.е. это какие-то базовые умения же должны быть, если с линуксом работаешь.
374 2923607
>>2923602

>линкусовом терминале


нормальные люди в этой хуйне только команды максимум запускают, никакие наны дольше чем на 20 секунд не запускают
всё отслаьное для красноглазых дрочеров
375 2923612
>>2923607
У "нормальных людей" вообще комп в кабинете только чтобы в пасьянс играть и ютуб смотреть, работает за компом секретарша.
376 2923662
>>2923612
У нормальных все вопросы решает ИИ
377 2923663
Ждать Аллегру 11 или ставить сразу vscode?
378 2923688
>>2923599

>Ахаха. В "свое время" он всем казался ультра тормозным и жирным, примерно как эклипс в нулевые.


Что "ха-ха"? Почитай когда и зачем появился лисп и лисп машины.
379 2923689
>>2923602

>Никогда не понимал тему с хоткеями у емакса. Они же как в линкусовом терминале. Там тоже C-f, C-b, C-p, C-n, M-a, M-e и т.д.


Одно дело пернуть пару команд в терминальчике и забыть, а другое дело работать с этим продолжительное время.
380 2923690
Как дела у Золотца?
381 2923829
>>2923688
Лисп появился в 50-ых, чтобы обрабатывать списки. Лисп-машины - в 80-ых. Но при чём тут емакс...
382 2923910
Мне очень понравилась clojure, но я не осилил их подход для веба, что нужно каждый компонент собирать и соединять самостоятельно. Я не вкатун и не программист, просто интерессующийся хоббист. В вебе у меня 0 опыта, так что этот фактор сыграл для меня большую роль. Да и в целом меня расстроило, что мало нормальной документации, гайдов и в целом всего мало, очень мало. Явно не для залётышей типа меня. В итоге ушёл ковырять elixir с прицелом на phoenix. Если наберусь опыта в целом в веб-разработке и не дропну, то может вернусь в clojure.
Держу в курсе.
383 2924199
>>2923663
10-ая аллегра у меня на линуксах не работает - openssh определённой версии требует, а мне в лом этим озадачиваться.
384 2924256
Что вы пишите на Lisp? Речь даже не о месте работы, а о каких-то своих проектах
385 2924273
>>2924256
Я диктофон+плеер пытаюсь второй год сделать
386 2924280
>>2924273
На лиспе? А где это у тебя исполняться будет?
387 2924365
>>2924256
У меня на елиспе написан клиент двача и сервер для одноплатника, который обрабатывает данные с гроубоксов.
388 2924417
>>2924280
На windows xp
389 2924422
>>2924365

>клиент двача


Выкладывай
390 2924432
>>2924365

>У меня на елиспе написан клиент двача


А капчу ты как обрабатываешь?
391 2924441
>>2924417
Понятно. Я думал ты как-то хочешь буквально диктофон свой сделать и прикрутить лисп к нему. Очень фантастично.
392 2924466
>>2924441
Ты про esp32 + cLisp?
393 2924630
>>2924466
Хм, не знаю - не разбираюсь. Погуглил про clisp, так что наверное можно и так.
394 2924694
>>2924630
Он имел в виду ulisp
395 2924765
>>2923910
Есть же бифф, или как он там называется сейчас, где всё из коробки на модном htmx.
Алсо есть олдовый люминус, где все компоненты уже собраны в кучу и проект создаётся из темплейта.

Ну и hyperfiddle
396 2924778
>>2924694
Да

Кстати идею мне подали, куплю ка я плату, буду бпла делать.
397 2929158
>>2746615
Что за шрифт?
398 2936017
Под андроид чем делать? Нашёл только платный Лиспворкс
399 2936182
>>2924256
Вот такое, например: https://2ch.hk/gg/res/1682199.html (М)
Back: Clojure (Ring + Compojure + Monger).
Front: ClojureScript (re-frame).
>>2936017
ClojureDart имеет шансы взлететь.
401 2940360
>>2936442
Спасибо
402 2941716
>>2936182

>ClojureDart имеет шансы взлететь.


Нет спасибо, я только в sbcl дрочу, в остальное лезть не хочу. Просто зазотелось что нить для мобилы по бырому набросать и упаковать.
403 2943507
>>2681837 (OP)
Какой же ваш емакс однопоточное, глобальностатическопеременное убожество. Подумал сначала что он будет идеален для того что бы его запрограммировать под себя, но теперь буду смотреть VSCode, надо было сразу его брать, его плагины выглядят намного более продвинутыми и удобными, вот например для graphviz.
404 2943801
>>2943507
Спасибо что поделился, это очень важно для нас!
405 2945902
Аноны, а почему для лиспа и прочего эзотерического часто используют емакс, а не вим? Как я понял, то основная фишка емакса - возможность отправки фрагмента кода в REPL. Но такой функциональности можно добиться в любом редакторе с плагинами, разве не так?
Используете ли вы evil-mode?
406 2946205
>>2945902

>используют емакс


Кто использует?
407 2946399
>>2946205
Ну я использую.
408 2946680
>>2936017
Гугли EQL5 android
409 2947153
>>2946680
И это всё?
410 2947572
>>2681837 (OP)

> последний пик


В Scheme такая же слабая типизация как в JavaScript? Можно вычитать числа из строк?
Неудивительно, что подобное говно оказалось никому не нужно.
411 2947777
>>2947572
Не, строгая. Никому не нужна она по другой причине.
412 2948622
>>2947777
Тогда к чему сравнение с JavaScript? Какой-то дебил ляпнул, и все дружно повторяют? Что там вообще общего, кроме анонимных функций с замыканиями, которые даже в C++ есть?

Вообще насколько я читал, Айк хотел сделать скриптовый язык на базе Лиспа, но руководство Netscape его послало нахуй и сказало делать клон жабы. Он разозлился и на отъебись сделал полный кал.
413 2950561
>>2948622

>Тогда к чему сравнение с JavaScript?


Сейчас бы всерьёз обсуждать смищную картинку из интернетов...

>Что там вообще общего, кроме анонимных функций с замыканиями, которые даже в C++ есть?


eval.
414 2955014

> "лого" CLISP'a - это еврейская семирожковая свеча


> на реддите коммон лиспа везде флаги Украины


> в гайде на кложу пикрил 3



Что за приколы у вас в лисп-камунити?
415 2955244
>>2955014
(((lisp)))
416 2957928
>>2955014

>на реддите коммон лиспа везде флаги Украины


Это неоыф, левый шизик создал
417 2958175
Кто нибудь имел опыт создания конфигов на лиспе для собственного ПО? Что можете рассказать?
418 2959480
>>2958175
Дваждую интересная тема
419 2962536
>>2947572

> Можно вычитать числа из строк?


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

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

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

Сделать как жабаскарипте типа (string-append 2 4) не выйдет.
420 2965312
>>2958175
Нафиг тебе Лисп? Юзай JSON.
421 2967100
>>2958175
Имеет смысл только если твоё ПО написано на лиспе. Если это не так, то JSON или YAML.
422 2968012
Почему по фреймам стека можно ходить только вперёд? Понятно, что машине нет нужды хранить историю событий, но конпелятор/дебаггер мог бы ведь. Удобно же было бы.
423 2968252
>>2968012
Обмажь код перезапусками и ходи хоть конём
424 2968621
>>2968252
Пока у императивных петушков в реактивных средах разработки отзывчивость на каждый пук с наносекундными задержками, я буду конём впердоливать перезапуски и ебаться со сторонними костылями для слизня чтобы отладить пару небольших кусков кода.
Вот такой киберпанк мы заслужили, тов. МакКарти.
425 2968637
>>2968621
Мог бы просто написать, что не знаешь, что за перезапуски и зачем они нужны
426 2968655
>>2968637
Кондишоны/рестарты? Допустим, я не знаю. Объясни тогда свою позицию более ясно. Как не пердолясь я смогу конём ебать фреймстек?
427 2968708
>>2968655
Сигналы в лиспе, в отличие от исключений, не раскручивают стек. Таким образом, ты можешь обработать его где-то выше по стеку и затем передать управление ниже. Хоть в ту же точку, где сигнал был вызван. break и continue именно так и работают.
Короче, достаточно удобная штука. И отладку упрощает, и позволяет дать протокол управления потоком выполнения чужому коду.
428 2968710
Режим сверхманёвренности включён.
sage 429 2968728
>>2968710
Включил -- маневрируй в какой-нибудь другой тред. За унылый треллинг тут кормить некому
430 2968729
>>2968728
Мог бы просто написать, что не знаешь, что за режим такой и зачем он нужен.
431 2968749
>>2968637
Где этому научиться? Какая литература? Это commonLisp?
432 2968784
>>2968749
Да, общелисп.

>Где этому научиться? Какая литература?


Есть неплохая ознакомительная статья https://lisper.in/restarts
Если хочешь нырнуть глубже, ищи книгу The Common Lisp Condition System
433 2968844
Почему лисп не взлетел?
434 2970694
>>2968844
Слишком непонятный для вкатывальщиков и волков это я тебе в глаза нассал сейчас, не знаю, хоть тред бампну, можешь lisp curse навернуть, но там тоже в глаза ссут
435 2983143
>>2968844
Если ты о том почему лиспа нет в энтерпрайзе, то потому что так вышло.
Хз
436 2983145
>>2968844
В 🥂 и в питоне много лиспа. Так что взлетел.
437 2984444
>>2958175
EDN подойдёт? В Clojure применяется для зависимостей, например.
438 2989522

> https://github.com/fukamachi/sxql/issues/40


> 6 лет


> не может пофиксить одну строчку


Окей, прежде чем я форкну и исправлю это дерьмо, спрошу:
Есть альтернативы этой либе?
439 2989554
>>2989522
A, там есть :raw и :splicing-raw

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

Пчеликс размазался слишком тонко по своему дохуелиарду репо.
440 2989610
>>2989554
Протестируй и исправь, иначе ж руки ни у кого больше не дойдут.
441 2989654
>>2989610
Ладно, похуй, дел было на пять минут.

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

И можно ли это сделать как-то красивее?
(((average-lisp-fan))).jpg168 Кб, 800x800
443 2991348
444 2994678
Второй раз пытаюсь вкатиться в сложуру чисто как хобби. И как же мне нравится сам язык и вообще его идеи, но как же я ебал в рот тулинг вокург всего этого говна. Тупо блять костыли на костылях, построенные на других костылях.
Просто свежайшая хуйня, которая меня выбесила своей тупостью: у neil при создании scratch проекта и добавлении тестов добавляется одна версия, а при созданиии app проекта другая, более свежая.
При добавлении тестов, алиас добавляется в deps.edn не под ключ :aliases, а просто в конец главной мапы.
В проеке app тесты уже добавлены, но сука не добавлена :exec-fn
Хули так насрано-то, просто базовые очевиднейшие вещи созданы через хуй.
neil как я понял просто удобная обёртка над deps-new, которая в свою очередь использует темплейты clj-new, которая в свою очередь основывается на проектах clj, boot и leiningen
Пиздец прсото. Нагородили хуйни, которая работает всегда на 80%. Такое ощущение, что специально сделали так, чтобы нужно было пердолиться.

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

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

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

Но сам язык мне нравится, конечно.
445 2995077
>>2994678
Испытываю нечто похожее. Сейчас использую clojure только в виде бабашки как некая замена питону
446 2996989
>>2681837 (OP)
Возможно ли в каком-либо из лиспов изменить правила компилятора или кода так, чтобы, например, заменить символ скобки на другой символ (или вообще даже убрать его)? Другими словами, как, например преобразовать компилятор в понимающий конструкции вида "ä+ 2 3 (" вместо "(+ 2 3)"? Или же в "+ 2 3 end".
447 2997206
>>2996989
Можно. В коммон лиспе делается через макросы чтения (reader macro).
Можно даже такие штуки вытворять https://github.com/y2q-actionman/with-c-syntax
448 2997329
>>2996989
Racket построен на этой идее. Там вообще можно какой хочешь синтаксис сделать.
449 2997642
>>2997329
Мне кажется или ракета требует больше телодвижений для определения своих синтаксических конструкций, чем общелисп?
450 2997753
>>2997642
Не сколько ракетка, сколько scheme.

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

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

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

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

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

Странно, что такой язык ещё не появился. Как по мне такой язык будет безопаснее какого-нибудь Раста.
451 2998902
>>2994678
Просто сделай lein new foo и не парься.

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

Для билда просто напиши lein uberjar и не парься.
452 2998908
>>2997753
Таких языков десятки, если не сотни, создано за последние лет тридцать. Гугли пейперы по ключевым словам substructural recursion, total functional programming и т.п.
453 2998927
>>2998908

> пейперы


А имплементации то где?
454 2998934
>>2998927
идрис тире ланг точка орг
455 2999039
>>2998934
Идрис это просто зависимые типы. Они и в ракетке есть. А вот чтобы и завтипы и эффекты и тотальность.
456 2999609
>>2999039
Тебе это кто-то рассказал или сам примерно почувствовал?
У них даже в faq сказано, что язык является тотальным, а про монадки и эффекты -- всего парой страничек дальше
457 3000145
>>2999609
В идрисе как и в хаскелле эффекты не являются отдельной конструкцией языка.
458 3000146
>>3000145
Зачем им быть отдельной конструкцией? Более ясно можешь излагать мысли, чтобы не приходилось додумывать за тебя?
459 3000154
>>3000146

> Зачем им быть отдельной конструкцией?


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

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

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

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

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

То есть у джейнстрит есть бабло, чтобы спонсировать популярных ютуберов-миллионников, но нет денег, чтобы запилить наконец спустя 20 лет нормальный тулинг для окамла. Заебись, чо.
464 3008177
>>3005710
У окамла уж лет как 10 всё нормально с инструментарием.
Сейчас ещё ocamlbuild окончательно выкинут и будет вообще заебись.
465 3008323
>>3008177
Нет, просто вместо старого кала запилили новый кал, который чуть менее каловый (но всё ещё кал). Про нормальную единую стдлибу я уж молчу, надежды нет. Так окамл и сдохнет в безвестности несмотря на джейнстрит и гранты французиков.
466 3009442
>>3008323
А что же тогда не кал? Или у товарища копросомелье любой цвет - оттенок коричневого?
467 3010238
>>3009442
Хаскель
468 3010433
Вэйт, имакс - это не ОС, а интерпретатор elisp? Который просто расширили до бытия текстовым редактором?

инб4 олвайс хас бин
469 3010735
>>3009442
В каком плане что? Стдлиба где вменяемая? Да где угодно (кроме хаскеля, лол), раст тот же, та же кложа

Сам окамл не кал, мне потому и обидно, что хороший язык запороли распиздяйством и неспособностью договориться и сделать нормально.
470 3010737
>>3010433
Вы заебали. Если что-то может исполнять код вживую - это не значит, что это интерпретатор. В емаксе есть компилятор елиспа в байт-код.

Емакс - это среда выполнения, правильнее всего сформулировать так. ОС это в том смысле, в каком "GNU" из GNU/Linux является "ОС". Не ядро, а утилиты и пользовательское окружение.
471 3010842
>>3010433
Ага, а ява - не язык, а реализация стековой вм
472 3010846
>>3010735

>В каком плане что?


Это уж тебе должно быть виднее, что именно ты назвал калом.

>Стдлиба где вменяемая?


У окамля вменяемая, кстати, просто многим непривычно, что их несколько и развиваются сообществом. Как у борщелиспа.
Такой подход имеет свои плюсы.
473 3010866
>>3010846
Почему нодежс сообщество не напишет одну нормальную стандатную высокоуровневую библиотеку вместо 100500 мокрописек isEven от ноунеймов с майнерами...
474 3010871
>>3010866
Сообщество мудацкое ¯\_ (ツ)_/¯
У раста, судя по количеству зависимостей даже у простых библиотек, примерно такое же.
475 3012239
>>3010842
Есть джава (язык), есть джава (джейвиэм)
476 3012240
>>3010846

> Такой подход имеет свои плюсы.



Ясно. Понятно. В том числе поэтому окамл и сдох, видимо.
477 3012302
>>3012240

>сдох


Для дохлятины он довольно бодро развивается. Кложа на его фоне дохлее выглядит, хотя ей тоже можно сделать скидку как языку, который никогда бы не стал мэинстримным.
478 3017797
>>3012302
Я хз, что ты понимаешь под "развивается". Окамл буквально мёртвый - либ нет, вакансий нет, книжки раз в 10 лет выходят, на реддите 3.5 подписчика. Развивается в смысле релизы языка пилятся - тут да, ну так они ж на грантах сидят, академия все дела.
479 3017920
>>3017797
Так там же цельный джейн стрит есть! Но в целом да. Для нишевых вещей типа компилятор написать отличный инструмент. Но в мире мало где его используют.
480 3017942
>>3017797
Что обычно понимают под "развивается"? Вот то и имею в виду.
По-моему, ты принимаешь отсутствие мэинстримной суеты за отсутствие развития. Либо просто уныло треллишь.

> Развивается в смысле релизы языка пилятся


Не только. Развивается и экосистема языка. Из недавних вех - dune. Слава богу, теперь нормальнаяохуенная система сборка, а не тот ужас, что был до.
>>3017920

>Так там же цельный джейн стрит есть!


А как же мираж? Спрос на опердени в виде unikernel никуда не делся
481 3017972
>>3017942
Работы
НЕТ
хоть я и люблю окамл
482 3017983
>>3017942
А, дюн это недавнее, ок. И это охуенная система сборки. Ну ок.

Что обычно понимают под развивается - этого у окамла нет, на нём тупо никто не пишет. Потому что хуевый тулинг и нет стандартнлй библиотеки (и либ). Поэтому никто не пишет.
И это печально.
483 3017992
>>3017972
Ну, некоторым и на жс работы нет. Соболезную.
>>3017983

>Никто не пишет и ничего нет, а что есть, то плохое.


Хорошо, я тебя услышал. На этом и закончим, достаточно пустозвонства.
484 3017997
>>3017992
Нытье жс детей в счет не берем.
Объективно надо постараться чтобы найти работу на окамл. Я ровно два раза за свою 15 лет карьеру видел роли где была бы возможность писать на нем. Первый это джейн стрит. Второй фейсбук. Третий компания какая-то которая занимается рекламой. Не вспомню уже.
Всего три позиции.
мимо любитель фп порой мониторю рынок
485 3017999
>>3017997
Три очевидно
самофикс
486 3018028
>>3017997

>Всего три позиции.


>за свою 15 лет карьеру


>Объективно надо постараться чтобы найти работу на окамл.


Лол. Тебе-то знать, если ты за 15 лет не смог вбить в поисковик "ocaml job" и перейти по первой ссылке?
Вакансий несомненно меньше, чем на всяких жсах, всё-таки язык не мэинстримный, но мне, тем не менее, удавалось найти работу даже в РФ и даже не в ДС.
487 3018039
>>3018028
Ну молодец хули, я все же предпочитаю выбирать над чем работать, а не кидаться на единственную вакансию в своей мухосрани. Работы на окамл нет. Цифрами этими можно пренебречь. Точка.
5791db7e03bbf15611c1643f.png97 Кб, 1959x1959
488 3018054
>>3018039

>я все же предпочитаю выбирать


>выбирать


>1. рассматривать множество имеющихся вариантов, определяя нужные или желательные и отвергая ненужные или нежелательные ◆


>Всего три позиции.


>за свою 15 лет карьеру


Ты обязательно найдешь работу мечты, главное - не сдавайся
489 3018060
>>3018054
Я даже близко не окамлер, о чем ты вообще. Если бы в него пораньше завезли нормальный параллелизм то может быть и да. А так бог отвел.
И вообще это лиспотред. Расскажите лучше про кложу. Чому умерла? как окамл?
490 3018572
Существуют ли какие-нибудь инструменты для общелиспа, упрощающие кодогенерацию?
Хочу сгенерировать обёртку по спецификации для одного протокола, и оказалось, что без макросов уже не так удобно.
491 3020392
>>3018028
Ты хотел сказать "меньше, чем на всяких хаскелях, кложах и эликсирах"? Потому что их меньше на порядок, чем на всяких хаскелях, кложах и эликсирах. С жс ясное дело, что сравнивать смешно. Да даже с растом уже смешно сравнивать.

Вообще, надо быть весьма упоротым, чтобы на окамле писать прод, с такой-то экосистемой.
492 3020409
>>3018060
Команда разработки языка не может в поддержку и нормальный маркетинг. В общем-то чем-то похожая на окамл история, но конечно не так всё плохо. Если коротко: комьюнити пишет нечто, оно становится популярным, коре команда выкатывает несовместимый аналог, на все вопросы делает непонимающие глаза типа "а чо такого-то?", далее аналог от коре команды остаётся в недопиленном полусыром состоянии навсегда. Была надежда, что после покупки волмартом нюбанком наймут свежих людей, но нихуя, наоборот такое чувство, что перевели разработку в фул-интерпрайз-мод и собственно прост поддерживают продукты нюбанка и волмарта, шоб ничего не ломалось. Дико расхайпленный спек так и остался в подвешенном состоянии: есть первая альфа-версия, встроенная в язык, которую не допилили, так как она должна была быть депрекейтнута в пользу второй версии; вторая версия также недопилена и непонятно, собираются с ней что-то делать и будут ли впиливать её в стдлибу; тем временем комьюнити ещё до релиза первой спеки запилила либу, которую все выкинули в пользу спеки, которая так и не была допилена, из-за чего комьюнити запилило новую либу, которая с нормальной документацией и просто работает, но при этом типа не стандартная и дублирует встроенную в стдлибу функциональность. В итоге не особо понятно, зачем вообще было впиливать это всё в язык, можно было просто дать прототип и сказать " а теперь пилите рабочее решение сами". Ну короче в таком вот духе. С одной стороны нет такого пиздеца как в скалке например (или в жс, лол), всё стабильно, с другой стороны - развития тоже как-то нет, никаких инноваций уже давно не было, хайпа нет. Ну разве что роамресерч/логсик и их клоны, но это уже чисто продуктовая история.
493 3021361
>>3020409
работу смысл искать есть? Угораю по листу но все раз вкладывать время без перспектив получать за это деньги не могу на данном жизненном этапе. Видел в кложе компромиссный вариант.
494 3021362
>>3021361

> Угораю по лиспу но всерьез


Фикс
495 3021972
>>3020409

> Если коротко: комьюнити пишет нечто, оно становится популярным, коре команда выкатывает несовместимый аналог, на все вопросы делает непонимающие глаза типа "а чо такого-то?", далее аналог от коре команды остаётся в недопиленном полусыром состоянии навсегда.


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

А никто денег этой кор команде не заносит, чтобы они специально делали хуйню?
496 3022033
>>3021361
Если ты синьор-помидор - даже в РФ есть. Но мало.

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

В чём профит дядей? В том, чтобы лисп никогда не увидел большого продакшена и популярности. Иначе каждый сам себе режиссёр станет.
498 3022343
>>3022040

>Иначе каждый сам себе строитель несовместимых велосипедов станет


Пофиксил.
499 3022346
>>3022343
Да тащемта поебать. Если сейчас сесть и начать программировать всем подряд, то там тоже будут велосипеды.

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

С чего вы вообще решили, что это какое-то проклятие? Так будет в любом коммьюнити индивидуалистов. Чтобы велосипедов не было, должна быть палка в жопе от какой-то внешней силы.
500 3034263
Можно ли как-то финализировать методы в clos'е? Что-то вроде finalize-inheritance, но для gf.
Похоже, что clos генерирует код для диспетчеризации при первом вызове метода, что не очень удобно, т.к. занимает много времени (около тысячи методов).
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 разработчики машинного интеллекта получили высокопроизводительный инструмент для масштабирования своих приложений и вывода инновационных продуктов на рынок».

502 3036835
>>3035444
Уже купил лицензию?
503 3036927
>>3035444
Так а по факту че там сделали-то?
504 3036985
>>3036927
Вторую ссылку открыть лень чтоле сука?
gtk удалили, теперь вебпараша вместо иде
Stupid machines.mp41,1 Мб, mp4,
1280x720, 0:12
505 3037332
>>3036835
Free express же хватает, нах мне лицуха на Про или Ынтырпрайз
506 3038448

>506


Капитан, мы тонем!
507 3046542
>>3038448

> 07/02/24


Лево руля!
508 3046884
>>3046542
Где перекат?
509 3047744
>>3046884

> Где перекат?


> Перекатывайте сами


> Кто? Я?!

sage 510 3053298
>>3047744
Кто? Я?1
511 3078242
Перекотите, будьте людьми...
512 3081516
Срочно экспертное мнение
https://gleam.run/
513 3081525
>>3081516
Где тут лисп?
514 3085413
Насколько сильно типизация Лиспов отличается от типизации Питона?

Питон меня в своё время отвратил динамической типизацией, но насколько я понимаю тут что-то другое?
515 3085521
>>3085413
В лисп можно хоть зависмые типы добавить. Посмотри Typed Racket.
И даже в обычном Racket невозможно любое значение засунуть, ибо есть контракты (проверка типа в рантайме).
516 3098909
>>2699721
нормальные люди бегают по блокам а не по строкам так что shift + [] а начало и конец строки это A и I соответственно
нет ничего удобнее вима, уже тыщу раз доказано на практике
517 3101567
>>3098909
я на планшете на сенсоре пальцем всё делаю, вопросы?
518 3101860
>>3101567
токарь девятого разряда или ветеран сво?
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 15 апреля в 02:35.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски