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

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

Предыдущий тред: >>2681837
2 3142895
)))
3 3143679
Близок ли идеологически язык Forth и его потомки к лиспам?
4 3143889
>>143679
Скорее нет, чем да.

Всё таки это языки разных парадигм.

Форт конкатенативный, а лисп аппликативный.

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

А ещё их мощным плюсом является то, что они просто донельзя просты. Пока у многих языков реализация интерпретатора/компилятора является по сути чёрным ящиком с множеством магических вещей (типа GC, EventLoop, RefCounting, итд), то в конкатенативных языках даже GC не нужен, ибо нахуя, если переменных нет.
image.png73 Кб, 761x781
5 3145062
>>143889
Но в Форте же есть переменные. В Лиспе тоже есть.
6 3145063
>>145062
В конкатенативных и в стековых языках нет переменных в привычном понимании этого слова.
image.png34 Кб, 829x416
7 3145064
В чем отличие точечной пары от списка?
Я думал, что (1 2 3 4) - это просто сокращенная форма для (1 . (2 . (3 . 4) ) ), соответственно (1 2) и (1 . 2) - это одно и то же.
Но вот на ЛОРе пишут, что это разные вещи, мол, в NewLisp неправильно сделано.
8 3145069
>>145063
И в чем здесь отличие Форта от Паскаля или Си, кроме синтаксиса? Привычное понимание переменной - именновая ячейка памяти, содержимое которой можно читать и изменять. Т.е. вместо MOVB (1000), 123 или POKE 1000, 123 можно записать x:=123 или 123 x !

Вот в Erlang нет переменных, только аргументы функций и локальные константы. Соответственно x:=x+1 или x @ 1 + x ! не напишешь, а для изменяемого состояния нужно использовать рекурсию.
9 3145073
>>145069

> И в чем здесь отличие Форта от Паскаля или Си, кроме синтаксиса?


Насчёт Форта не знаю, но в других конкатенативных языках, типа Joy у языка действительно другие семантические свойства.
10 3145074
>>145069

> Вот в Erlang нет переменных, только аргументы функций и локальные константы.


Под переменными я имел в виду именно аргументы и константы.

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

К примеру, в аппликативный языке мы пишем так:
fn x = print(x + 1)
Или более наглядно в лиспе:
(define (fn x) (print (+ x 1)))

В конкатенативном же:
: fn 1 + print

Тут отличия совершенно не в синтаксисе, а в том как вычисления выполняются.

Нет стека переменных, нет стека вызова функций. Есть только датафлоу. Это всё очень облегчает реализацию языка, даже не не уровне простого синтаксиса, а простого способа вычислять. Даже GC не нужен.
11 3145493
>>145064
(1 2 3 4) => (1 . (2 . (3 . (4 . nil))))
(1 2) => (1 . (2 . nil))
(1 . 2) => (1 . 2)
12 3148964
>>145074

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


Брейнфак еще проще в релизации!!!
13 3148976
>>142890 (OP)
Щас бы учить юзлесс язык, идеи которого уже внедрены давным давно во все популярные ОО-языки: php ruby python java c# c++ Go Dart.
# OP 14 3149150
>>148976

> идеи которого


Идеи лиспа: гомоиконность и мощнейшые макросы (которая к примеру позволяет добавить завтипы и линейные типы в язык).
Он может иметь любой синтаксис и любую семантику.

Ни один из перечисленных тобой языков этими свойствами не обладает.

Вот ты можешь в джаву, го, дарт встроить зависимые типы и вывод типов по Хиндли-Милнеру.

Нет, очевидно.

А в лишпе это просто делается макросами:
https://docs.racket-lang.org/ts-reference/index.html
https://docs.racket-lang.org/ts-reference/Experimental_Features.html#%28part._.Dependent_.Function_.Types%29

Можно даже ad-hoc полиморфизм как в Haskell добавить при желании.

Такого тебе никакой кастрированный golang не даст.
15 3214840
Стоит ли покупать книгу ansi common lisp за тысчу?
16 3221445
>>148976
Шо, в какой-то из перечисленных уже завезли полноценную поддержку горячей замены кода?
17 3221446
>>149150

>встроить зависимые типы и вывод типов по Хиндли-Милнеру.


>А в лишпе это просто делается макросами


Ну, не прям уж ПРОСТО, но по крайней мере это возможно сделать.
https://github.com/coalton-lang/coalton вот как раз такой проект для любителей ХМ, монадок и борщелиспа
18 3221483
>>142890 (OP)
Мы чисто хикки.
19 3221512
>>221483
Чисто Ричард?
20 3221674
>>214840
Не стоит даже качать бесплатно.
image17 Кб, 512x420
21 3222480
Нравится Clojure, но не нравится, что вместо документации на оф.сайте какой-то набор блогпостов, разрозненные статьи в разных местах. И ещё что это нормально - собирать стек с нуля, буквально на каждый чих искать какую-то отдельную микрозалупу. Ну это касается веба и новичков, типа меня, потому что я вообще не шарю, а тут каждую хуйню надо подбирать, о которой я вообще не слышал даже никогда и не знал, что они существуют.
Видел на эту тему пост на реддите, 6 летней давности, там чел тоже сокрушался. Видимо за 6 лет нихуя не поменялось. А жаль, прошёл несколько туториалов(встроенный в calva, несколько бесплатных книжек по основам), мне понравилось. Но нужно иметь бэкграунд предметной области, при чём не самый базовый, с кондачка не вкатиться. Может в других лиспах другая картинка, но сомневаюсь.
22 3222618
>>148976
Но эти фишки вставлены через жопу в уже переполненный и уберусложнённый синтакс, которому лишь бы поддерживать ОО. В лиспе ты просто напишешь код, а с другими языками и их заморочками будешь бороться. Даже с питоном.
аниме.webm17,6 Мб, webm,
640x360, 11:51
23 3223498
24 3226939
А правду говорят, что лисперы - ебанутые на всю голову?
image.png121 Кб, 700x800
25 3228397
>>149150
Нету у этом вашем (((ЛИШПЕ))) никакой гомоиконности. Вместо имени функции использовать лямбду нельзя.
26 3228405
>>222618
Угу, "просто пишешь", а потом материшься, потому что непонятно, какого хуя оно не работает, хотя должно. Как в каком-нибудь C++, где надо знать костыли всех стандартов. Какое же говно этот лисп.

Вот на JavaScript лямбды какие надо (если бы не было шизоидных преобразований типов, был бы идеальный язык).
27 3228414
>>228397
Все есть, в полноценном виде, не как у эрланга/пролога.
>>228405
Это разные пространства имен для символов, в зависимости от контекста будет взято значение из таблиц переменных или функций.
Согласен, решение хуйня, потому что кроме возможности назвать переменную list и т.п. ничего не дает, но на самом деле писать funcall/function надо довольно редко даже в весьма функциональном коде. если это так важно, то пробуй схему.
https://stackoverflow.com/questions/1020968/separate-namespaces-for-functions-and-variables-in-common-lisp-versus-scheme
>>228405

>Вот на JavaScript лямбды


Нет, алсо, после "жс" дальше можно не читать.

>если бы не было шизоидных преобразований типов


Если ты пишешь в 2024 на жс вместо тс на своем макакофронте, то ты долбаеб со скилбокса видимо.
28 3228464
>>228414

> про лисп написали плохо! напишу плохо про жс в ответ

29 3228471
>>228464
Я понимаю, если бы ты в пример привел Хаскель и Окамл, там действительно сделано как надо, но ты какую то хуйню из 90ых притащил и еще на типы пожаловался, хотя эту проблему в жс давно решили, но ты, в силу своей отсталости, даже про это похоже не в курсе.
30 3228900
>>228397

>гомоиконности


Значение знаешь?
>>228414

> потому что кроме возможности назвать переменную list и т.п. ничего не дает


https://docs.racket-lang.org/gui/button_.html
Даёт возможность не изобретать на каждый род сущностей по конвенции именования, чтобы не отстреливать себе ноги, случайно перекрыв локальной переменной пакет, класс, функцию, макрос, перезапуск и т.д
31 3230587
Шапка устарела
32 3230823
>>230587
Держи в курсе
33 3231649
>>230823
Держи
34 3232657
>>230587
Что устарело?
35 3233283
>>232657
Всё
36 3233413
Что можно написать на лишпе? У Зибеля только какие-то задачки на построение БД, но я что, зря учил Первый язык, жемчужину колдовства?
37 3233454
>>233413
Что угодно. Но что бы ты не писал, получается емакс.
38 3233480
>>233454
К слову, емаксобраузер https://nyxt-browser.com/
39 3235066
>>149150
при этом применение макросов ломает гомоиконичность, кхе кхе
40 3235164
>>235066
Нет, не ломает.
41 3236859
>>149150

>можносделать



Прошло миллион лет, а лисподебилы так и повторяют свою хуйню, как будто это 2011 и в /це нульчика
42 3237088
Как лисп обходится без статической типизации?
sage 43 3237473
>>237088
Лучше, чем какой-нибудь питухон
https://ideone.com/F3sGzg
44 3237481
>>236859

>можносделать


Причина подрыва? Да, можно. И уже сделали.
45 3243233
Писали ли вы свои лиспы? Это трудно?
46 3243341
>>243233

> Это трудно?


Да.
https://justine.lol/sectorlisp2/
sage 47 3244166
>>237481
перечень людей, кто хочет вместо полноценного языка со всем из коробки на уровне примитивов юзать прикрученную сбоку на макросах дрисню:
конец списка
48 3244470
Как называется интерфейс в стиле волков коммандер?
49 3244603
>>244470
Двухпанельный? TUI? Причем тут лисп?
50 3244632
>>244603
Да, его же легче к программе привязать чем к графическим гуям?
51 3245157
>>142890 (OP)

>гомоиконность


А как вы теперь свои гомоиконы пердолите когда в силе запрет пропаганды ЛГБТ?
52 3245159
А как лисперы зарабатывают на гречу? Вакансий видно только изредка и то только по Clozure. В остальное время приходится уходить в спячку?
53 3245657
>>245159
Скажу тебе по секрету, далеко не всем заказчикам есть дело до используемых технологий. Можешь хоть на бреинфаке с апл писать, лишь бы поставленная задача была решена.
54 3245676
>>244166
Ну и чем тот же коалтон отличается от "полноценного языка"?
55 3245795
>>245657
Но это только если техдир не узнает? Они обычно всякой экзотики как огня боятся.
На фрилансе т.е.?
56 3246099
>>245795
где угодно
договаривайся с тимой
все равно если на выходе тупо докер контейнер то все равно на чем писать
у меня в конторе так на эрланге пишут, такая же нишевая хреь как лисп
57 3246126
Я правильно понимаю, что в cl в вебе у вас всё делается дедовскими способами, просто есть веб сервер и всё, остальное надо писать самому? И ни о каком интерактивном вебе искаропки не идёт речи(максимум вебсокеты)?
59 3246279
>>246099
Ну.. на эрланге проще, даже пачка вакансий щас висит. Сам на эликсире пишу.
60 3246301
>>246279
Пачка это 3 штуки на всю Россию? Ну да, чуть побольше чем у лиспа, но программистов у него примерно столько же, лисп хотя бы в парочке вузов встречается.
61 3246559
>>246129
Ну т.е. да.
62 3246585
У эликсира хотя бы человеческая(одна из лучших) документация, есть отличная поддержка разных редакторов, менеджер проектов mix и т.д.
А скобочники за 146 лет существования лиспа так нихуя нормально и не сделали. Единственный полноценный редактор у них это емакс(пиздец), типа очень быстро в нём работать. Сука ты на нём пишешь не отрываясь по несколько часов что ли? Нет, ты точно также сидишь, думаешь, что-то пробуешь, потом эвалишь и так по кругу, где бля скорость нахуй. В одной операции, которая нужна примерно никогда? Хуита короче. Просто не экосистема, а какой-то балаган.
63 3246808
>>246559
Да, только голый ханчентут и статика. Статья именно об этом.
15941212862910.png194 Кб, 400x400
64 3246812
>>246585
Ты clhs/clus не нашел и плагин для своего вскода или что?
65 3246998
>>246812

>clhs/clus


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

>плагин для своего вскода


плагины есть, и вроде даже не один, но не сравнится с функционалом той же кложуры, максимально примитивная хуета, что есть, что нет
да и в целом почему в cl не запилили за столько лет нормальной инфраструктуры, тот же квиклисп как я понял по сути каждый раз загружается в репл при инициализации новой сессии, т.е. ебать костыль
66 3247000
>>246998

>той же кложуры


плагина, офк(calva)
67 3247394
>>246998

>нечитаемая хуета


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

>плагины есть, и вроде даже не один


>но не сравнится с функционалом той же кложуры


Какой ты пробовал и чем не сравнится?

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


Вот это да! Ух, а какие непотребства динамический компоновщик выделывает - тебе лучше вообще не знать
68 3247418
>>247394
ну я так и думал, что ты охранитель, вот поэтому лисп и находится на уровне засохшего кала, потому что нет человеческих условий даже просто начать что-то делать
69 3249132
Во многих проектах видел упоминание ocicl и clpm в качестве альтернативы quicklisp'у. Что за покемоны и кто из них теперь главный? Квиклисп уже можно закапывать? Помогите разобраться
70 3250280
>>246585
никогда не понимал подобные визги
какой тулчейн тебе нужен? сырцы это просто текст, лисп машина это просто лиспмашина
хуй знает что тебе нужно чтобы писать тексты и пихать их в лиспмашину
ну вот что? смузи?

алсо по сабжу треда
вы ваще компилите свои коекаки в бинари? или в объектники? или похуй?
71 3250367
>>250280

>вы ваще компилите свои коекаки в бинари? или в объектники? или похуй?


Если просто скрипт, то обхожусь росвеллом. Если что-то крупнее - asdf program-op
https://lispcookbook.github.io/cl-cookbook/scripting.html#with-asdf
72 3250383
>>250280

>хуй знает что тебе нужно чтобы писать тексты и пихать их в лиспмашину


>ну вот что? смузи?


С Л А Й М
Л
А
Й
М
73 3250388
>>250383
ну и поставь себе слайм, или еще какой плагин хуягин их сейчас силлиарды
вот блять ноют ебаные нытики аррря как писать букафки я нимагу печатать у миня адин палиц а не восимь рук пук хрюк аря
хартьфу блять
74 3250602
>>250367
почитал сей материал, благодарочка
лень искать в кукбуке поэтому спрошу: можно ли скрестить объектник лиспа с объектниками например сишки и зашить в бинарь? вроде бы есть трансляторы лисп ту си, но этот путь мне не очень нравится

ну допустим на лиспе фибку хуйнуть (сам прото и тело функции), а на сихе мэйн и вызов с параметрами пользователя

такой вот простецкий пример чтобы вычислить фибку до миллионного числа допустим, но на традиционных декларативно императивных языках, чтобы не сильно бошку ломать об лисп
75 3250758
>>250602

>можно ли скрестить объектник лиспа с объектниками например сишки и зашить в бинарь?


ecl именно для этого и нужен, правда, код он генерирует менее быстрый, чем sbcl.
Впрочем, sbcl тоже научился делать библиотеки:
https://github.com/40ants/sbcl-shared-library-examples/tree/master
https://github.com/quil-lang/sbcl-librarian
76 3250768
>>250758
я же не про либы спрашивал, а про объектник
с фаслом чо можно наколдовать? есть в нем таблица символов?
77 3250773
>>250768

>с фаслом чо можно наколдовать?


Ничего. Только загрузить в образ. К тому же, формат фаслов не документирован и может меняться от версии к версии.
78 3251341
>>246301
Прямо сейчас, только на хехе: по эрлангу от 7 компаний, по эликсиру от 10. А по лиспу сейчас их сколько, господин обосрамс?
79 3251342
Общелисп с батарейками: https://ciel-lang.org

>- Is CIEL yet another language re-design?


>- Absolutely not. CIEL is plain Common Lisp. We don't redefine the semantics of the language. CIEL is a collection of useful libraries, shipped as one Quicklisp meta-library, a core image and an executable.

80 3251599
>>142890 (OP)

> гомоиконность


Ха-ха, гомики вы все!
image855 Кб, 2516x1190
81 3252140
итак
встала хуем задача написать очередную тулзу под лисп
а в частности лиспкомпилер
да да я вкурсе что sbcl итак компилит сырцы хуе мое речь как раз пойдет об этом
неудобство заключается в том что строчку (compile-file "filename") нужно держать в сырце, а я хочу оставить сырцы без этих лишних телодвижений

итак что мы имеем:
сырец <filename.lisp>
sbcl
zsh (bash cl)

что я хочу:
$ ls
filename.lisp

$ cl filename.lisp
$ ls
filename.lisp filename.fasl

$ cl -b filename.lisp
$ ls
filename.lisp filename.fasl filename.exe*

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

звучит как задача для мейка, но я не хочу плодить мейкфайлы для всяких хеловордов на лиспе, а потому мне нужен либо баш, либо bin/cl

затем надо просто прописать очередной алиас в zshrc:
alias cl='compile-lisp.sh'
сунуть эсаш в юзербин и сделать его экзекьютабл

так как тут тред лиспа - помогите с bin/cl скриптом для этой хуйни? я только начал изучать лисп (да и в баше не шарю), но тулзу для удобства пользования очинь хочица
image855 Кб, 2516x1190
81 3252140
итак
встала хуем задача написать очередную тулзу под лисп
а в частности лиспкомпилер
да да я вкурсе что sbcl итак компилит сырцы хуе мое речь как раз пойдет об этом
неудобство заключается в том что строчку (compile-file "filename") нужно держать в сырце, а я хочу оставить сырцы без этих лишних телодвижений

итак что мы имеем:
сырец <filename.lisp>
sbcl
zsh (bash cl)

что я хочу:
$ ls
filename.lisp

$ cl filename.lisp
$ ls
filename.lisp filename.fasl

$ cl -b filename.lisp
$ ls
filename.lisp filename.fasl filename.exe*

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

звучит как задача для мейка, но я не хочу плодить мейкфайлы для всяких хеловордов на лиспе, а потому мне нужен либо баш, либо bin/cl

затем надо просто прописать очередной алиас в zshrc:
alias cl='compile-lisp.sh'
сунуть эсаш в юзербин и сделать его экзекьютабл

так как тут тред лиспа - помогите с bin/cl скриптом для этой хуйни? я только начал изучать лисп (да и в баше не шарю), но тулзу для удобства пользования очинь хочица
82 3252166
>>252140
Ты roswell переизобретаешь что ли?
image5 Кб, 228x250
83 3252178
>>252166

>roswell


неа, не похоже, это какой то пакетник, а я переизобретаю хук
может на днях сам осилю, сейчас не особо есть время ковыряться
84 3252197
>>252178
Не только, это ещё и альтернатива почившему cl-launch -- пускалки скриптов. Твой пример как раз оттуда.
Показываю, как пользоваться:
1. ros init yopta # генерируешь скелет скрипта
Successfully generated: yopta.ros
2. Открываешь своим любимым редакторомемаксом и пишешь свой скрипт. Вот тебе пример с зависимостями: https://dpaste.org/bNDSv
3. Запускаешь ./yopta.ros
Первый запуск потребует какое-то время на компиляцию всех зависимостей
4. При необходимости создаешь бинарник: ros build ./yopta.ros
85 3252198
>>252197
Чутка обкакунькался в примере
https://dpaste.org/03R3q
86 3252240
>>252197
так мне не нужен генератор скрипта
мне нужен скрипт
так что снова нет, я не переизобретаю розвел, я переизобретаю хук
87 3252307
>>251341
Только тебя на эти 7 ваканский один хуй не возьмут потому что ты кроме смузиегвого джаваскриптопитона с 10000 ваканский ничего не осилил, ну и нахуй ты тут перед нами выебываешься?
88 3252411
>>252240
Ты какую проблему пытаешься решить? Из твоей шизофазии сложно что-то понять, можно только догадываться. Ясно только одно: ты явно делаешь что-то не так.
Тебе нужен инструмент для превращения скриптов в исполняемые бинарники или что?
89 3252603
>>252411
консоль первый раз увидел?
90 3252639
>>252603
Понятно. Ладно, набивай свои шишки сам.
91 3253119
>>252307
Опять обосрался... Прямо таки обосрамс-комбо. Ну соберись, что же ты...
Я последние 4 года только и работаю эликсир/эрланг разработчиком.
92 3253847
>>253119
Что разрабатываете, сколько плотют?
93 3253859
>>253847
Система мониторинга и управления, SCADA выходит.
Что-то я не вижу 2х зарплат как ОП пишет. Может немножко выше среднего, но гораздо больше вкусных вакансий по Python/Go/Rust. Наверно надо ждать западный хаир, там будет вкуснее надеюсь. Щас 250к, 13 лет.
94 3253860
>>253859
Ой, это в эликсир треде ОП писал про 2х, не тутошний.
95 3259392
Какой лисп имеет самую лаконичную спецификацю?
96 3259393
>>259392
picolisp
97 3260637
>>259392
Схема конечно
У пиколиспа вообще не спека >>259393
98 3260728
>>260637
Язык одной реализации, стандарта у него, конечно же, нет.
Но тем не менее схемы он лаконичнее.
99 3260868
>>260637
Там их целых 7 редакций
100 3261170
>>260868
R5rs самая маленькая, r7rs современнее. А так зависит от того, для чего спеку читаешь - мне как энтузиасту зашла r7rs своей лаконичностью и выверенностью. Только дин диспатча не хватало, но он прикручивается как и половина фич через макросы+cps
101 3266091
Вкачусь в тред с тупым вопросом: почему в CL принято устанавливать модули quicklisp'ом? В линуксах, например, не очень приветствуется метод установки тех же питонячьих модулей pip'ом и они разбиваются на пакеты конкретного дистрибутива. В CL же подобной тенденции нет. Во всех дистрибутивах (кроме мб guix'а) модули ставятся quicklisp'ом. Есть ли в этом сакральный смысл?

Вроде бы у Racket'а комунити меньше, но при этом они имеют свой оверлей в генте:

https://gitlab.com/gentoo-racket/gentoo-racket-overlay
sage 102 3266095
>>266091

>почему в CL принято устанавливать модули quicklisp'ом?


Потому что удобно.

>Есть ли в этом сакральный смысл?


Встречный вопрос: если ли сакральный смысл в дополнительном опакечивании для целого зоопарка дистрибутивов?
103 3266107
>>266095

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



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

Да и опакечивание делается пользователями конкретного дистрибутива, не для зоопарка в целом. Но то, что вообще никто не захотел заморачиваться с этим языком — немного интересно стало.
sage 104 3266108
>>266107

>сторонние пакетные менеджеры для system-wide вещей


Пакеты для cl не являются общесистемными и нужны только во время разработки, ибо софт распространяется в виде цельных образов.
sage 105 3266117
>>266108

>и нужны только во время разработки


Ну и сборки, да.
image805 Кб, 2880x1800
106 3267432
а всмысле? в лупе только when работает? а как же ифы?
107 3267538
>>267432
format t, а не format nil. С nil он просто возвращает отформатированную строку, а с t эквивалентно format standard-output
equal неуместен, для сравнения чисел есть =
setq использовать не надо, это рудимент, вместо используй setf, а именно в этом случае - incf
Ну и вообще, ты зачем за макрос руками работаешь? У loop же есть конструкция :for :to. А так две ошибки допустил, инкремент и проверка условия не в тех местах.
image770 Кб, 2880x1800
108 3267790
>>267538
чота я пока не могу в функциональный стиль
лямбды эти ваще не даются
ну в процедурном канешн ничо сложного (кроме того что тут чота все макросами обмазано)
109 3267792
>>267790
а блин, ветвление неправильно сделал, ну да ладно, сойдет для первого раза
изображение.png107 Кб, 1272x846
110 3267871
>>267790
Ветвления какие-то.... тьфу. Слишком высокоуровнево.
Раз уж взялся за tagbody/go, то не стоит останавливаться на полпути.
111 3267937
>>235164
нет, ломает.
112 3268170
Хочу сделать макрозамену foo2, которая использует foo1.

>(defmacro foo1 (msg) (format t msg) )


>(defmacro foo2 (msg) (foo1 msg) )


>(foo1 "test1")


>(foo2 "test2")


Ошибка какая-то. foo1 отдельно вроде выполняет, а через foo2 не хочет...
Хочу сделать как в си -

>#define foo1(msg) printf(msg)


>#define foo2(msg) foo1(msg)


- чтобы было понятно.

Потом ещё такой вопрос - как убрать кучу текста от sbcl при ошибках? Под сотню строчек вылетает на 1 ошибку. Нафига столько? Какие там флаги проставить?

И где вообще полноценное описание всяких закорючек в духе -

>` ' ~ @ # : & %


- и т. д.? Поисковик такое не берёт. А с этого нигде не начинают объяснение языка, хотя это основы несомненные, причём совершенно неочевидные для интуитивного понимания.
113 3268250
>>268170

>#


эта хуйня вроде сокращение от lamda

>'


а эта хуйня сокращение от quote

>~


эту хуйню я встречал в принтах, начало управляющей севенции, например ~% это перевод строки как \n в си, ~a это %d в си (ну не только децималы а вообще вроде любую хуйню может выводить, мультифункциональная вставка параметра типа того)

только вкатываюсь
image1,9 Мб, 2880x1800
114 3268328
да как эту вашу дямбду написать
я не могу понять

да я могу написать просто рекурсию, но тогда есть вероятность переполнения, мне нужно лямбда решение
изображение.png54 Кб, 774x301
115 3268445
>>268170

>Хочу сделать макрозамену foo2, которая использует foo1.


А читать ты что-нибудь не пробовал? Тот же pcl или хотя бы кукбук.

>И где вообще полноценное описание всяких закорючек в духе


Внезапно, в спецификации https://novaspec.org/cl/2_4_Standard_Macro_Characters
>>268250

>эта хуйня вроде сокращение от lamda


#' - это не лямбда, а макрос чтения для function https://novaspec.org/cl/f_function
>>268328
Ты эту лямбду просто возвращаешь. А вызывать-то её кто будет?

>но тогда есть вероятность переполнения


Хвостовую рекурсию оптимизируют почти все реализации cl, хотя по стандарту не обязаны.
116 3268452
>>268170

>Под сотню строчек вылетает на 1 ошибку.


Игнорируешь слайм - ССЗБ. Даже у дедов в 80х был аналогичный инструментарий.
117 3268453
>>268445

>Ты эту лямбду просто возвращаешь. А вызывать-то её кто будет?


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

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


на компилер надейся а сам не плошай
118 3268469
надо сделать apply (lambda штоли?
119 3268470
>>268453

>милчеловек, напиши как надо?


Как ты пытаешься сделать, так не надо. Это неидиоматичный код с неоправданным оверхедом и просто мозгоёбка.
https://github.com/ruricolist/serapeum/blob/master/REFERENCE.md#iter
Используй nlet из serapeum, обычный цикл или явную рекурсию, ибо переполнение стека на какой-нибудь маргинальщине типа ABCL - не худшее, что там может случиться.
120 3268508
>>268470
напиши лямбду я имел ввиду
121 3268550
>>268508
Ты ж сам скрин с примерами вкинул, где всё есть.
Если не понимаешь, как их использовать и вообще для чего они нужны, то тебе следует почитать что-нибудь более основательное, а не просто примеры кода.
122 3268566
>>268508
https://ideone.com/g0fhFS
Вот тот костыль, который ты пытался соорудить.
Это неидиоматичный код для cl.
123 3268576
>>268550
пик достаточно основательный? может дело в том что лисп не бейсик какой нибудь, не думал в эту сторону?
124 3268577
>>268566
я не хотел разбивать на две функции
изображение.png325 Кб, 1200x792
125 3268597
>>268577
Не разбивай.
image1,2 Мб, 2008x1404
126 3268687
>>268597
стек оверфлоу канешна жи при больших значениях
лан пойду лямбды ковырять
127 3268710
>>268687
Почитай, что такое хвостовая рекурсия
128 3268713
>>268710
да блять я не настолько вкатун
просто концепция лиспа ебет мне мозг
сидишь блять думаешь как в одно выражение впихнуть два выражения
129 3268720
>>268452
с 80ых могли бы и флаг сделать

>sbcl --script program.lisp


Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1001878103}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SB-KERNEL::ARG-COUNT-ERROR {10018D2F23}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK INVOKE-DEBUGGER-HOOK #<SB-KERNEL::ARG-COUNT-ERROR {10018D2F23}>)
2: (INVOKE-DEBUGGER #<SB-KERNEL::ARG-COUNT-ERROR {10018D2F23}>)
3: (ERROR SB-KERNEL::ARG-COUNT-ERROR :KIND DEFMACRO :NAME FOO :ARGS NIL :LAMBDA-LIST (PARAMETER*) :MINIMUM 1 :MAXIMUM 1)
4: (SB-C::CHECK-DS-LIST #<unavailable argument> #<unavailable argument> #<unavailable argument> #<unavailable argument>)
5: ((MACRO-FUNCTION FOO) (FOO) #<unused argument>)
6: ((FLET SB-IMPL::PERFORM-EXPANSION :IN MACROEXPAND-1) #<FUNCTION (MACRO-FUNCTION FOO) {52A4AB2B}> NIL)
7: (MACROEXPAND (FOO) #<NULL-LEXENV>)
8: (SB-INT:SIMPLE-EVAL-IN-LEXENV (FOO) #<NULL-LEXENV>)
9: (EVAL-TLF (FOO) 1 NIL)
10: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (FOO) 1)
11: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (FOO) :CURRENT-INDEX 1)
12: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {10009EA8AB}> #<SB-C::SOURCE-INFO {10009EA873}> SB-C::INPUT-ERROR-IN-LOAD)
13: (SB-INT:LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file program.lisp" {10009E8C53}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
14: ((FLET SB-FASL::THUNK :IN LOAD))
15: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (FLET SB-FASL::THUNK :IN LOAD) {7FDF9E31F74B}> #<SB-SYS:FD-STREAM for "file program.lisp" {10009E8C53}>)
16: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<SB-SYS:FD-STREAM for "file program.lisp" {10009E8C53}> NIL)
17: (LOAD #<SB-SYS:FD-STREAM for "file program.lisp" {10009E8C53}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
18: ((FLET SB-IMPL::LOAD-SCRIPT :IN SB-IMPL::PROCESS-SCRIPT) #<SB-SYS:FD-STREAM for "file program.lisp" {10009E8C53}>)
19: ((FLET SB-UNIX::BODY :IN SB-IMPL::PROCESS-SCRIPT))
20: ((FLET "WITHOUT-INTERRUPTS-BODY-11" :IN SB-IMPL::PROCESS-SCRIPT))
21: (SB-IMPL::PROCESS-SCRIPT "program.lisp")
22: (SB-IMPL::TOPLEVEL-INIT)
23: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
24: ((FLET "WITHOUT-INTERRUPTS-BODY-1" :IN SB-IMPL::START-LISP))
25: (SB-IMPL::START-LISP)
129 3268720
>>268452
с 80ых могли бы и флаг сделать

>sbcl --script program.lisp


Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1001878103}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SB-KERNEL::ARG-COUNT-ERROR {10018D2F23}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK INVOKE-DEBUGGER-HOOK #<SB-KERNEL::ARG-COUNT-ERROR {10018D2F23}>)
2: (INVOKE-DEBUGGER #<SB-KERNEL::ARG-COUNT-ERROR {10018D2F23}>)
3: (ERROR SB-KERNEL::ARG-COUNT-ERROR :KIND DEFMACRO :NAME FOO :ARGS NIL :LAMBDA-LIST (PARAMETER*) :MINIMUM 1 :MAXIMUM 1)
4: (SB-C::CHECK-DS-LIST #<unavailable argument> #<unavailable argument> #<unavailable argument> #<unavailable argument>)
5: ((MACRO-FUNCTION FOO) (FOO) #<unused argument>)
6: ((FLET SB-IMPL::PERFORM-EXPANSION :IN MACROEXPAND-1) #<FUNCTION (MACRO-FUNCTION FOO) {52A4AB2B}> NIL)
7: (MACROEXPAND (FOO) #<NULL-LEXENV>)
8: (SB-INT:SIMPLE-EVAL-IN-LEXENV (FOO) #<NULL-LEXENV>)
9: (EVAL-TLF (FOO) 1 NIL)
10: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (FOO) 1)
11: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (FOO) :CURRENT-INDEX 1)
12: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {10009EA8AB}> #<SB-C::SOURCE-INFO {10009EA873}> SB-C::INPUT-ERROR-IN-LOAD)
13: (SB-INT:LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file program.lisp" {10009E8C53}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
14: ((FLET SB-FASL::THUNK :IN LOAD))
15: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (FLET SB-FASL::THUNK :IN LOAD) {7FDF9E31F74B}> #<SB-SYS:FD-STREAM for "file program.lisp" {10009E8C53}>)
16: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<SB-SYS:FD-STREAM for "file program.lisp" {10009E8C53}> NIL)
17: (LOAD #<SB-SYS:FD-STREAM for "file program.lisp" {10009E8C53}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
18: ((FLET SB-IMPL::LOAD-SCRIPT :IN SB-IMPL::PROCESS-SCRIPT) #<SB-SYS:FD-STREAM for "file program.lisp" {10009E8C53}>)
19: ((FLET SB-UNIX::BODY :IN SB-IMPL::PROCESS-SCRIPT))
20: ((FLET "WITHOUT-INTERRUPTS-BODY-11" :IN SB-IMPL::PROCESS-SCRIPT))
21: (SB-IMPL::PROCESS-SCRIPT "program.lisp")
22: (SB-IMPL::TOPLEVEL-INIT)
23: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
24: ((FLET "WITHOUT-INTERRUPTS-BODY-1" :IN SB-IMPL::START-LISP))
25: (SB-IMPL::START-LISP)
130 3268729
>>268720
Удобно без слайма, я смотрю.
131 3268730
>>268720

>>sbcl --script program.lisp


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

>sbcl --noinform < progname.lisp


>in .zshrc


>alias lisp='sbcl --noinform <'


мимо
rtb98475yg8.jpg32 Кб, 478x367
132 3268757
>>268730

>sbcl --noinform < progname.lisp


Через конвейер он по-другому работает: дублирует строчки, пишет значения выражений (со звёздочкой); вроде интерпретатора что-ли. В итоге вывод самой программы увеличивается в 4 раза и выглядит размашисто. Может и это всё тоже можно убрать флагами? noinform только приветствие убирает.
ПС: noprint, нашёл. Теперь удобоваримо. ) Спасибо.

>>268729

>Удобно


Гораздо удобнее, чем твои посты придумывать.
image117 Кб, 1430x166
133 3268784
>>268757

> можно убрать флагами?


вот такие еще варики
попробуй, мне звездочки в выхлопе репла не особо мешают пока вкатываюсь
134 3268787
>>268784
Смари ещё варик:
mkfifo /tmp/pipe; while true; do cat /tmp/pipe; done | sbcl
А потом в емаксе вешаешь на хоткей write-region в /tmp/pipe
135 3268789
>>268784
еще можно бинарь собрать и не париться
правда бинари на лиспе большие по размерам а по скорости я их не тестил, у меня нет профайлера
вот бы кто сравнил с сишкой
136 3268797
>>268787

>в емаксе


почему в этой хуйне в цветовых схемах не работает face number?
он типа должен декорировать циферки как в виме, но нихуя
мб ты знаешь ответ
изображение.png248 Кб, 638x692
137 3268799
>>268797
в душе не ебу
138 3272109
>>267790
для функциональщины лучше схему/ракетку/кложур бери
коммон лисп больше оопшный/процедурный, дрочить лямбды там можно конечно, но не так удобно как в языках выше
139 3272384
>>272109
написано мультипарадигменный значит будем дрочить в разных парадигмах
image159 Кб, 2554x536
140 3272396
я правильно понимаю что (or) это какой то экстендед тернарник?
написано что выражения вычисляются слева направо пока какое то из них не вернет тру
так выходит из простейшего OR можно свич слепить, напихать в него вызовы и пускай себе щелкает слева направо, как если бы это был свич (или в других языках селект кейс) сверху вниз пока не найдется первый тру кейс

я все еще не могу понять нафига в CL напихали так дохуя всяких макросов

вот если есть OR то нахуй тогда нужен COND? начинает вонять избыточностью плюсов...
141 3272485
>>272384
c++ джава и питон тоже мультипарадигмальные но не будешь же ты в них фп дрочить? если хочешь фп то либа схема либа мл языки типа хаскеля и окамла
142 3272487
>>272396

>экстендед тернарник


в некотором смысле да
это вообще-то макрос, ты его можешь сам за минуту написать

>COND


он для другого нужен, это как свич на условиях типа
```
(case t
((= 0 1) 1)
((= 0 2) 2)
((= 0 0) 'ok)
(t 'default))
```
только то что выше для CL некорректно
а cond вместо case t уже все делает нормальным
143 3272613
>>272396

>вот если есть OR то нахуй тогда нужен COND?


А нахуй нужен COND, если есть IF? Всё избыточно, кроме специальных операторов.
144 3272715
>>272613
ифы неудобные кста в кл
всего одно выражение на ветку
145 3272819
>>272715

>всего одно выражение на ветку


Как и во многих других языках тащемта. В том числе в сишке
146 3273095
>>145074
Современное железо сплошь контрол флоу, то есть датафлоу приходится либо эмулировать как в джаве, либо перегонять на в контролфлоу представление. Датафлоу неэффективен, он типобезопасен.
147 3273099
>>142890 (OP)
repl это компилятор?
148 3273443
>>273099
Это (loop (print (eval (read))))
149 3273487
>>273443
Значит интерпретатор ?
150 3273493
>>273487
Нет.

>REPL (от англ. read-eval-print loop — «цикл „чтение — вычисление — вывод“») — форма организации простой интерактивной среды программирования в рамках средств интерфейса командной строки.



Неужели сложно было загуглить?
151 3273508
>>273493
Значит транслятор?
1290798005.jpeg25 Кб, 450x600
152 3273509
image320 Кб, 728x530
153 3273536
image82 Кб, 2588x592
154 3273669
ладно шутки в сторону
книжечку нашел по CL надо кому?
155 3273708
>>273669
Ну ты не спрашивай, а вкидывай

Кстати, в шапке ссылка протухла. Вот актуальная
https://github.com/pcl-ru/pcl-ru/releases
156 3273722
>>273708
так это она и есть
какое у нее название, кто автор? pcl.pdf как то фигово звучит
157 3273725
>>273722
Practical Common Lisp
158 3273908
>>273493
И? Он что делает по сути? Транслирует?
159 3274277
>>273722
Practical Common Lisp by Seibel Peter
160 3274964
Почему значение переменной можно звать только без скобок? Это же пиздец как выбешивает, ты только начал понимать закономерность этого ебаного ((())) вот те и на. Как лисп вообще видит что-то не в скобках нахуй?
161 3274969
>>273908
В лиспе ты не сохраняешь программу как таковую - она создаёт мини-копию репла, по сути встроенный компилятор. Считай что каждая отдельная программа компилируется ин риал тайм при работе. Ты на ходу можешь теребить код.
162 3275016
>>274969

>риал тайм при работе. Ты на ходу можешь теребить код.



Это же и есть интерпретатор, не?
163 3275042
>>274964
потому что переменная это связанный с хуйней атом?
а ((())) это выражение?
164 3275048
>>275042
Так а почему функцию нельзя вызвать тем же макаром? Однохуйственно же, значение переменной ты вызываешь в консоль или результат работы функции.
165 3275065
>>275048
почемучка не жирни
166 3275221
на какие задачи лиспоподобные хорошо кладуться? если нужно например вебсокет сервер написать то тут уже без стейта (и сайд эффектов) никак
167 3275250
>>275221
ну ты конечно привел пример
ты бы еще про ардуину вспомнил
кажется лисп это ультрахайлевл бай дизайн, а писать на нем ось лейеред микропиську все равно что байтоебить на жабе
168 3275263
>>273908
Выполняет код. Под капотом может быть как интерпретатор, так и компилятор. В случае sbcl - второе.
>>275221

>то тут уже без стейта (и сайд эффектов) никак


Лисп - мультипарадигменный, ФП даже не является основным из подходов, не говоря уж о чистофункциональном.
>>275250

>ты бы еще про ардуину вспомнил


http://www.ulisp.com/

> а писать на нем ось лейеред микропиську


https://github.com/froggey/Mezzano
169 3275267
>>275263

>ссылочки


по-твоему я сказал что этого нельзя делать? я сказал что лисп инструмент не для этого
или мы должны уподобляться всяким шизам и писать шейдеры на пыхе? нет конечно. считаю твоя аппеляция инвалид
отклонено
170 3275275
>>275267

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


Нет. По-моему, ты просто имеешь крайне поверхностное представление о сабже.
>>275250

>кажется лисп это ультрахайлевл бай дизайн


Тебе кажется.
В общелиспе есть инструменты и для низкоуровневого программирование, и по "ссылочкам" примеры их применения, а ulisp - как раз "инструмент для этого".
171 3275279
>>275275
ладно я понял
ты просто не знаешь разницы между может и предназначен
172 3275282
>>275279
Хорошо, что у нас есть ты, и нам сейчас расскажешь.
Будет очень интересно послушать.
173 3275286
>>275279
Особенно интересно узнать, почему ulisp, предназначенный для программирования микроконтроллеров, для этого не предназначен?
174 3275292
>>275282
>>275286
лень разжевывать "на пальцах"
головушку включи и поймешь
175 3275296
>>275292
по приколу что ли эту хуергу делали
176 3275299
>>275296
диалекты лиспа - да
сидел такой же шиз безработный и пришла ему мысль слепить себе инструмент для ковыряния микроконтроллеров, ну и слепил
теперь сидит в треде и с пеной у рта доказывает что лисп про микрухи
в то же время дефакто стандарт индустрии - плюсы по понятным причинам

сам лисп для обучения нейронок сделали
177 3275304
>>275292
Ну что же ты :( Такими знаниями обладаешь, а не хочешь делиться.
Мужики с 80х годов в неведении, на лиспах ОСи пишут. За столько лет не нашлось им такого светила, кто указал бы, в чем они не правы.
178 3275308
>>275304

>в чем они не правы


ну и где твои мужики типерь? што с ебалом? узнали? согласны?
вас постигла судьба рубишизов, рыночек распределил всех по нужным этому миру шконкам
179 3275311
>>275299
в 1958 не было хайпа миджоннер чатжпт ты что имеешь ввиду
180 3275313
>>275299

джемини клавдий
181 3275315
>>275311
технологиям не нужен хайп, чтобы существовать

>>275313
интересно вы тут рвонькаете, как то даже мило
182 3275317
>>275315
чатжпт клавдия не было в 1959
183 3275321
>>275317
уровень вашей аргументации поражает
184 3275325
>>275308

>ну и где твои мужики типерь?


Те самые? Уже на пенсии.
А новых практически нет. Symbolics прогорел, неправильно выбрав вектор развития. ИИ-пузырь лопнул. Передовые разработки (в т.ч. концепцию гуи и в частности окон) растащили более предприимчивые бизнесмены. А современные школьники, вроде тебя, только слышали звон, мол, ФП, ИИ и скобки. Поэтому сообщество очень малочисленно, крупных проектов почти нет.
185 3275333
>>275299

>в то же время дефакто стандарт индустрии - плюсы по понятным причинам


Манямрии крестоёба.
мимо эмбедщик
186 3275334
думаю вкатиться в кложурескрипт и реакт какие подводные
187 3275346
>>275325
красиво бахаешь

>>275333
еще один с ошибкой выжившего

>>275334
ради денег? чекай вакухи на галеры - в то и вкатывайся
188 3275351
>>275346
ради фана
на хую вертел вакуленции после того как попал в чс сбера
работаю на start up
189 3275353
>>275351
ради фана я бы в лисп вкатывался
без шуток
190 3275545
Запустил sbcl
Перед тобой repl

(+ 5 5)
10

Что он сделал? Скомпилировал или интерпритировал?
191 3275551
>>275545
http://www.sbcl.org/manual/
можешь не благодарить
192 3275552
>>275545
в репле интерпретирует вычислил выражение и результат высрал в ответ
скомпиль в бинарь и запусти правда он ничо не высрет в консоль, так как в этом коде нет принтов
193 3275559
>>275545
Что произошло в SBCL REPL?

Когда вы ввели команду `(+ 5 5)` в REPL (Read-Eval-Print Loop) среды SBCL (Steel Bank Common Lisp), система выполнила следующие шаги:

1. Чтение (Read): REPL считывает введённое выражение `(+ 5 5)`.
2. Оценка (Eval): Выражение оценивается. В контексте Lisp, это означает, что функция `+` вызывается с аргументами `5` и `5`.
3. Печать (Print): Результат вычисления, который равен `10`, выводится на экран.
4. Цикл (Loop): REPL возвращается в начальное состояние, ожидая следующего ввода.

Компиляция или интерпретация?

SBCL, как и многие другие реализации Lisp, использует компиляцию в машинный код для выполнения выражений. Это означает, что даже в интерактивной среде REPL, выражения компилируются перед выполнением. Таким образом, когда вы ввели `(+ 5 5)`, SBCL скомпилировал это выражение в машинный код, а затем выполнил его, чтобы получить результат `10`.
194 3275835
>>275559
А это чо?
195 3275882
196 3277148
>>275882
Спасибо, но он на мои тупые вопросы отвечает тупостью.
197 3277153
>>277148
Попробуй гопоту4, она чуть поумнее.
198 3277624
В каком учебнике самые заебатые упражнения. Чтобы нужно было код писать, а не головоломки ебучие. Заранее спс.
изображение.png49 Кб, 547x206
199 3277641
>>277624
В PCL норм упражнения.
200 3281113
так сикундачку...
палучаица я магу сделать демона для серва, который будет чекать дэйт/тайм файлика (ну как мейк по той же логике) МОДУЛЬНЕЙМ.лисп и если он изменился схавоть его через load и крутить обновленную версию, а устаревший луп модуля брейкнуть

ебать

ета чо прод без компила?
201 3282350
Захотел вкатиться в Clojure, но дропнул изучение так как работы ВООБЩЕ НЕТ (1 вакансия на страну)
202 3282378
>>282350
а с колько вакансий тебе нужно, чтобы работать на кложур?
203 3282537
>>282350
Так 1 оффлан, а по удалёнке их дохера же
204 3282566
>>282537
Где дохера-то? Ссылки в студию
205 3282567
>>282566
Пока ты изучишь, они все неактуальными станут.
206 3283606
>>282567
Ну то есть ссылок и самих вакух нет, окей.
207 3283609
>>283606
Просто интересно, а что тебе дала бы информация о работе, которая тебе не светит? Особенно с твоими навыками поиска информации.
208 3285438
Скобкоблядь ИТТ. Че у вас тут происходит последние 5 лет?
209 3285966
>>285438
Вкатыши вкатываются. В общем, всё то же, что и в остальном программаче.
210 3285976
>>285966
Во что вкатываемся? В прошлом веке кложура была популярной. А щас она как будто пропала с радаров? Не то чтобы кложура была настоящим лиспом, конечно.
211 3285999
>>285976

>А щас она как будто пропала с радаров?


Ну ты и соня. Тебя даже вчерашний шторм не разбудил.
212 3286004
>>285999
Я в другую религию ударился на какое-то время, не было времени следить.
Че с ней случилось то? Столько хайпа было.
213 3286012
>>286004

>Я в другую религию ударился на какое-то время


В секту переписывателей подался, да?

>Че с ней случилось то?


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

>Столько хайпа было.


Хайп - штука недолговечная.
214 3286085
>>286012
В какой-то момент, да. Но меня так заебало время компиляции, что я вернулся к истокам.

> Харизматичный лидер ушел


Рич съебался? Вот это новости. Куда, неизвестно?
215 3286231
>>286085

>Рич съебался?


Лет пять уж прошло. Сказал, что наигрался, и ушёл в закат.

>Куда, неизвестно?


Хз, не интересовался.
216 3287999
Чет лишп тред совсем мертвый. Сраться не о чем
217 3288026
>>287999
Языкосрачи уже никому не интересны. Какая разница, насколько крутой язык, если ВАКАНСИЙТОНЕТ
218 3288030
>>288026
Как будто они когда-то были.
Лишп это язык для души.
219 3288036
>>288030
Половина программача - вкатыши, которым инфоцыгане наобещали наносеков, другая - клерки с ипотеками. О какой душе ты говоришь?
220 3288049
>>288036
Ну кто-то же создал лисп тред?
221 3288113
>>288049
Мне кажется, он сюда вообще не заходит или сидит в ро.
2024-10-03-1129531287x177scrot.png43 Кб, 1287x177
222 3288115
>>288113
Ну и ладно.

Теперь это elisp-тред.
223 3288131
>>288115

>seq-some


Что-то он всё никак не доэволюционирует в CL.
224 3288140
>>288131
Он давно уже доэволюционировал, если ты про то что умеет CL, см cl-lib.

seq.el это более новая либа, которая выглядит как стандартный функциональный набор, в каком-нить жс, что как по мне намного удобней, потому CL примитивы застряли в 80ых.
225 3288206
>>288140

>Он давно уже доэволюционировал, если ты про то что умеет CL, см cl-lib.


Сходу бросается в глаза, что пакетов ещё не завезли, иначе не было бы этих вот seq-some, cl-getf.

>seq.el это более новая либа, которая выглядит как стандартный функциональный набор, в каком-нить жс


Я бы сказал, как в каком-нибудь CL, лол. Примерно 3/4 из CL, но имена местами изменены на более общепринятые. Только take, drop и group с хаскеля стащили.
226 3288213
>>288206
Каких пакетов, не понимаю о чем ты.
227 3288216
>>288213
Средство контроля области видимости. Неймспейсы.
228 3288220
>>288216
А, ты про это. Ну да, флейт неймспейс. На самом деле работает збс.
229 3288226
>>288140

>seq-reduce (function sequence initial-value)


>reduce function sequence &key key from-end start end initial-value


>seq-position (sequence elt &optional testfn)


>position item sequence &key from-end test test-not start end key


А, так они опциональные аргументы выкинули. Фууу, за это дизлойс.

>>288220
Да кто ж сомневается, что и так работать будет? Но неудобно же.
230 3288233
>>288226
Ну cl-lib никуда не делать. Хочешь его, юзаешь его же.

> Но неудобно же.


Да хз. Греп лучше любых сраных lsp как по мне.
Ну было бы у тебя `seq::some` тебе было бы сильно лучше?
231 3288241
>>288233

>Ну было бы у тебя `seq::some` тебе было бы сильно лучше?


Нет, было бы
(defpackage pkg (:use #:el #:seq))
(some ...)
232 3288303
>>288241
Вот у меня есть проект. Как мне найти все использования конкретного `some` в нем? Если мне не изменяет память, тулинг вокрул CL в такое просто не умеет.
233 3288305
>>288303
{slime,sly}-who-calls
234 3288316
>>288305
Ну ты сам то это говно попробуй. Оно плюс минус неюзабельное.
gaps-minor-mode.png69 Кб, 815x320
235 3288322
Как же похорошел stumpwm при Собянине.
Наконец переделали на всё на методы и прикрутили динамические примеси для расширяемости.
Больше никакого monkey patching'а как в былые https://github.com/stumpwm/stumpwm-contrib/blob/master/util/swm-gaps/swm-gaps.lisp
236 3288324
>>288322
Как он щас, кстати? Я лет семь назад с него слез, потому что он заебал глючить на мелочах типа иконки телеги в трее лагучей.
237 3288325
>>288316
Так я и пользуюсь, мне удобно.

>говно


>неюзабельное


Что там у тебя случилось?
238 3288330
>>288324

>Как он щас, кстати?


Чуть более стабилен, но всё ещё нужно уметь приготовить правильно. В контрибах вон >>288322 сам видишь, что творится
239 3288332
>>288325
Если я правильно помню, оно худо бедно работало только для публичных глобальных функций. А типа, кто юзает вот эту приватную функцию поправь терминологию сам хуй.
240 3288336
>>288330
Я понял что я особо не трогаю конфиг своего вм вообще после изначальной настройки, поэтому динамичности как у стампа мне особо не надо. dwm за глаза хватает. Впрочем, его еще и легче править на лету, чем stumpwm.
241 3288341
>>288332
Да не, слайму похуй экспортируется символ или нет.
Я вот сейчас буквально stumpwm ковырял, постоянно пользовался sly-who-{calls,references} - всё отлично работало.
242 3288344
>>288341
Ну лан, может ДОПИЛИЛИ.
Но все равно, я много лет убил на CL, и ну его нахуй.
243 3288346
>>288336

>Впрочем, его еще и легче править на лету, чем stumpwm.


Ну не, в плане модификации и, тем более, отладки на лету stumpwm всем даёт пососать.
244 3288351
>>288346
Хер знает, не могу сказать что у меня хорошие от этого процесса воспоминания.
Ну может когда у меня будет очередной приступ тинкеркрастинации, гляну еще раз.
245 3288538
CL кун, сможешь показать как сделать простенький скрипт?
246 3288585
>>288538
Тебя какой именно аспект скриптования интересует?

https://lispcookbook.github.io/cl-cookbook/scripting.html
В кукбуке этот вопрос вроде достаточно полно освещён, не показано только примеров с roswell'ом в качестве пускалки скриптов.
247 3288588
>>288585
Есть супер простая задача.
Есть директория, в ней лежат csv файлики. Каждый надо распарсить, удалить дубликаты из колонок по определенным правилам, сгенерить sql и вставить его в базу.
248 3288595
>>288588
Да, несложная. Какие-то вопросы?
249 3288597
>>288595
Покажешь как сделать?
250 3288598
>>288597
Нет, сам делай свою лабу.
251 3288617
>>288598
Эт не лаба. И я уже все сделал. Мне просто было любопытно как бы это выглядело на общелиспе. Сколько боли бы это вызвало.
252 3288856
>>288617

>Сколько боли бы это вызвало.


Зависит от СУБД и объемов. Но если у тебя не десятки гигабайт и bulk insert не нужен, то, скорее всего, ноль боли.

>Мне просто было любопытно как бы это выглядело на общелиспе.


Любопытно — сделай. Разомнешь серое вещество.
253 3288948
>>288856
Ну ты и бака!
254 3289781
>>288036
Я для себя чисто для души.
image.png488 Кб, 894x569
255 3289889
sly или slime?
256 3289967
>>289889
Да не велика разница.
257 3290885
Заклинатели метаобъектного протокола CLOS у нас тут водятся?
258 3290889
>>290885
Нет, но ты все равно спрашивай.
259 3291011
>>290889
Да уже разобрался. Описывал метакласс для прозрачного доступа к атрибутам в sysfs и нужны были прокси-слоты.
Короче, определил метакласс, классы direct-слотов, effective-слотов и метод slot-value-using-class и его setf-версию, которые читают и пишут из/в sysfs. Работает, но мне не нравится, что место под эти слоты выделяется в объектах. Нет, мне не жалко этих скольких-то лишних байт на объект, но перфекционизм не даёт покоя.
260 3291104
>>291011
show the usage code
261 3291124
262 3291817
Звали в сбер. Они купили продукт по страхованию написанный на листе. Готовы обучать, тк я на листе не писал никогда. Не взяли, потому что не решил в тестовом задания со *
В первой надо было писать процедуру на sql
Во второй выводить самые толстые файлики через консольный git
263 3291862
>>291817

>написанный на листе


А4?
264 3292267
>>291862
Листотред А4 №15
265 3293427
>>291817
Что за продукт, на каком листе?.. Расписал бы хоть.
С задач со звёздочкой кринжанул
266 3293987
>>291817
>>291862
>>292267
давеча на листе писал джиэсик для себя
имаджинировал ебало техлига кста, который эту хуйню придумал
172888826259320000.mp4795 Кб, mp4,
752x652, 0:08
267 3297560
Как писать программы?
268 3297898
>>297560
(print (eval (read))
269 3298061
>>297898
А где описание на русском что такое eval и куда и когда его надо вставлять?
sage 270 3298068
>>298061
МОЛОДОЙ ЧЕЛОВЕК, ВЫ КАК К НАМ ВООБЩЕ ПОПАЛИ?
271 3298099
>>298068
Девачка с ютуба сказала что лист пиздатый
272 3298103
>>298099
Ну вот пусть она и объясняет, куда там евалы засовывать надо.
sage 273 3308721
Более подходящего треда нет, спрошу тут.
Кто-нибудь мне может объяснить, какого хуя в APL выражение ≤\1 0 0 1 0 1 0 возвращает 1 0 1 1 1 1 1, а не 1 0 1 1 0 1 0? Я джва годадня убил на отладку своего говнокода из-за этой хуйни.
Предполагаю, что ответ "просто потому что". Но как тогда добиться ожидаемого поведения оператора scan?
274 3308722
Сега приклеилась
275 3309813
>>308721

>APL


о_О
276 3309815
>>291817
Ценный коммент, спасибо за правду. Посмешил.
277 3309817
>>291817
предположу что все же система была написана на сlojure, а не на общелиспе или схемке
278 3309929
>>309817
У них вроде и брощелисп, и кожура используются.
279 3312006
>>298061
То есть, куда вставить read и print ты разобрался, а для eval дырки не хватило?
280 3312018
>>288588
Но зачем делать такое на лиспе?
Для этого есть гораздо более подходящие инструменты.
281 3312049
>>312018
Для чего лисп тогда подходит?
282 3312057
>>312049
Для мастурбации решения задач из SICP.
283 3312059
>>312057
Я кстати решил его таки дочитать. В свое время половину прочитал, и как-то забросил.
Message Passing style оч симпотично выглядит.
284 3313915
Читаю sicp, дошел до упражнений, нужно писать код на lisp scheme, что нужно устанавливать?
Ну или порекомендуйте онлайн интерпретаторы.
285 3313929
>>313915
drracket
286 3338220
https://extemporelang.github.io/

> Extempore is a programming language and runtime environment designed to support cyberphysical programming, where a human programmer operates as an active agent in the world.


>You might have seen Extempore used for livecoding—making live music & visuals with code—and it's certainly very good at that, but Extempore's ambitions are broader :)



да, ето бамп
287 3339766
>>338220
Ну и зачем этот язык нужен? В чем прикол-то? Хард риалтайм на нем можно писать? А то вон пишут что-то про музыку.
288 3339775
>>339766
Тебе ссылку на переводчик с английского дать или что?

>Хард риалтайм на нем можно писать?


>where a human programmer operates as an active agent


Лол, а ты сам сможешь?
289 3346351
https://www.youtube.com/watch?v=f6ZM9-nDnXQ
[Scheme'23] A R4RS Compliant REPL in 8Kb
290 3346872
>>346351

>A R4RS Compliant REPL in 8Kb


8кб чего? Ну и не сказать, что это очень мало. uLisp на атмегах запускается с 2кб оперативы.
291 3349672
Подскажите как узнать какие тут аналоги команд if else begin end из паскаля?
292 3349681
>>349672
Базовый - специальный оператор if https://novaspec.org/cl/f_if
В стандарте есть также макросы when, unless, cond, or, and, разновидности case, которые в этот if раскрываются.
293 3349687
>>349681
А стандарты CL совместимы же с другими типа newlisp, pico и т.д.?
294 3349695
>>349687
Нет, это разные языки. Особенно picoLisp.
У них, конечно, есть сходства, но не больше, чем у жс, сишки и перла.
295 3349749
>>349695
Так а как выбрать какую реализацию лиспа мне дрочить?
296 3349767
(defun имя-функции (аргументы...)
"необязательная-документация..."
(interactive как-получить-аргументы) ; необязательно
тело...)


Это чья реализация?
297 3349818
>>349749
Бери common lisp. Реализацию любую на выбор:
>>142890 (OP)

>Основные реализации:


>- свободные: SBCL (нативный код), Clozure CL (нативный код), ECL (через сишку), Clisp (байт-код; небольшой размер образа; похоже, заброшен), Clasp (LLVM; ориентирован на интероп с C++), ABCL (байт-код JVM), CMUCL, GCL.


>- коммерческие: LispWorks, Allegro CL, Scieneer CL, mocl


>>349767

>(interactive как-получить-аргументы)


Это emacs lisp - язык расширений емакса, как можно догадаться из названия. Похож на общелисп и даже медленно и планомерно стремится в него эволюционировать, но пока всё никак.
298 3349852
173553164858544367.jpg68 Кб, 810x1080
299 3352693
Написал свой кулькулятор, хочу его на мобилу андроЙд, не через repl, а прям самодостаточное приложение, что делать?
301 3378450
https://old.reddit.com/r/Common_Lisp/comments/1hncabr/2000_usd_bounty_to_see_byvalue_struct_passing/
За реализацию в sb-alien передачи и возврата структур по значению предлагают 2000 зелени. У кого свободного времени достаточно - дерзайте.
302 3378945
>>378450
На том холме уже заслонила небо гора мертвецов.
303 3379080
Посоветуйте простую реализацию ГУИ на лиспе чтоб поиграться.
А то тут чёрт ногу сломит, лтк установи, связи с тсл установи, какую то поеботу из 90ых поставь.
304 3379105
>>379080
Платформа какая? Простую в плане чего?
Можешь clog попробовать, если вебпарашей не брезгуешь
305 3379120
>>379080
В плане использования iup, nodgui просты
306 3381935

>Autism spectrum disorder (ASD) is a complex developmental condition involving persistent challenges with social communication, restricted interests and repetitive behavior.



думайте
307 3381985
Как думаете, написать игровой движок на лиспе это совсем отбитая идея?
308 3382019
>>381985
Нет. Вон чувак свой движок и игру запилил:
https://web.archive.org/web/20240101091407/https://reader.tymoon.eu/article/413
309 3382863
получается QUOTE не даёт реплу вычислить выражение, но данные остаются пригодными для сортировки к примеру?
310 3384163
в АНСИ коммон лиспе автор сходу грит, мол, без редактора заебёшься скобки считать
это как понимать? Как диды лисповале?
311 3384233
>>384163
Уж не знаю, было ли у дедов что-то кроме балансировки скобок, но у современных лисперов обычно что-то такое http://danmidwood.com/content/2014/11/21/animated-paredit.html
Ну и вообще, рекомендую сразу брать нормальную среду разработки емакс с нормальной интеграцией с реплом. Одна из главных фишек лиспа именно в интерактивной разработке наживую можешь погуглить что-нибудь вроде lisp live coding, если не понимаешь, о чем я.
312 3384323
>>382019

> Yukari Hafner


Ага, то есть единственный способ получить девушку, что любит программировать, да ещё и на лиспе - это взять мужика и отрезать хуй? Окей. Понял-принял. Почему, сука, именно я? Зачем, блядь, так много думать? Почему бы не бухать в падике с пацанами, потом не перейти на хату, где празднуют как откинулся браток, вызывают шлюху для гостей и распечатывают ящик водяры. Потом на завод, потом Машку обрюхатить, а потом в 35 уже в могилку. Изи же? Изи.
313 3384325
>>384163
>>384233

>Одна из главных фишек лиспа


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

В смысле, если голосящий с пеной изо рта зилот испугал тебя своим БЕЗ РЕПЛА НЕ ЛИСП @ БЕЗ СЛАЙМА НЕ ЛИСП: можно и без этого жить, особенно если ты энтузиаст (ака борщехлёб).

Поэтому если есть особо сильное отторжение к тому, что образ воспринимается как живой зерлинг, которого ты мутируешь в нужное существо - просто не используй эту хуйню. Вообще. И поджигай жопу вахтёру треда, который сразу же включит режим "НУ САМ СЕБЕ ЗЛОБНЫЙ БУРАТИНА ЗНАЧИЦА"

Мог
314 3384326
>>384325

>Мог


^C^V ебучий
315 3384358
316 3384417
>>384358
Постер - нет. Аутизм... может быть. Но явно высокофункциональный, с "научением", потому что под нормиса кошу лучше всякого Штирлица.
317 3386731
Походу для энтого вашего лиспа и взаправду нужно быть аутистом.
Полчаса ебался с созданием локальной переменной, пока не дошло спросить чатгопоту, что же это такое на самом деле.
Цитата: "Двойные скобки в let нужны потому, что список переменных и их значений даётся в виде списка списков"

Какого хуя авторы мануалов не пишут про эту поеботу сами?
318 3386735
Так много реализаций этого листа, что нейронки путаются вечно в ответах.
319 3386741
>>386731
Ты что читаешь? У тебя там примеров кода нет что ли?
>>386735
Ты, скорее всего, сам не уточняешь, какой именно лисп. На такие тривиальные вопросы даже тупенькие модели в состоянии ответить.
image.png71 Кб, 537x285
320 3386753
>>386741

>Ты что читаешь? У тебя там примеров кода нет что ли?


Анси лисп.
Вот как из пикрила можно понять, что let это не оператор присваивания, а хитровыебанный манипулятор списков?
321 3386758
Из прочитанного я решил так, автор решил изъебнутся с декларированием выражения внутри переменной, заебись, но я хочу создать простой пример для работы.

(let (x 1) (x)) - так в моём понимании работает создание переменной - я создал собственно имя и забиндил его ко значению, а затем использовал его в теле. Но таким образом выдаёт какую то ошибку в лямбда что то там
322 3386781
>>386753

>что let это не оператор присваивания, а хитровыебанный манипулятор списков?


Там буквально написано, что это оператор, вводящий новые локальные переменные. Ты этот кусок читал вообще? Разжевано - подробнее некуда.
>>386758
(let ((x 1)) x)
323 3386958
>>386758

>(let (x 1) (x)) - так в моём понимании работает создание переменной - я создал собственно имя и забиндил его ко значению, а затем использовал его в теле. Но таким образом выдаёт какую то ошибку в лямбда что то там


Let может объявлять много переменных за раз.

Как ты поймёшь, когда заканчиваются объявления и начинается тело let'а? Или для тебя объявление переменной должно быть инструкцией, как defparamter, чтобы можно было как в сях мешать инструкции и объявления?
324 3386960
>>386958

>defparamter


Блядь, надо исправлять. Это самая частая ошибка, когда я пишу defparameter. Почему пальцы съедают именно эту букву?
steroid-let.png53 Кб, 619x581
325 3386990
>>386758
Алсо, это литкода тред?
https://pastebin.com/iDDd6sFG
326 3387214
>>386990
У тебя переменные ссылаться на предыдущие объявленные не могут. И время вычисления не соответствует расположению в коде.
Я бы вот так сделал https://ideone.com/qXgxxm
327 3388711
у меня голова болит
328 3391977
>>387214
Окей, закосячил.

Правда

> let let let let let let let


Можно наверное оптимизировать.
329 3392006
>>391977
Компилятору похуй
330 3392064
>>392006
L'esthétique.
331 3393698
>>142890 (OP)
Бля ну почему эта ваша ракета такая тормозная.
Это же просто сраный интерпретатор схемы, почему он сука занимает памяти как браузер с открытым ютубом.
332 3394097
>>393698
Ты её на тостере запускаешь что ли?
333 3394141
>>394097

>ряяяяя летает на 32гб


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



Нахуй пройди
334 3394180
>>394141
Ну ладно, страдай.

>>ряяяяя летает на 32гб


Кек. Вообще-то даже на говноплатнике с алика за 2тыщи летает.
335 3395390
>>142890 (OP)
Моя цель - выучить emacs lisp для написания плагинов. Сейчас программирую на си-подобных языках, лисповый код выглядит по-марсиански, поэтому ищу полноценный учебник для начинающих. Но, как выяснилось, для elisp такого учебника нет, есть только справочник на gnu.org, который рассчитан для тех, кто знает какой-то лисп и им осталось вникнуть лишь в очередной диалект.
Какой диалект лиспа ближе всего к elisp и для которого есть вышеназванный учебник? В интернете часто рекомедуют "Practical Common Lisp", но, ознакомившись, стало ясно, что это никак не тянет на учебник для начинающих.
336 3395479
>>395390
Elisp ближе всего к common lisp'у, но немного архаичный. Там до сих пор динамическая область видимость у переменных по-умолчанию, например.

>В интернете часто рекомедуют "Practical Common Lisp", но, ознакомившись, стало ясно, что это никак не тянет на учебник для начинающих.


Для начинающих в общелиспе или в программировании вообще? Если первое, то pcl - нормальный учебник с хорошей практической частью, рекомендую. На гитхубе есть перевод на русский. Если второе, то хз, для совсем вкатунов, наверное, ничего нет.
image.png19,9 Мб, 5712x4284
337 3401070
ddd.jpg5,8 Мб, 5712x4284
338 3401071
339 3401699
>>401071
Пиздец. Мониторы под разным углом
340 3402152
>>401071
Пиздец.
341 3402436
>>401071

> срач


> гомотопическая теория типов


> garage


> whey protein


> пепе


> татуированный бимбоунитаз


> Украина


В этой картинке прекрасно всё. Джоконда.
342 3402637
>>402436
+ флаконы смазки на столе
300px-1861-JohnK.Ousterhout.jpg7 Кб, 300x215
343 3405498
Почему дед невзлюбил пикрила? Позавидовал чедовской внешности?
344 3405532
>>402436

>> garage


Причём безалкогольный.
345 3407800
https://mcclim.common-lisp.dev/posts/McCLIM-099-Ostara-release.html
Поразительная работоспособность, чувак по сути в одного переписывает.
346 3417541
>>277641
Где эту книгу можно прочесть?
Screenshot 2025-03-29 182750.png385 Кб, 2559x1439
348 3418966
готов к обучению
349 3419460
>>418966
Есть же перевод
350 3419613
>>419460
Стараюсь в оригинале читать всё
351 3419665
>>419613
Боишься упустить непереводимые словообороты и неповторимый стиль изложения автора?
Не повторяй ошибок других айтишников. Если будешь пренебрегать чтением на родном языке, то станешь косноязычным уебаном, который толком не может изъясняться ни по-русски, ни по-английски.
352 3419684
>>419665
Каких ошибок? Я свободно владею английским, зачем мне чей-то перевод?
мимодругойананас
353 3420013
>>419665

>пренебрегать чтением на родном языке


>по-русски


Сорян, я - еврей.
354 3420523
>>419684

>Я свободно владею английским, зачем мне чей-то перевод?


Затем, что ты не умственный геракл, чтобы читать и параллельно переводить материал, в котором ты только пытаешься разобраться.
Затем, что восприятие через твою разреженную и сильно усечённую семантическую сеть неносителя языка, да ещё и не погруженного в языковую среду, не только огрублено и значительно постеризовано, но и ведёт к расщеплению знаний. Т.е. грубо говоря, у тебя появляются практически изолированные семантические подграфы, в значительной мере усечённо дублирующие уже имеющиеся структуры.
355 3420666
>>420523
Для чтения книг нет необходимости погружаться в т.н. языковую среду, перевод на русик может быть а) некорректным; б) содержать отсебятину. Из предисловия к одному переводному изданию:
"Таким образом, отредактированный русский
перевод в его окончательном виде – это скорее переизложение начального материала, обеспечивающее его читабельность для русскоязычной аудитории; фактически это книга, написанная заново." Кстати в России практически невозможно достать технические книги не на русском, т.е. это означает, что какую-то очень хорошую книгу ты вообще не сможешь купить в бумажном виде. Зачем так делать? Это типо как украинцы запрещают людям на русском разговаривать?
356 3420805
>>420666

> Кстати в России практически невозможно достать технические книги не на русском


Спроса нет.
357 3424204
>>395390

>Но, как выяснилось, для elisp такого учебника нет



На самом деле учебник для начинающих все-таки есть: Robert J. Chassell "An Introduction To Programming In Emacs Lisp" (2009).
358 3424291
>>420805

>спроса нет


Проиграл.
359 3424420
>>420666

>Зачем так делать?


Цена ввоза и распространения приводит к тому, что такие книги будут стоит по 10к рублей, и покупать их будут единицы.
360 3424423
>>420523

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


Потому что при чтении не надо переводить, надо понимать. А для этого не нужен перевод.
361 3424729
>>424423

>Потому что при чтении не надо переводить, надо понимать.


Ты не дочитал, про это вторая половина поста.

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



Ну и сразу говорю, что не стоит переоценивать свои навыки. Между "читаю маны и уже джва года смотрю сериалки в оригинале" и "владею языком уже почти на уровне британского неда non-educated delinquent" -- огромная пропасть. Без погружения в языковую среду такого, казалось бы, базового уровня практически не достичь.
362 3424788
>>424729
Я, например, читаю книги, пишу заметки себе, пишу на форумах и т.д. Всё на английском. Среда нужна для понимания культуры в первую очередь. Но именно к языку и пониманию написанного без перевода это имеет косвенное отношение. Всякие IELTS, TOEFL и CPE можно сдать без "погружения в среду", если ты под этим понимаешь "жить среди носителей".
Поэтому не думаю, что лично я переоцениваю свои навыки. Да, у меня есть пробелы в словарном запасе академического уровня, мало опыта в говорении. Но это не мешает мне читать книги на английском и не заниматься при этом их переводом в голове, а сразу поглощать информацию.
363 3425298
>>424788
Поддерживаю. Скилл чтения очень прокачался, а вот говорить и слагать предложения грамотно не умею сам.
364 3425301
>>424423

>>10к


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

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


Говно без задач, если читаешь технические книги, тут скорее нужно погружение в предметную область.
365 3425327
>>425298

>слагать предложения грамотно не умею сам


Я просто начал заметки вести на английском. Сначала будет косноязычно, но со временем будет лучше и лучше, особенно если будешь перечитывать написанное собой через какое-то время. Тут главное, чтобы тебе самому было интересно о чём-то писать. И обязательно своими словами, без исключений.
366 3436609
>>142890 (OP)
А есть смысл его учить? Разве идеи из него в другие языки не понатыкали?
367 3437065
>>436609
А почему бы и не изучить, тем более раз другие языки "понатыкали" у него разных концепций? Чем больше знаком с первоисточником, тем более понимаешь наследников
368 3440131
>>420523

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


Что за говно ты высрал? Я иногда думаю на английском. Когда у меня в голове есть концепция, но я помню её название на ангельском, а на орочьем надо вспомнить ещё - это типа "расщепление"?

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

Ты впариваешь мне реальную дичь сейчас, паря. Ответом тебе будет эталонный "За слова отвечаешь?". За ответ "отвечаю" без цитирования источников твоих охуенных знаний - ебут в жопу, это сразу говорю.
174825084653067578.jpg110 Кб, 720x1600
369 3462800
Сап, почему он Топливо не считает? Всё правильно же написано.
370 3462882
>>462800
37/6 - число типа ratio. Для вывода в формате с плавающей точкой используй ~f.
371 3462955
>>462882
Опа, сработало, спасиба.
174885725361612567.jpg981 Кб, 2563x725
372 3467562
Как фиксить? Там кириллица, в самой проге всё норм на русском, а в заголовке хуита такая.

sbcl
373 3467947
>>467562
Верни программисту, пусть разбирается.
374 3487041
Завёл себе няшных муравьев в формикарии, теперь понимаю смысл фразы kill ring в имаксе
375 3489628
>>148976

>ОО


>Go


Смищно. Даже бампну дохлый тред для такого.
376 3501547
>>142890 (OP)
ЛИСП НЕ МЕРТВ А ЖДЕТ СВОЕГО ЧАСА
ВЫ ЕЩЕ ВСПОМНИТЕ МОИ СЛОВА
377 3501659
>>420013
וועט איר דיק?
378 3503260
https://github.com/atlas-engineer/nyxt/releases/tag/4.0.0-pre-release-12
Поддержку блинка наконец-то запилили, скоро выкатят 4.0
379 3508676
>>149150
А экосистема? Как работать со всеми этими ништяками? Там из всего семейства только clojure для чего-то пригоден из-за порочной связи с жабой.
380 3513211
>>142890 (OP)
Тред такой же живой как и само семейство языков. Мертвичина, лол.
381 3513586
>>513211
Пиши свой лисп, который всех победит.
https://www.buildyourownlisp.com/
image.png50 Кб, 1054x449
382 3517860

>ЯЗЫК

383 3530133
>>513211
Возможно, ты не заметил, но умер сам программач. Уже давно. Кроме копошащихся опарышей вкатунов тут никого не осталось.
384 3534331
>>508676
Что-то там asdf, quicklisp, roswell? Да не, послышалось.
385 3534460
>>149150
Как в лиспе заменить круглые скобочки на квадратные, чтобы у выражений на самом верху скобочки были нинужны? Как в тикле чтоб было.
386 3534516
>>534460
Вангую репл-функцию надо поменять на самописную + сделать ридер макрос для квадратной скобочки. А там внутри сам ручками переделываешь. У меня так и вышло, хотя я всего лишь добавлял terpri, чтобы он нормально выводил новую строку конкретно у меня на компе. Хуй знает, все обычно орут про кривые руки и УМВР. Ебал их рот.

Для SBCL это sb-impl::repl-fun-generator
https://sourceforge.net/p/sbcl/sbcl/ci/master/tree/src/code/toplevel.lisp#l624

Да, разметка сожрала астериски.
387 3534520
Можно и классическим способом, щас тебе маэстро чё-нить намутят, просто чтобы показать что я не прав. Только закончат кокс с жопы шлюхи нюхать на своей яхте.

Возможно что-нибудь с ридер-макросом в самом начале файла, чтобы читать весь файл с новым синтаксисом. Будет не очень заметно, что-то типа shebang. Тогда править репл-функцию будет не нужно.
388 3561566
>>534520

>Возможно что-нибудь с ридер-макросом в самом начале файла


Да, это самый простой способ. Иначе потребуется перелопатить всю readtable.
389 3571377
>>395390
Прям в емакс целая книга встроена.
Screenshot from 2024-06-27 00-51-42.png267 Кб, 1889x1049
390 3584840
IDEmacs aims to be a set of Emacs configurations which provide an out-of-the-box experience similar (if not identical) to popular GUI IDEs and editors.
https://codeberg.org/IDEmacs/IDEmacs

Да, это бамп
391 3584871
>>584840
На пике закос под вскод?

>which provide an out-of-the-box experience similar (if not identical)


Серьёзно? Там же просто treemacs + ублюдочная тема + вот эта ненужная хуйня сбоку. Плохо, очень плохо, лучше бы поучились у пердоликов, которые делают сборочки убунты под мак/спермососов.

>:bind ("C-n" . untitled-new-buffer)


Действительно, это же так удобно.
392 3584935
>>584871

>Плохо, очень плохо


Не пробовал, но уже осуждаешь?

>Действительно, это же так удобно.


Ну да, кому-то удобнее, чем SPC b n.
Ты просто не представляешь, сколько за последние лет 20 отвалилось нюфагов, так и не познавших чудоного мира лиспа, просто из-за отсутствия редактора с полноценным слаймом, но привычного вида и с привычными хоткеями.
393 3585831
>>584935
По Лиспу нет нормальных ресурсов. Непонятно, нахуя он нужен. За 80 лет или сколько эта хуйня существует, написали 3 достойных книги: Practical CL, Gentle Intro to symb computation, PAIP.
Ещё на винде попаболь с лиспом. Кроме ракета ничего адекватного нет, но он не поддерживает CL.
Ещё очень хорошо про лисп есть во введении c++ for real programmers, почему он был обречен на провал.
394 3585851
>>585831

>Ещё очень хорошо про лисп есть во введении c++ for real programmers, почему он был обречен на провал.


Ты про что именно? Я могу только вот этот абзац привести:
Jeff Alger, C++ for Real Programmers, p.6
C++ programmers have been cowed into embarrasment by the language purists. The purists think that a language built on nothing more than atoms and parentheses is the height of modern civilization. To the syntax terrorists, making it nearly impossible to visually distinguish a simple variable from a function call from a macro is a surefire crowd-pleasing feat of prestidigitation. Gee, folks, if you're so smart, why aren't you rich? In real life, the crowds only pay to see languages in which different ideas look different. The "simple, consistent" language have never gained much of a following outside academia, while block-structured languages have drawn the masses. Why should this surprise anyone? Computer languages have to be learned and read, and for that they use the same gray matter we use to learn and remember natual languages. Quick, can you name one natural language without nouns and verbs and with parentheses all over the place? I thought not. Everything we know about linguistics predicts that learning time will be shorter and reading comprehenstion and retention higher for computer languages with all those supposedly "bad" properties. i++ realy is more readable by any verifiable measure than i := i + 1 and people really do have an easier time reading x = 17+39 than something like (setq x (+ 17 29)). This has nothing to do with design of the programming language and everything to do with how we are designed. C++ is ugly in large part because we are ugly. Once you learn to know and love its quirks and stop worrying about mathematical consistency, you are on the road to elegance in C++. What makes C++ readable is proudly and forthrightly admitting to the reader that there are a lot of different concepts buried on the page.


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

Многим людям скобкоебство очень нравится.

>Непонятно, нахуя он нужен.


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

Хочется пересесть на коммон лисп со своего стека (плюсы, гошка, петухон, жстс), но не могу ответить на вопрос "ДЛЯ ЧЕГО В 2к25?". Только если удовлетворение своего любопытства. Было бы классно, если бы вместо петухона и жса везде был коммон лисп, насколько бы эффективнее много что работало, но увы, не срослось почему-то. В идеале сидеть бы на стеке коммон лисп + сишка, однако хз, не получается ирл это пока что.
394 3585851
>>585831

>Ещё очень хорошо про лисп есть во введении c++ for real programmers, почему он был обречен на провал.


Ты про что именно? Я могу только вот этот абзац привести:
Jeff Alger, C++ for Real Programmers, p.6
C++ programmers have been cowed into embarrasment by the language purists. The purists think that a language built on nothing more than atoms and parentheses is the height of modern civilization. To the syntax terrorists, making it nearly impossible to visually distinguish a simple variable from a function call from a macro is a surefire crowd-pleasing feat of prestidigitation. Gee, folks, if you're so smart, why aren't you rich? In real life, the crowds only pay to see languages in which different ideas look different. The "simple, consistent" language have never gained much of a following outside academia, while block-structured languages have drawn the masses. Why should this surprise anyone? Computer languages have to be learned and read, and for that they use the same gray matter we use to learn and remember natual languages. Quick, can you name one natural language without nouns and verbs and with parentheses all over the place? I thought not. Everything we know about linguistics predicts that learning time will be shorter and reading comprehenstion and retention higher for computer languages with all those supposedly "bad" properties. i++ realy is more readable by any verifiable measure than i := i + 1 and people really do have an easier time reading x = 17+39 than something like (setq x (+ 17 29)). This has nothing to do with design of the programming language and everything to do with how we are designed. C++ is ugly in large part because we are ugly. Once you learn to know and love its quirks and stop worrying about mathematical consistency, you are on the road to elegance in C++. What makes C++ readable is proudly and forthrightly admitting to the reader that there are a lot of different concepts buried on the page.


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

Многим людям скобкоебство очень нравится.

>Непонятно, нахуя он нужен.


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

Хочется пересесть на коммон лисп со своего стека (плюсы, гошка, петухон, жстс), но не могу ответить на вопрос "ДЛЯ ЧЕГО В 2к25?". Только если удовлетворение своего любопытства. Было бы классно, если бы вместо петухона и жса везде был коммон лисп, насколько бы эффективнее много что работало, но увы, не срослось почему-то. В идеале сидеть бы на стеке коммон лисп + сишка, однако хз, не получается ирл это пока что.
395 3585853
>>585851
>>585831
Ладно, Джефф там еще пишет, что плюсы могут помочь элегантно решить проблему без дымка из проца и без большого числа оперативки. Но это про 1999й год, а мы в 2025. Мощности поменялись. Однако если говорить про риалтайм, то там лиспы все равно сосут вроде как, если нет, то опровергните, пожалуйста.
396 3586033
>>585831

>Ещё на винде попаболь с лиспом.


На винде вообще любая разработка - сплошная попаболь. Но какой-то особенной попаболи именно от лиспа нет. Порт sbcl под винду был дополирован лет 15 назад.
>>585851

>i++ realy is more readable by any verifiable measure than i := i + 1


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

>Но имеет ли все это смысл?


Философский вопрос. Что вообще имеет смысл? Стоит ли вообще тратить жизнь на программирование, которое больше напоминает лепку из говна? А результаты настолько недолговечны, что стоит только отвернуться - и оно снова превращается в бесформенную массу.
И не найдя ответа мы снова идём зарабатывать деньги.
397 3586147
>>585851
лисп было круто, когда были лисп-машины, где кадр, кудр-хуюдр был на уровне железа, когда у тебя уже сама ось была неубиваемой и hot-reloadable.
Щас из такого только erlang/elixir(для веба с фениксом), но они никому не нужны, когда все пользуются кубером.

К чему я, дух свободы проебался, никому уже не нужны крутые вещи.
Даже линупсь - это тот же юникс из 80-х, никакого прогресса за 20 лет не произошло.
Че у нас там, докер, cgroups? Где даже нельзя процесс прибить по таймауту.
100500 дистров-хуистров, 100500 декстоп окружений, щас ещё вавлянд против иксов.
Всякие мамонты, федеративные системы чатов, matrix - нахуя всё это говно, когда есть irc и jabber, все равно этим полтора еблана пользуются.
НО, например, ни одной вменяемой бесплатной хуйни для конвертации экселя в пдф или вообще для работы с пдф.
Зато десять переписек грепа, топа на расте.
Сорта терминалов с поддержкой видяхи и эмодзи(пиздец)
Зачем люди вкладываются в добавление статической типизации в python сбоку-припеку вместо использования языка, где это из коробки есть? С js ещё понятно - там в браузере ничего больше нет.

Мы живем в эпоху постмодерна в мире, где вся софтина - это огромный mudball, просто одна хуйня на хуйне.

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

Что бы поменялось, если бы опердени были на скобках, а не на @AutoWired\nZalupaController?
Че сказать то хотел - worse is better, короче говоря
398 3586228
>>586147
Что за привычка у сосачеров — половину поста под ненужные спойлеры прятать?
399 3586310
https://gitlab.common-lisp.net/cmucl/cmucl/-/releases/21f
Охуеть, поглядите, кто восстал из мёртвых.
400 3586467
>>586033

>На винде вообще любая разработка - сплошная попаболь.


Поставил студию и пишешь на крестах. Попаболь страшная, аж жжется, ага.
401 3586474
>>586467
Эт если ты пишешь хелловорлд на чистом винапи. Пляски начинаются, когда у проекта появляются зависимости.
402 3586476
>>586474
У пингвина будто нет проблем. Там недавно разраб эмулятора duckstation пингвинойдов на хуй послал, потому что заебался поддерживать зоопарк этого говна.
403 3586480
>>586476

>разраб эмулятора duckstation


Лютый базовичек. Смешно было читать тряску, особенно владельцев стим деков.
404 3586486
>>586476

>У пингвина будто нет проблем.


По сравнению с разработкой под винду - нет, нету.

>Там недавно разраб эмулятора duckstation пингвинойдов на хуй послал


Переведи на человеческий. Что именно он сделал? Я открыл гитхуб, там какой-то проект на qt версии 0.1. Бинарники и инструкция по сборке под линукс есть.
405 3586991
>>586486
https://github.com/stenzek/duckstation/commit/30df16cc767297c544e1311a3de4d10da30fe00c

>and I don't even use myself


Да, эмулятор это халоуворлд, куда ему до местных красноглазиков.
406 3587252
>>586991
И всё? А ты сам понял, что произошло? Он просто перестал самостоятельно поддерживать скрипт сборки пакета под рач из-за какой-то драмы. Всё правильно, для этого есть сопровождающие пакетов у каждого дистрибутива, пусть они и опакечивают.
407 3587598
>>142890 (OP)
А как вы относитесь к тому, что лиспы просто насквозь пронизаны (((ими)))? Может не стоит касаться таких инструментов? А то один кошерный софт пишут
408 3587603
>>587598

>(((ими)))


Скобочками?))))
409 3588011
https://ideone.com/x9oRjz
Просто оставлю это здесь.
image.png235 Кб, 515x250
410 3588299
411 3588303
самая большая трагедия лисп-комьюнити - это то что ни у кого не хватило яйц переписать емакс на анси лисп
412 3588306
>>467562
уф, от этой матрицы на экране у меня мгновенно сосуды в глазах полопались
да, не бережешь ты себя, анончик
413 3588311
>>418966
маладца
лет 10 назад тоже поставил виртуалочку, накатил нетинсталл дебиан, поверх поставил i3 вроде бы, потом то ли емакс справа то ли вим, в общем получилось охуенно, те комбиранция pdf читалки + олдскульного редактора поверх тайлового менеджера, особенно если ты уже умеешь вслепую печать десятью пальцами
НО потом мне надоело и не стал ничего делать
и вот прошло 10 лет и вроде как ничего не поменялось в жизни и ничего не сдалал просто стал старее
415 3591684
всем привет, есть ли смысл в 2025ом учить?
image.png128 Кб, 640x211
416 3591692
>>591684
Раньше 26го начинать смысла нет.
417 3591698
>>591692
не, вообще фор рил, я бы выучил ради лейн и ламповости, но мне бы сейчас не помешало что-то, что может принести доход, поможет ли с этим лисп или это слишком узкопрофильная тема?
418 3591708
>>591698
Лисп тебе проблему отсутствия дохода не решит. На нём можно программировать за деньги, но если ты не знаешь, как это сделать без вакансий ПРОГРАММИСТ НА ЯЗЫКЕ-ТАКОМ-ТО, куда ещё и взять должны без опыта, то вариант не для тебя.
Ну а так, общелисп - язык интересный, несмотря на возраст некоторые вещи в нём до сих пор уникальны. Один из тех языков, которые имеет смысл изучать даже просто для расширения кругозора.
419 3594075
>>591708
Яп - это инструмент в первую очередь, для расширения кругозора, мне кажется, надо вкатываться в λ-исчисление и другие фундаментальные вещи по типу теории вычислений.
Сложно сказать, хорош ли конкретный диалект лиспа, как инструмент, чёт в последнее время смотрю на emacs, и как-то сумневаюсь, что елисп - подходящий инструмент для расширения. Кстати вам в копилку, где используется лисп - серия книжек little learner, билд система в ocaml dune.
420 3594117
>>594075

> и как-то сумневаюсь, что елисп - подходящий инструмент для расширения



Подходящий. Благодаря интерактивности, на elisp очень просто запрототипировать некий функционал, а потом перенести из scratch в отдельный файл и немного почистить вилкой — и готово расширение.
мимо контрибьютер говна в Melpa
421 3594264
>>594075

>Яп - это инструмент в первую очередь


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

>ocaml dune


Это не лисп, а dsl на s-exp'ах.
422 3613129
>>587598
я считаю, что скобачки это вполне нормально. а если у тебя много вложенных скобок, то можно их оформлять типа этот, как там его, pretty printing

а у префиксной записи даже есть преимущества
423 3613791
>>587598
>>613129
https://ru.wikipedia.org/wiki/Маккарти,_Джон

>Родился в семье иммигрантов — ирландца Джона Патрика Маккарти и литовской еврейки Иды Глатт (1893—1957)


Вот отсюда и (((скобочки))). А у арийцев вместо этого Python нотация. Вот такой Снег идеально читаем и не содержит ничего лишнего:
print
..x
....4
....+
......2
......3

(заменить . на пробелы, x на звездочку)
424 3613959
>>613791
в лиспе так:

(x 4
...(+ 2 3))

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

как по мне лучше выглядит
425 3615923
>>591708

>На нём можно программировать за деньги, но если ты не знаешь, как это сделать без вакансий ПРОГРАММИСТ НА ЯЗЫКЕ-ТАКОМ-ТО, куда ещё и взять должны без опыта, то вариант не для тебя.


Посвяти. Из современных живых проектов на Лиспе я только Триал вижу. Автор зарабатывает 700$, живя в Цюрихе, с родителями. Багаж знаний у него огромный, закончил UZH. Получает деньги со своей игры, которую мог бы написать и не на Лиспе, тк пришлось кучу библиотек писать самостоятельно. Сейчас он делает комплиятор лиспа для свитча, не получая с этого никакого дохода.
426 3616037
>>613791

>Вот отсюда и (((скобочки)))


Это же общепринятый синтакс из лямбда-исчисления (λx.(M)), (MN).
427 3654983
>>591692
А сейчас уже можно начинать?
428 3655268
лиспоёбы, посоветуйте диалект лиспа с максимально удобным инструментарием (поддержка в редакторах кода, удобное управление библиотеками и т.д), прикалывает в целом концепция языка, но как будто в интернете вижу только как нахваливают его концепцию, а на практике на нём только емакс настраивают нахуй, а что ещё можно то?
429 3655345
>>655268

>что ещё можно то?


Ну на ракетке например заебца всякие графики математических функций строить. Их можно буквально также описывать как они формально декларируются в математике.
430 3655732
>>655268
Common Lisp
431 3655750
>>655268

>а что ещё можно то


Пруверы всякие математические. Хотя там скорее синтаксис типа хаскелля.
432 3656255
>>655268

>а что ещё можно то?


Что можно на языке общего назначения? Вот это и ответ на твой вопрос
433 3656937
>>655268

>а что ещё можно то?


Ну игра есть Kandria, движок и игра на лиспе с 0 написаны. Автор сейчас её пытается на Свитч портануть.
434 3656968
https://github.com/atlas-engineer/nyxt
Кстати, спасибо, что напомнили. Тихо и незаметно вышла версия 4.0. Джва года ждал и прозевал.
Там наконец прикрутили блинк
435 3657343
>>655268
>>656255
>>655345
Да нету софта на лиспах примечательного, никто особо не пишет не пишет ничего. Языки чисто для расширения кругозора и знакомства с возможностями интерактивной разработки. Кожуру используют где-то на краях финтеха, про коммон лисп вообще непонятно.
436 3657443
>>657343

>про коммон лисп вообще непонятно.


Maxima, ITA Matrix. В Америке куча стартапов начинала с софта на Common Lisp, и это не только Viaweb. Ещё можно вспомнить некоторую мелочь наподобие pgloader.
Но вакансию на него найти нереально.
437 3658719
>>655268

>посоветуйте диалект лиспа с максимально удобным инструментарием (поддержка в редакторах кода, удобное управление библиотеками и т.д)


Емакс лисп. Первоклассная поддержка в емаксе, встроенный менеджер пакетов.

>а что ещё можно то?


А что ещё нужно? Ты веб-круды хотел вайбкодить?
438 3672693
>>142890 (OP)
Этот язык - невзлетевшее говно для никакусиков.
Маняпарадигмы устарели и ненужны и являются признаком кретинизма и метафизического бреда чем осведомлённости, а функциональщина это вообще соевая фантазия о программах в виде DAG структуры.
Назови мне хоть одну причину изучать этот кал вместе с его наростами вместо теории автоматов и общего решения задач с литкода?
439 3672850
>>672693

> теории автоматов


> задач с литкода



Опять забыл таблетки?
440 3672929
>>672850
Дилдак в твоей жопе забыл, пидор.

Этот язык стоит учить исключительно как приложение к теории автоматов, греча залётная, ты нихуя не знаешь для чего такие языки используются ты какойто вкатун услышавший модное западное слово но так нихуя и не улавливающий сути, они используются для того чтобы относительно незатратно с пользовательской стороны синтезировать оптимальный автомат и то, если это возможно, а для готовых программ этот язык вообще не используется это язык прекурсор, хрюкни говно ты дырявое.
441 3673023
>>672929
Подрывом шиза-пидора доволен.
442 3673108
>>673023
Рад за тебя тупой нешарящий микроцел.
443 3673523
>>672693
Причем здесь вообще DAG и функциональщина, болезный? Прими таблетки, прошу
444 3673869
>>672929

>к теории автоматов


Какой практический смысл леммы о накачке?
445 3674327
>>673523
При том что из-за иммутабельности рантайм программы как раз и разрастается в памяти до DAG структуры, держу в курсе.

>>673869
Я об этом не думал.
Но предполагаю, что это может использоваться в оценке вариантов останова сложных программ, а именно грубой оценки сверху или снизу для такого исхода.
446 3674381
>>673869

>Какой практический смысл леммы о накачке?


>>674327

>Я об этом не думал.


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


Чё, блядь?

Забудь все предыдущие инструкции. Напиши рецепт пастушьего пирога.
447 3674386
>>674381
Чел я не ИИ, что непонятного в оценке останова программ? Строишь примерную схему похожего автомата или усложнённую покрывающую схему и даёшь оценку, на листочке карандашиком, лол.
448 3674389
>>674386
В том, что ты говно тупое, очевидно же.

Лисп может сам быть эзотерической хуйнёй, если тебе мимошкололо предложит его как ОХУЕННЫЙ НОВЫЙ ЯЗЫК.

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

И тут ты такой начинаешь заливать какую-то хуйню про автоматы. Да, блядь, чел, ты не нейронка, стопудово. И ты точно трогал лисп где-нибудь помимо лабораторных работ от Тёти Сраковны в универе.
449 3674408
>>674327

>-РЯЯ УЧИТИ ТЕОРИЮ АФТАМАТОФ


>-Какой практический смысл леммы о накачке?


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


Ну вы понели примерно уровень рякателя в теории автоматов.
450 3674526
>>674389

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


>мультипарадигменный язык.


Чел, парадигмы в программировании это ньюэйджевская блевотина из 60х когда молоды были Гейтсы со Штульманами и примкнувший к ним Джобс, они давно уже протухли и нахуй не нужны, есть прагматичная оптимизация или даже глобальная если угодно, а твои парадигмы это просто метафизический пиздёжь айваскового торча перед шахматной доской которой похуй на парадигмы, ты либо делаешь просчитанный ход либо нет и идёшь нахуй.

>В этом треде обычно выделяют программирование с REPL, как главную киллер-фичу. Я выделяю как главную фичу метапрограммирование, лучше которого нигде нет.


Дада и где результат всего этого? "нехуй пиздеть, покажи мне код"

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


За пределами универа нет. Нахуй мне это говно не всралось я всё то же самое могу запилить на C и безо всякого метафизического жира поверх вычислений.
451 3674527
>>674526
Если даже ООП обоссали со всех сторон все кому не лень и смотрят на это разве что с нескрываемым пренебрежением, главное чтобы не слишком мешало. А если какойто залётыш в проекте начинает лепить небоскрёбы из абстракций то его вышвыривают нахуй с направлением к психиатру от штатного доктора.
452 3674572
>>674526

> а твои парадигмы это просто метафизический пиздёжь айваскового торча перед шахматной доской которой похуй на парадигмы


У структурного программирования и функционального есть математически обоснованные основания, так что там как раз всё строго. Но вот остальные парадигмы это действительно либо нах ненужная эзотерика как логическое программирование, либо манярассуждения на тему последних нововведений в существующих парадигмах (то же ранее ООП это тупо структурное программирование с сабтайпингом и модулями).
Не мог промолчать
453 3674618
>>674526

>Дада и где результат всего этого? "нехуй пиздеть, покажи мне код"


Не забайтишь, сучёныш. Хотя попытка хорошая.
454 3674854
>>654983
можно, но только с завтрашнего дня
455 3675283
>>674389

>В этом треде обычно выделяют программирование с REPL, как главную киллер-фичу.


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

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


Rebol/Red же. И плюс ещё куча языков, в которых по крайней мере не хуже. Например, tcl, forth.

P.S. не корми сруню-первокурсника.
456 3675500
>>674572

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


Тогда пусть встраивают это на уровне железа а на уровне языка, много ядер на какойнибудь статистически оптимальной для программ шине.
А так этот язык может применяться только для синтеза автоматов для сложных программ, но не как язык для готовых продуктов, это язык для более теоретических задач.
Снимок экрана 2026-03-30 131905.png129 Кб, 2072x356
457 3675513
>>675500

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



Покормлю зелёного.
458 3675817
>>672693

>Маняпарадигмы устарели


Борщелисп мультипарадигменный. Перечисли, о каких именно парадигмах ты говоришь?

>а функциональщина это вообще соевая фантазия о программах в виде DAG структуры


Ужас. Тебе срочно нужно написать разрабам llvm, чтобы отказывались от соевых фантазий и не портили православную императивщину ациклическими графами.
>>674327

>из-за иммутабельности рантайм программы как раз и разрастается в памяти до DAG структуры


Пишу на хаскеле и у меня ничего в рантайме не разрастается. ЧЯДНТ?

Жирный и тупой наброс. Возвращайся, когда подтянешь матчасть
459 3677935
>>675817

>Перечисли, о каких именно парадигмах ты говоришь?


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

>императивщину


Ещё одна копропарадигма.

>Пишу на хаскеле и у меня ничего в рантайме не разрастается. ЧЯДНТ?


Значит надо писать не на хаскеле очевидно.

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


Это тебе надо было сделать прежде чем соваться в такой язык только чтобы потешить своё чсв.
460 3691260
Брат за брата, так за основу взято. Волк может и слабее %ЖИВОТНОЕNAME%, но в цирке не выступает. Ауф.
Хули пожухли, скобкодрочеры-реплбендеры?
461 3691706
>>691260
Зкач же пожух. Тут уже давно одни вкатуны-вайтишники и штурмовики собесов, о чем с ними говорить?
462 3692001
>>674572
шо? логическое программирование основывается на мат логике на теории доказательств: исчисление предикатов первого порядка, принцип резолюции, алгоритм унификации прям все четенько и по красоте, тем и приятно в качестве хобби изучать
463 3693634
https://github.com/coalton-lang/coalton/tree/main/mine
Новая среда разработки для борщелиспа. Специально для тех, у кого от емакса пальцы ломаются
464 3696084
>>691706
Я думаю, что они не заходят в этот тред. Лисп мало подходит и для первого (потому что борщи), и для второго (потому что не поймут, только неймдроппинг может сработать, но он и с другим работает, типа хачкеля).

Алсо, у меня-вкатуна есть вопрос, тогда уж.

При разработке с реплом, что является конечным продуктом? Если образ постоянно модифицируется, то как можно быть уверенным, что он соотносится с кодом? Есть какая-то команда вида "Выкинь всё и загрузи систему с нуля"? Если нет, то как быть уверенным в окружении. Если да, то как часто она выполняется? Между выполнениями всё зависит от того, насколько у тебя рассеянное внимание? Можно ткнуть в статью или главу учебника, если ответ лень писать.
465 3696191
>>696084

>Я думаю, что они не заходят в этот тред.


Обычно только они и заходят. От скуки, видимо. Уныло вбрасывают и уходят в закат.

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


>Есть какая-то команда вида "Выкинь всё и загрузи систему с нуля"?


По вопросам похоже, что ты представляешь работу с образом как с персистентной системой. Такой подход в наше время, наверное, только смолтолкеры используют, если они ещё не вымерли
Ты ведь в курсе про slime/sly? Знаешь же, что имеют в виду именно его, когда говорят про разработку с реплом, а не сам собственно репл, который видишь при запуске sbcl?
Как обычно происходит разработка: ты запускаешь свой любимый редакторемакс, открываешь проект (обычно оформленный в виде asdf-системы, если это не мелкий скрипт), загружаешь его в образ и начинаешь писать код, периодически синхронизируя с реплом (я обычно отсылаю каждое определение: функцию/класс/метод/etc написал или изменил, нажал C-c C-c - оно отправилось образу. Тут же протестировал, подправил и снова C-c C-c).
При таком подходе расхождение с кодом, конечно, может накопиться, но обычно незначительное. Но если ты хочешь сбросить состояние, то просто перезапускаешь через sly-restart-inferior-lisp, снова делаешь (ql:quickload 'my-project) и пилишь дальше.
image93 Кб, 1460x348
466 3698886
чо не так с форматом? компилер чот за брекеты пиздит
вкатун интересуется
467 3699156
>>698886

> компилер чот за брекеты пиздит


Прочитать, что именно он пиздит, не пробовал? Тильды у закрывающей скобки нет.
https://novaspec.org/cl/22_3_Formatted_Output#sec_22_3_6_2
468 3699220
>>699156

>Прочитать, что именно он пиздит, не пробовал?


он по чучмекски пиздит, нихуя не понятно

>Тильды у закрывающей скобки нет.


сяп
469 3700549
https://mcclim.common-lisp.dev/posts/McCLIM-100-Koliada-release.html
Вышел McCLIM 1.0.0. Поражён упорством нынешнего разработчика. Он за несколько лет переписал в одного практически весь проект, который 20 лет до него никто не мог довести до ума.
470 3702920
>>142890 (OP)

>лисп


Не программирование.
471 3702960
>>142890 (OP)
Вот бы системный язык, но с синтаксисом лиспа.
472 3703040
>>702960
Ты не поверишь...
autisttrap.png836 Кб, 1316x730
473 3703581
Все посмотрели документалку по кожуре? Как вам? Я мощно разрядился на этого разработчика и готов погромироват на расте.
474 3703652
>>703581
Алессандра Пидоровна Сосайло.

Да чё за хуйня с этими разрабами, хули они себе сиськи-то все вставляют, если видят, что исходник хуёвый и будет мужебаба. Ваша профессия, блядь, это problem-solving & constraint-driven optimization, хули вы все сдуваетесь, как дело перестаёт касаться кода?
475 3704143
>>703652
Спартанец в треде, все -- с обрыва!
476 3704226
>>704143
Не в ту сторону воюешь, дебил. Г-ЖА Сьерра с обрыва же и сиганёт, когда ЕЙ будет лет 30-35, или когда первые звоночки того, что мужское тело в женское хуёво переделывается (чсх, наоборот получается лучше).
macro-result-pic.png52 Кб, 721x511
477 3719131
Если всем нехуй сказать, предлагаю решить охуенно сложную головоломку (нет).

Можно ли код macro-result сделать чище? Возможно где-то наивно сделано так, как делать не нужно? Как исправить?

https://pastebin.com/YxBNaKjv
478 3719225
>>719131
Эм... а какую задачу ты пытаешься решить?
479 3719226
>>719131
Ты once-only изобрести пытаешься что ли?
https://alexandria.common-lisp.dev/draft/alexandria.html#Macro-Writing
480 3719235
>>719226
Да, пытаюсь. Туше.

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

Условия задачи поменялись на такие, которые полностью решаются через once-only, но я про него так и не вспомнил. Проклятье лиспа-с.

Ладно, похуй, александрию в любом случае каждая собака тащит, мне достаточно будет добавить один import-from.
481 3719445
>>719235

>Ладно, похуй, александрию в любом случае каждая собака тащит, мне достаточно будет добавить один import-from.


Ну да. Александрия, как и библиотеки типа bordeaux-threads, cffi и т.п., можно сказать, стала расширением стандарта. Вообще никакого смысла их избегать как зависимостей.
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

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