Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 368 49 137
Лиспотред №15 /lisp/ Аноним 03/05/24 Птн 01:12:22 3142890 1
171468779442526[...].jpg 324Кб, 1400x1050
1400x1050
171468789718920[...].png 67Кб, 1200x1200
1200x1200
Лиспы - семейство языков программирования. Характерные особенности лиспов: динамичность, гомоиконность (код как данные), программируемость.

{Основные диалекты}
:: 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
Аноним 03/05/24 Птн 03:09:28 3142895 2
)))
Аноним 03/05/24 Птн 18:38:17 3143679 3
Близок ли идеологически язык Forth и его потомки к лиспам?
Аноним 03/05/24 Птн 21:33:07 3143889 4
>>3143679
Скорее нет, чем да.

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

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

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

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

Вот в Erlang нет переменных, только аргументы функций и локальные константы. Соответственно x:=x+1 или x @ 1 + x ! не напишешь, а для изменяемого состояния нужно использовать рекурсию.
Аноним 04/05/24 Суб 21:35:44 3145073 9
>>3145069
> И в чем здесь отличие Форта от Паскаля или Си, кроме синтаксиса?
Насчёт Форта не знаю, но в других конкатенативных языках, типа Joy у языка действительно другие семантические свойства.
Аноним 04/05/24 Суб 21:43:13 3145074 10
>>3145069
> Вот в Erlang нет переменных, только аргументы функций и локальные константы.
Под переменными я имел в виду именно аргументы и константы.

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

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

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

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

Нет стека переменных, нет стека вызова функций. Есть только датафлоу. Это всё очень облегчает реализацию языка, даже не не уровне простого синтаксиса, а простого способа вычислять. Даже GC не нужен.
Аноним 05/05/24 Вск 14:57:28 3145493 11
>>3145064
(1 2 3 4) => (1 . (2 . (3 . (4 . nil))))
(1 2) => (1 . (2 . nil))
(1 . 2) => (1 . 2)
Аноним 08/05/24 Срд 20:46:51 3148964 12
>>3145074
> Нет стека переменных, нет стека вызова функций. Есть только датафлоу. Это всё очень облегчает реализацию языка,
Брейнфак еще проще в релизации!!!
Аноним 08/05/24 Срд 20:57:28 3148976 13
>>3142890 (OP)
Щас бы учить юзлесс язык, идеи которого уже внедрены давным давно во все популярные ОО-языки: php ruby python java c# c++ Go Dart.
Аноним # OP 09/05/24 Чтв 00:57:44 3149150 14
>>3148976
> идеи которого
Идеи лиспа: гомоиконность и мощнейшые макросы (которая к примеру позволяет добавить завтипы и линейные типы в язык).
Он может иметь любой синтаксис и любую семантику.

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

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

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

А в лишпе это просто делается макросами:
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 не даст.
Аноним 08/07/24 Пнд 08:14:11 3214840 15
Стоит ли покупать книгу ansi common lisp за тысчу?
Аноним 15/07/24 Пнд 00:36:31 3221445 16
>>3148976
Шо, в какой-то из перечисленных уже завезли полноценную поддержку горячей замены кода?
Аноним 15/07/24 Пнд 00:55:29 3221446 17
>>3149150
>встроить зависимые типы и вывод типов по Хиндли-Милнеру.
>А в лишпе это просто делается макросами
Ну, не прям уж ПРОСТО, но по крайней мере это возможно сделать.
https://github.com/coalton-lang/coalton вот как раз такой проект для любителей ХМ, монадок и борщелиспа
Аноним 15/07/24 Пнд 04:16:11 3221483 18
Аноним 15/07/24 Пнд 08:03:27 3221512 19
Аноним 15/07/24 Пнд 11:35:40 3221674 20
>>3214840
Не стоит даже качать бесплатно.
Аноним 16/07/24 Втр 12:56:16 3222480 21
image 17Кб, 512x420
512x420
Нравится Clojure, но не нравится, что вместо документации на оф.сайте какой-то набор блогпостов, разрозненные статьи в разных местах. И ещё что это нормально - собирать стек с нуля, буквально на каждый чих искать какую-то отдельную микрозалупу. Ну это касается веба и новичков, типа меня, потому что я вообще не шарю, а тут каждую хуйню надо подбирать, о которой я вообще не слышал даже никогда и не знал, что они существуют.
Видел на эту тему пост на реддите, 6 летней давности, там чел тоже сокрушался. Видимо за 6 лет нихуя не поменялось. А жаль, прошёл несколько туториалов(встроенный в calva, несколько бесплатных книжек по основам), мне понравилось. Но нужно иметь бэкграунд предметной области, при чём не самый базовый, с кондачка не вкатиться. Может в других лиспах другая картинка, но сомневаюсь.
Аноним 16/07/24 Втр 14:37:02 3222618 22
>>3148976
Но эти фишки вставлены через жопу в уже переполненный и уберусложнённый синтакс, которому лишь бы поддерживать ОО. В лиспе ты просто напишешь код, а с другими языками и их заморочками будешь бороться. Даже с питоном.
Аноним 17/07/24 Срд 15:48:28 3223498 23
аниме.webm 18036Кб, 640x360, 00:11:51
640x360
Аноним 21/07/24 Вск 17:43:44 3226939 24
А правду говорят, что лисперы - ебанутые на всю голову?
Аноним 23/07/24 Втр 08:33:53 3228397 25
image.png 121Кб, 700x800
700x800
>>3149150
Нету у этом вашем (((ЛИШПЕ))) никакой гомоиконности. Вместо имени функции использовать лямбду нельзя.
Аноним 23/07/24 Втр 08:51:54 3228405 26
image.png 116Кб, 710x800
710x800
image.png 137Кб, 710x885
710x885
image.png 10Кб, 594x170
594x170
>>3222618
Угу, "просто пишешь", а потом материшься, потому что непонятно, какого хуя оно не работает, хотя должно. Как в каком-нибудь C++, где надо знать костыли всех стандартов. Какое же говно этот лисп.

Вот на JavaScript лямбды какие надо (если бы не было шизоидных преобразований типов, был бы идеальный язык).
Аноним 23/07/24 Втр 09:22:02 3228414 27
>>3228397
Все есть, в полноценном виде, не как у эрланга/пролога.
>>3228405
Это разные пространства имен для символов, в зависимости от контекста будет взято значение из таблиц переменных или функций.
Согласен, решение хуйня, потому что кроме возможности назвать переменную list и т.п. ничего не дает, но на самом деле писать funcall/function надо довольно редко даже в весьма функциональном коде. если это так важно, то пробуй схему.
https://stackoverflow.com/questions/1020968/separate-namespaces-for-functions-and-variables-in-common-lisp-versus-scheme
>>3228405
>Вот на JavaScript лямбды
Нет, алсо, после "жс" дальше можно не читать.
>если бы не было шизоидных преобразований типов
Если ты пишешь в 2024 на жс вместо тс на своем макакофронте, то ты долбаеб со скилбокса видимо.
Аноним 23/07/24 Втр 10:23:31 3228464 28
>>3228414
> про лисп написали плохо! напишу плохо про жс в ответ
Аноним 23/07/24 Втр 10:36:16 3228471 29
>>3228464
Я понимаю, если бы ты в пример привел Хаскель и Окамл, там действительно сделано как надо, но ты какую то хуйню из 90ых притащил и еще на типы пожаловался, хотя эту проблему в жс давно решили, но ты, в силу своей отсталости, даже про это похоже не в курсе.
Аноним 23/07/24 Втр 16:54:56 3228900 30
>>3228397
>гомоиконности
Значение знаешь?
>>3228414
> потому что кроме возможности назвать переменную list и т.п. ничего не дает
https://docs.racket-lang.org/gui/button_.html
Даёт возможность не изобретать на каждый род сущностей по конвенции именования, чтобы не отстреливать себе ноги, случайно перекрыв локальной переменной пакет, класс, функцию, макрос, перезапуск и т.д
Аноним 25/07/24 Чтв 12:27:41 3230587 31
Шапка устарела
Аноним 25/07/24 Чтв 15:25:27 3230823 32
Аноним 26/07/24 Птн 14:40:47 3231649 33
Аноним 27/07/24 Суб 13:56:55 3232657 34
Аноним 27/07/24 Суб 23:59:24 3233283 35
Аноним 28/07/24 Вск 09:18:29 3233413 36
Что можно написать на лишпе? У Зибеля только какие-то задачки на построение БД, но я что, зря учил Первый язык, жемчужину колдовства?
Аноним 28/07/24 Вск 10:36:34 3233454 37
>>3233413
Что угодно. Но что бы ты не писал, получается емакс.
Аноним 28/07/24 Вск 11:16:12 3233480 38
Аноним 29/07/24 Пнд 23:19:33 3235066 39
>>3149150
при этом применение макросов ломает гомоиконичность, кхе кхе
Аноним 30/07/24 Втр 00:58:18 3235164 40
Аноним 31/07/24 Срд 20:03:05 3236859 41
>>3149150
>можносделать

Прошло миллион лет, а лисподебилы так и повторяют свою хуйню, как будто это 2011 и в /це нульчика
Аноним 01/08/24 Чтв 03:48:50 3237088 42
Как лисп обходится без статической типизации?
01/08/24 Чтв 15:36:55 3237473 43
Аноним 01/08/24 Чтв 15:52:23 3237481 44
>>3236859
>можносделать
Причина подрыва? Да, можно. И уже сделали.
Аноним 07/08/24 Срд 15:46:34 3243233 45
Писали ли вы свои лиспы? Это трудно?
Аноним 07/08/24 Срд 17:58:00 3243341 46
08/08/24 Чтв 20:36:54 3244166 47
>>3237481
перечень людей, кто хочет вместо полноценного языка со всем из коробки на уровне примитивов юзать прикрученную сбоку на макросах дрисню:
конец списка
Аноним 09/08/24 Птн 10:52:41 3244470 48
Как называется интерфейс в стиле волков коммандер?
Аноним 09/08/24 Птн 13:46:35 3244603 49
>>3244470
Двухпанельный? TUI? Причем тут лисп?
Аноним 09/08/24 Птн 14:41:14 3244632 50
>>3244603
Да, его же легче к программе привязать чем к графическим гуям?
Аноним 09/08/24 Птн 23:47:05 3245157 51
>>3142890 (OP)
>гомоиконность
А как вы теперь свои гомоиконы пердолите когда в силе запрет пропаганды ЛГБТ?
Аноним 09/08/24 Птн 23:49:37 3245159 52
А как лисперы зарабатывают на гречу? Вакансий видно только изредка и то только по Clozure. В остальное время приходится уходить в спячку?
Аноним 10/08/24 Суб 16:08:09 3245657 53
>>3245159
Скажу тебе по секрету, далеко не всем заказчикам есть дело до используемых технологий. Можешь хоть на бреинфаке с апл писать, лишь бы поставленная задача была решена.
Аноним 10/08/24 Суб 16:15:10 3245676 54
>>3244166
Ну и чем тот же коалтон отличается от "полноценного языка"?
Аноним 10/08/24 Суб 17:32:56 3245795 55
>>3245657
Но это только если техдир не узнает? Они обычно всякой экзотики как огня боятся.
На фрилансе т.е.?
Аноним 11/08/24 Вск 00:13:50 3246099 56
>>3245795
где угодно
договаривайся с тимой
все равно если на выходе тупо докер контейнер то все равно на чем писать
у меня в конторе так на эрланге пишут, такая же нишевая хреь как лисп
Аноним 11/08/24 Вск 01:27:49 3246126 57
Я правильно понимаю, что в cl в вебе у вас всё делается дедовскими способами, просто есть веб сервер и всё, остальное надо писать самому? И ни о каком интерактивном вебе искаропки не идёт речи(максимум вебсокеты)?
Аноним 11/08/24 Вск 01:42:14 3246129 58
Аноним 11/08/24 Вск 13:02:32 3246279 59
>>3246099
Ну.. на эрланге проще, даже пачка вакансий щас висит. Сам на эликсире пишу.
Аноним 11/08/24 Вск 13:42:31 3246301 60
>>3246279
Пачка это 3 штуки на всю Россию? Ну да, чуть побольше чем у лиспа, но программистов у него примерно столько же, лисп хотя бы в парочке вузов встречается.
Аноним 11/08/24 Вск 19:10:17 3246559 61
Аноним 11/08/24 Вск 19:29:24 3246585 62
У эликсира хотя бы человеческая(одна из лучших) документация, есть отличная поддержка разных редакторов, менеджер проектов mix и т.д.
А скобочники за 146 лет существования лиспа так нихуя нормально и не сделали. Единственный полноценный редактор у них это емакс(пиздец), типа очень быстро в нём работать. Сука ты на нём пишешь не отрываясь по несколько часов что ли? Нет, ты точно также сидишь, думаешь, что-то пробуешь, потом эвалишь и так по кругу, где бля скорость нахуй. В одной операции, которая нужна примерно никогда? Хуита короче. Просто не экосистема, а какой-то балаган.
Аноним 11/08/24 Вск 23:49:59 3246808 63
>>3246559
Да, только голый ханчентут и статика. Статья именно об этом.
Аноним 11/08/24 Вск 23:53:55 3246812 64
15941212862910.png 194Кб, 400x400
400x400
>>3246585
Ты clhs/clus не нашел и плагин для своего вскода или что?
Аноним 12/08/24 Пнд 11:25:25 3246998 65
>>3246812
>clhs/clus
нечитаемая хуета
если ты считаешь это нормальным, то ты походу из сторожки своей не выходил лет 40
>плагин для своего вскода
плагины есть, и вроде даже не один, но не сравнится с функционалом той же кложуры, максимально примитивная хуета, что есть, что нет
да и в целом почему в cl не запилили за столько лет нормальной инфраструктуры, тот же квиклисп как я понял по сути каждый раз загружается в репл при инициализации новой сессии, т.е. ебать костыль
Аноним 12/08/24 Пнд 11:26:27 3247000 66
>>3246998
>той же кложуры
плагина, офк(calva)
Аноним 12/08/24 Пнд 17:16:26 3247394 67
>>3246998
>нечитаемая хуета
Да я уже понял, что с чтением у тебя сложности, даже шапку никак осилить не можешь.
Там есть ссылка на документацию в современной верстке, а там, в свою очередь, ссылка на ещё одну - пользуйся. Ну или не пользуйся.
>плагины есть, и вроде даже не один
>но не сравнится с функционалом той же кложуры
Какой ты пробовал и чем не сравнится?
>тот же квиклисп как я понял по сути каждый раз загружается в репл при инициализации новой сессии, т.е. ебать костыль
Вот это да! Ух, а какие непотребства динамический компоновщик выделывает - тебе лучше вообще не знать
Аноним 12/08/24 Пнд 18:00:40 3247418 68
>>3247394
ну я так и думал, что ты охранитель, вот поэтому лисп и находится на уровне засохшего кала, потому что нет человеческих условий даже просто начать что-то делать
Аноним 14/08/24 Срд 16:22:18 3249132 69
Во многих проектах видел упоминание ocicl и clpm в качестве альтернативы quicklisp'у. Что за покемоны и кто из них теперь главный? Квиклисп уже можно закапывать? Помогите разобраться
Аноним 15/08/24 Чтв 19:20:59 3250280 70
image 172Кб, 1644x394
1644x394
image 125Кб, 766x300
766x300
image 39Кб, 666x158
666x158
image 124Кб, 612x522
612x522
>>3246585
никогда не понимал подобные визги
какой тулчейн тебе нужен? сырцы это просто текст, лисп машина это просто лиспмашина
хуй знает что тебе нужно чтобы писать тексты и пихать их в лиспмашину
ну вот что? смузи?

алсо по сабжу треда
вы ваще компилите свои коекаки в бинари? или в объектники? или похуй?
Аноним 15/08/24 Чтв 21:38:11 3250367 71
Аноним 15/08/24 Чтв 21:47:22 3250383 72
>>3250280
>хуй знает что тебе нужно чтобы писать тексты и пихать их в лиспмашину
>ну вот что? смузи?
С Л А Й М
Л
А
Й
М
Аноним 15/08/24 Чтв 22:01:31 3250388 73
>>3250383
ну и поставь себе слайм, или еще какой плагин хуягин их сейчас силлиарды
вот блять ноют ебаные нытики аррря как писать букафки я нимагу печатать у миня адин палиц а не восимь рук пук хрюк аря
хартьфу блять
Аноним 16/08/24 Птн 09:59:40 3250602 74
>>3250367
почитал сей материал, благодарочка
лень искать в кукбуке поэтому спрошу: можно ли скрестить объектник лиспа с объектниками например сишки и зашить в бинарь? вроде бы есть трансляторы лисп ту си, но этот путь мне не очень нравится

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

такой вот простецкий пример чтобы вычислить фибку до миллионного числа допустим, но на традиционных декларативно императивных языках, чтобы не сильно бошку ломать об лисп
Аноним 16/08/24 Птн 13:52:17 3250758 75
Аноним 16/08/24 Птн 14:07:18 3250768 76
>>3250758
я же не про либы спрашивал, а про объектник
с фаслом чо можно наколдовать? есть в нем таблица символов?
Аноним 16/08/24 Птн 14:18:53 3250773 77
>>3250768
>с фаслом чо можно наколдовать?
Ничего. Только загрузить в образ. К тому же, формат фаслов не документирован и может меняться от версии к версии.
Аноним 17/08/24 Суб 15:52:26 3251341 78
>>3246301
Прямо сейчас, только на хехе: по эрлангу от 7 компаний, по эликсиру от 10. А по лиспу сейчас их сколько, господин обосрамс?
Аноним 17/08/24 Суб 15:53:55 3251342 79
Общелисп с батарейками: 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.
Аноним 18/08/24 Вск 05:29:32 3251599 80
>>3142890 (OP)
> гомоиконность
Ха-ха, гомики вы все!
Аноним 18/08/24 Вск 23:12:58 3252140 81
image 855Кб, 2516x1190
2516x1190
итак
встала хуем задача написать очередную тулзу под лисп
а в частности лиспкомпилер
да да я вкурсе что 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 скриптом для этой хуйни? я только начал изучать лисп (да и в баше не шарю), но тулзу для удобства пользования очинь хочица
Аноним 18/08/24 Вск 23:53:51 3252166 82
>>3252140
Ты roswell переизобретаешь что ли?
Аноним 19/08/24 Пнд 00:55:42 3252178 83
image 5Кб, 228x250
228x250
>>3252166
>roswell
неа, не похоже, это какой то пакетник, а я переизобретаю хук
может на днях сам осилю, сейчас не особо есть время ковыряться
Аноним 19/08/24 Пнд 02:03:37 3252197 84
>>3252178
Не только, это ещё и альтернатива почившему cl-launch -- пускалки скриптов. Твой пример как раз оттуда.
Показываю, как пользоваться:
1. ros init yopta # генерируешь скелет скрипта
Successfully generated: yopta.ros
2. Открываешь своим любимым редакторомемаксом и пишешь свой скрипт. Вот тебе пример с зависимостями: https://dpaste.org/bNDSv
3. Запускаешь ./yopta.ros
Первый запуск потребует какое-то время на компиляцию всех зависимостей
4. При необходимости создаешь бинарник: ros build ./yopta.ros
Аноним 19/08/24 Пнд 02:15:05 3252198 85
Аноним 19/08/24 Пнд 07:51:45 3252240 86
>>3252197
так мне не нужен генератор скрипта
мне нужен скрипт
так что снова нет, я не переизобретаю розвел, я переизобретаю хук
Аноним 19/08/24 Пнд 10:36:43 3252307 87
>>3251341
Только тебя на эти 7 ваканский один хуй не возьмут потому что ты кроме смузиегвого джаваскриптопитона с 10000 ваканский ничего не осилил, ну и нахуй ты тут перед нами выебываешься?
Аноним 19/08/24 Пнд 14:19:53 3252411 88
>>3252240
Ты какую проблему пытаешься решить? Из твоей шизофазии сложно что-то понять, можно только догадываться. Ясно только одно: ты явно делаешь что-то не так.
Тебе нужен инструмент для превращения скриптов в исполняемые бинарники или что?
Аноним 19/08/24 Пнд 21:26:27 3252603 89
>>3252411
консоль первый раз увидел?
Аноним 19/08/24 Пнд 22:13:11 3252639 90
>>3252603
Понятно. Ладно, набивай свои шишки сам.
Аноним 20/08/24 Втр 17:21:10 3253119 91
>>3252307
Опять обосрался... Прямо таки обосрамс-комбо. Ну соберись, что же ты...
Я последние 4 года только и работаю эликсир/эрланг разработчиком.
Аноним 22/08/24 Чтв 01:06:04 3253847 92
>>3253119
Что разрабатываете, сколько плотют?
Аноним 22/08/24 Чтв 02:31:59 3253859 93
>>3253847
Система мониторинга и управления, SCADA выходит.
Что-то я не вижу 2х зарплат как ОП пишет. Может немножко выше среднего, но гораздо больше вкусных вакансий по Python/Go/Rust. Наверно надо ждать западный хаир, там будет вкуснее надеюсь. Щас 250к, 13 лет.
Аноним 22/08/24 Чтв 02:34:01 3253860 94
>>3253859
Ой, это в эликсир треде ОП писал про 2х, не тутошний.
Аноним 29/08/24 Чтв 22:39:57 3259392 95
Какой лисп имеет самую лаконичную спецификацю?
Аноним 29/08/24 Чтв 22:51:01 3259393 96
Аноним 31/08/24 Суб 10:46:20 3260637 97
>>3259392
Схема конечно
У пиколиспа вообще не спека >>3259393
Аноним 31/08/24 Суб 12:26:30 3260728 98
>>3260637
Язык одной реализации, стандарта у него, конечно же, нет.
Но тем не менее схемы он лаконичнее.
Аноним 31/08/24 Суб 15:04:39 3260868 99
>>3260637
Там их целых 7 редакций
Аноним 31/08/24 Суб 21:21:49 3261170 100
>>3260868
R5rs самая маленькая, r7rs современнее. А так зависит от того, для чего спеку читаешь - мне как энтузиасту зашла r7rs своей лаконичностью и выверенностью. Только дин диспатча не хватало, но он прикручивается как и половина фич через макросы+cps
Аноним 06/09/24 Птн 16:09:25 3266091 101
Вкачусь в тред с тупым вопросом: почему в CL принято устанавливать модули quicklisp'ом? В линуксах, например, не очень приветствуется метод установки тех же питонячьих модулей pip'ом и они разбиваются на пакеты конкретного дистрибутива. В CL же подобной тенденции нет. Во всех дистрибутивах (кроме мб guix'а) модули ставятся quicklisp'ом. Есть ли в этом сакральный смысл?

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

https://gitlab.com/gentoo-racket/gentoo-racket-overlay
06/09/24 Птн 16:15:08 3266095 102
>>3266091
>почему в CL принято устанавливать модули quicklisp'ом?
Потому что удобно.
>Есть ли в этом сакральный смысл?
Встречный вопрос: если ли сакральный смысл в дополнительном опакечивании для целого зоопарка дистрибутивов?
Аноним 06/09/24 Птн 16:36:28 3266107 103
>>3266095
> если ли сакральный смысл в дополнительном опакечивании для целого зоопарка дистрибутивов?

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

Да и опакечивание делается пользователями конкретного дистрибутива, не для зоопарка в целом. Но то, что вообще никто не захотел заморачиваться с этим языком — немного интересно стало.
06/09/24 Птн 16:40:37 3266108 104
>>3266107
>сторонние пакетные менеджеры для system-wide вещей
Пакеты для cl не являются общесистемными и нужны только во время разработки, ибо софт распространяется в виде цельных образов.
06/09/24 Птн 16:45:52 3266117 105
>>3266108
>и нужны только во время разработки
Ну и сборки, да.
Аноним 08/09/24 Вск 11:51:41 3267432 106
image 805Кб, 2880x1800
2880x1800
а всмысле? в лупе только when работает? а как же ифы?
Аноним 08/09/24 Вск 14:42:18 3267538 107
>>3267432
format t, а не format nil. С nil он просто возвращает отформатированную строку, а с t эквивалентно format standard-output
equal неуместен, для сравнения чисел есть =
setq использовать не надо, это рудимент, вместо используй setf, а именно в этом случае - incf
Ну и вообще, ты зачем за макрос руками работаешь? У loop же есть конструкция :for :to. А так две ошибки допустил, инкремент и проверка условия не в тех местах.
Аноним 08/09/24 Вск 19:51:06 3267790 108
image 770Кб, 2880x1800
2880x1800
>>3267538
чота я пока не могу в функциональный стиль
лямбды эти ваще не даются
ну в процедурном канешн ничо сложного (кроме того что тут чота все макросами обмазано)
Аноним 08/09/24 Вск 19:53:41 3267792 109
>>3267790
а блин, ветвление неправильно сделал, ну да ладно, сойдет для первого раза
Аноним 08/09/24 Вск 21:29:27 3267871 110
изображение.png 107Кб, 1272x846
1272x846
>>3267790
Ветвления какие-то.... тьфу. Слишком высокоуровнево.
Раз уж взялся за tagbody/go, то не стоит останавливаться на полпути.
Аноним 08/09/24 Вск 23:31:32 3267937 111
Аноним 09/09/24 Пнд 10:33:38 3268170 112
Хочу сделать макрозамену 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 ошибку. Нафига столько? Какие там флаги проставить?

И где вообще полноценное описание всяких закорючек в духе -
>` ' ~ @ # : & %
- и т. д.? Поисковик такое не берёт. А с этого нигде не начинают объяснение языка, хотя это основы несомненные, причём совершенно неочевидные для интуитивного понимания.
Аноним 09/09/24 Пнд 12:12:26 3268250 113
>>3268170
>#
эта хуйня вроде сокращение от lamda
>'
а эта хуйня сокращение от quote
>~
эту хуйню я встречал в принтах, начало управляющей севенции, например ~% это перевод строки как \n в си, ~a это %d в си (ну не только децималы а вообще вроде любую хуйню может выводить, мультифункциональная вставка параметра типа того)

только вкатываюсь
Аноним 09/09/24 Пнд 14:03:13 3268328 114
image 1956Кб, 2880x1800
2880x1800
да как эту вашу дямбду написать
я не могу понять

да я могу написать просто рекурсию, но тогда есть вероятность переполнения, мне нужно лямбда решение
Аноним 09/09/24 Пнд 15:56:08 3268445 115
изображение.png 54Кб, 774x301
774x301
>>3268170
>Хочу сделать макрозамену foo2, которая использует foo1.
А читать ты что-нибудь не пробовал? Тот же pcl или хотя бы кукбук.
>И где вообще полноценное описание всяких закорючек в духе
Внезапно, в спецификации https://novaspec.org/cl/2_4_Standard_Macro_Characters
>>3268250
>эта хуйня вроде сокращение от lamda
#' - это не лямбда, а макрос чтения для function https://novaspec.org/cl/f_function
>>3268328
Ты эту лямбду просто возвращаешь. А вызывать-то её кто будет?
>но тогда есть вероятность переполнения
Хвостовую рекурсию оптимизируют почти все реализации cl, хотя по стандарту не обязаны.
Аноним 09/09/24 Пнд 15:59:52 3268452 116
>>3268170
>Под сотню строчек вылетает на 1 ошибку.
Игнорируешь слайм - ССЗБ. Даже у дедов в 80х был аналогичный инструментарий.
Аноним 09/09/24 Пнд 16:00:18 3268453 117
>>3268445
>Ты эту лямбду просто возвращаешь. А вызывать-то её кто будет?
милчеловек, напиши как надо? я когда то нагугливал лямбда факториалы всякие а сейчас не могу найти, чтобы на примере применить

>Хвостовую рекурсию оптимизируют почти все реализации cl, хотя по стандарту не обязаны.
на компилер надейся а сам не плошай
Аноним 09/09/24 Пнд 16:09:27 3268469 118
надо сделать apply (lambda штоли?
Аноним 09/09/24 Пнд 16:09:34 3268470 119
>>3268453
>милчеловек, напиши как надо?
Как ты пытаешься сделать, так не надо. Это неидиоматичный код с неоправданным оверхедом и просто мозгоёбка.
https://github.com/ruricolist/serapeum/blob/master/REFERENCE.md#iter
Используй nlet из serapeum, обычный цикл или явную рекурсию, ибо переполнение стека на какой-нибудь маргинальщине типа ABCL - не худшее, что там может случиться.
Аноним 09/09/24 Пнд 16:45:48 3268508 120
>>3268470
напиши лямбду я имел ввиду
Аноним 09/09/24 Пнд 17:28:38 3268550 121
>>3268508
Ты ж сам скрин с примерами вкинул, где всё есть.
Если не понимаешь, как их использовать и вообще для чего они нужны, то тебе следует почитать что-нибудь более основательное, а не просто примеры кода.
Аноним 09/09/24 Пнд 17:43:42 3268566 122
>>3268508
https://ideone.com/g0fhFS
Вот тот костыль, который ты пытался соорудить.
Это неидиоматичный код для cl.
Аноним 09/09/24 Пнд 17:52:59 3268576 123
image 472Кб, 2880x1800
2880x1800
image 645Кб, 938x1326
938x1326
>>3268550
пик достаточно основательный? может дело в том что лисп не бейсик какой нибудь, не думал в эту сторону?
Аноним 09/09/24 Пнд 17:53:37 3268577 124
>>3268566
я не хотел разбивать на две функции
Аноним 09/09/24 Пнд 18:05:37 3268597 125
изображение.png 325Кб, 1200x792
1200x792
Аноним 09/09/24 Пнд 20:06:00 3268687 126
image 1208Кб, 2008x1404
2008x1404
>>3268597
стек оверфлоу канешна жи при больших значениях
лан пойду лямбды ковырять
Аноним 09/09/24 Пнд 20:55:46 3268710 127
>>3268687
Почитай, что такое хвостовая рекурсия
Аноним 09/09/24 Пнд 21:04:15 3268713 128
>>3268710
да блять я не настолько вкатун
просто концепция лиспа ебет мне мозг
сидишь блять думаешь как в одно выражение впихнуть два выражения
Аноним 09/09/24 Пнд 21:14:11 3268720 129
>>3268452
с 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)
Аноним 09/09/24 Пнд 21:42:06 3268729 130
Stallman.jpg 51Кб, 419x442
419x442
McCarthy.jpg 37Кб, 329x445
329x445
>>3268720
Удобно без слайма, я смотрю.
Аноним 09/09/24 Пнд 21:42:26 3268730 131
>>3268720
>>sbcl --script program.lisp
у меня глючит этот флаг
бывает грузит, бывает не грузит
так что я захожу с шоколадного
>sbcl --noinform < progname.lisp
>in .zshrc
>alias lisp='sbcl --noinform <'
мимо
Аноним 09/09/24 Пнд 22:49:13 3268757 132
rtb98475yg8.jpg 32Кб, 478x367
478x367
>>3268730
>sbcl --noinform < progname.lisp
Через конвейер он по-другому работает: дублирует строчки, пишет значения выражений (со звёздочкой); вроде интерпретатора что-ли. В итоге вывод самой программы увеличивается в 4 раза и выглядит размашисто. Может и это всё тоже можно убрать флагами? noinform только приветствие убирает.
ПС: noprint, нашёл. Теперь удобоваримо. ) Спасибо.

>>3268729
>Удобно
Гораздо удобнее, чем твои посты придумывать.
Аноним 10/09/24 Втр 00:19:21 3268784 133
image 117Кб, 1430x166
1430x166
>>3268757
> можно убрать флагами?
вот такие еще варики
попробуй, мне звездочки в выхлопе репла не особо мешают пока вкатываюсь
Аноним 10/09/24 Втр 00:25:21 3268787 134
>>3268784
Смари ещё варик:
mkfifo /tmp/pipe; while true; do cat /tmp/pipe; done | sbcl
А потом в емаксе вешаешь на хоткей write-region в /tmp/pipe
Аноним 10/09/24 Втр 00:30:42 3268789 135
>>3268784
еще можно бинарь собрать и не париться
правда бинари на лиспе большие по размерам а по скорости я их не тестил, у меня нет профайлера
вот бы кто сравнил с сишкой
Аноним 10/09/24 Втр 00:40:26 3268797 136
>>3268787
>в емаксе
почему в этой хуйне в цветовых схемах не работает face number?
он типа должен декорировать циферки как в виме, но нихуя
мб ты знаешь ответ
Аноним 10/09/24 Втр 00:49:58 3268799 137
изображение.png 248Кб, 638x692
638x692
Аноним 13/09/24 Птн 19:34:23 3272109 138
>>3267790
для функциональщины лучше схему/ракетку/кложур бери
коммон лисп больше оопшный/процедурный, дрочить лямбды там можно конечно, но не так удобно как в языках выше
Аноним 13/09/24 Птн 23:59:45 3272384 139
>>3272109
написано мультипарадигменный значит будем дрочить в разных парадигмах
Аноним 14/09/24 Суб 00:16:31 3272396 140
image 159Кб, 2554x536
2554x536
я правильно понимаю что (or) это какой то экстендед тернарник?
написано что выражения вычисляются слева направо пока какое то из них не вернет тру
так выходит из простейшего OR можно свич слепить, напихать в него вызовы и пускай себе щелкает слева направо, как если бы это был свич (или в других языках селект кейс) сверху вниз пока не найдется первый тру кейс

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

вот если есть OR то нахуй тогда нужен COND? начинает вонять избыточностью плюсов...
Аноним 14/09/24 Суб 11:42:16 3272485 141
>>3272384
c++ джава и питон тоже мультипарадигмальные но не будешь же ты в них фп дрочить? если хочешь фп то либа схема либа мл языки типа хаскеля и окамла
Аноним 14/09/24 Суб 11:48:15 3272487 142
>>3272396
>экстендед тернарник
в некотором смысле да
это вообще-то макрос, ты его можешь сам за минуту написать
>COND
он для другого нужен, это как свич на условиях типа
```
(case t
((= 0 1) 1)
((= 0 2) 2)
((= 0 0) 'ok)
(t 'default))
```
только то что выше для CL некорректно
а cond вместо case t уже все делает нормальным
Аноним 14/09/24 Суб 13:27:48 3272613 143
>>3272396
>вот если есть OR то нахуй тогда нужен COND?
А нахуй нужен COND, если есть IF? Всё избыточно, кроме специальных операторов.
Аноним 14/09/24 Суб 14:20:55 3272715 144
>>3272613
ифы неудобные кста в кл
всего одно выражение на ветку
Аноним 14/09/24 Суб 16:33:15 3272819 145
>>3272715
>всего одно выражение на ветку
Как и во многих других языках тащемта. В том числе в сишке
Аноним 15/09/24 Вск 03:06:27 3273095 146
>>3145074
Современное железо сплошь контрол флоу, то есть датафлоу приходится либо эмулировать как в джаве, либо перегонять на в контролфлоу представление. Датафлоу неэффективен, он типобезопасен.
Аноним 15/09/24 Вск 05:30:49 3273099 147
Аноним 15/09/24 Вск 15:44:13 3273443 148
>>3273099
Это (loop (print (eval (read))))
Аноним 15/09/24 Вск 17:41:15 3273487 149
>>3273443
Значит интерпретатор ?
Аноним 15/09/24 Вск 17:56:08 3273493 150
>>3273487
Нет.
>REPL (от англ. read-eval-print loop — «цикл „чтение — вычисление — вывод“») — форма организации простой интерактивной среды программирования в рамках средств интерфейса командной строки.

Неужели сложно было загуглить?
Аноним 15/09/24 Вск 18:18:56 3273508 151
>>3273493
Значит транслятор?
Аноним 15/09/24 Вск 18:21:24 3273509 152
1290798005.jpeg 25Кб, 450x600
450x600
Аноним 15/09/24 Вск 18:50:05 3273536 153
image 320Кб, 728x530
728x530
Аноним 15/09/24 Вск 21:28:17 3273669 154
image 82Кб, 2588x592
2588x592
ладно шутки в сторону
книжечку нашел по CL надо кому?
Аноним 15/09/24 Вск 22:13:53 3273708 155
Аноним 15/09/24 Вск 22:27:56 3273722 156
>>3273708
так это она и есть
какое у нее название, кто автор? pcl.pdf как то фигово звучит
Аноним 15/09/24 Вск 22:29:44 3273725 157
Аноним 16/09/24 Пнд 00:27:28 3273908 158
>>3273493
И? Он что делает по сути? Транслирует?
Аноним 16/09/24 Пнд 13:26:14 3274277 159
>>3273722
Practical Common Lisp by Seibel Peter
Аноним 17/09/24 Втр 13:06:27 3274964 160
Почему значение переменной можно звать только без скобок? Это же пиздец как выбешивает, ты только начал понимать закономерность этого ебаного ((())) вот те и на. Как лисп вообще видит что-то не в скобках нахуй?
Аноним 17/09/24 Втр 13:09:30 3274969 161
>>3273908
В лиспе ты не сохраняешь программу как таковую - она создаёт мини-копию репла, по сути встроенный компилятор. Считай что каждая отдельная программа компилируется ин риал тайм при работе. Ты на ходу можешь теребить код.
Аноним 17/09/24 Втр 14:14:25 3275016 162
>>3274969
>риал тайм при работе. Ты на ходу можешь теребить код.

Это же и есть интерпретатор, не?
Аноним 17/09/24 Втр 14:40:29 3275042 163
>>3274964
потому что переменная это связанный с хуйней атом?
а ((())) это выражение?
Аноним 17/09/24 Втр 14:47:11 3275048 164
>>3275042
Так а почему функцию нельзя вызвать тем же макаром? Однохуйственно же, значение переменной ты вызываешь в консоль или результат работы функции.
Аноним 17/09/24 Втр 15:19:05 3275065 165
>>3275048
почемучка не жирни
Аноним 17/09/24 Втр 18:10:46 3275221 166
на какие задачи лиспоподобные хорошо кладуться? если нужно например вебсокет сервер написать то тут уже без стейта (и сайд эффектов) никак
Аноним 17/09/24 Втр 18:47:18 3275250 167
>>3275221
ну ты конечно привел пример
ты бы еще про ардуину вспомнил
кажется лисп это ультрахайлевл бай дизайн, а писать на нем ось лейеред микропиську все равно что байтоебить на жабе
Аноним 17/09/24 Втр 19:11:09 3275263 168
>>3273908
Выполняет код. Под капотом может быть как интерпретатор, так и компилятор. В случае sbcl - второе.
>>3275221
>то тут уже без стейта (и сайд эффектов) никак
Лисп - мультипарадигменный, ФП даже не является основным из подходов, не говоря уж о чистофункциональном.
>>3275250
>ты бы еще про ардуину вспомнил
http://www.ulisp.com/
> а писать на нем ось лейеред микропиську
https://github.com/froggey/Mezzano
Аноним 17/09/24 Втр 19:16:28 3275267 169
>>3275263
>ссылочки
по-твоему я сказал что этого нельзя делать? я сказал что лисп инструмент не для этого
или мы должны уподобляться всяким шизам и писать шейдеры на пыхе? нет конечно. считаю твоя аппеляция инвалид
отклонено
Аноним 17/09/24 Втр 19:30:52 3275275 170
>>3275267
>по-твоему я сказал что этого нельзя делать?
Нет. По-моему, ты просто имеешь крайне поверхностное представление о сабже.
>>3275250
>кажется лисп это ультрахайлевл бай дизайн
Тебе кажется.
В общелиспе есть инструменты и для низкоуровневого программирование, и по "ссылочкам" примеры их применения, а ulisp - как раз "инструмент для этого".
Аноним 17/09/24 Втр 19:35:52 3275279 171
>>3275275
ладно я понял
ты просто не знаешь разницы между может и предназначен
Аноним 17/09/24 Втр 19:39:35 3275282 172
>>3275279
Хорошо, что у нас есть ты, и нам сейчас расскажешь.
Будет очень интересно послушать.
Аноним 17/09/24 Втр 19:42:17 3275286 173
>>3275279
Особенно интересно узнать, почему ulisp, предназначенный для программирования микроконтроллеров, для этого не предназначен?
Аноним 17/09/24 Втр 19:46:49 3275292 174
>>3275282
>>3275286
лень разжевывать "на пальцах"
головушку включи и поймешь
Аноним 17/09/24 Втр 19:52:25 3275296 175
>>3275292
по приколу что ли эту хуергу делали
Аноним 17/09/24 Втр 19:56:41 3275299 176
>>3275296
диалекты лиспа - да
сидел такой же шиз безработный и пришла ему мысль слепить себе инструмент для ковыряния микроконтроллеров, ну и слепил
теперь сидит в треде и с пеной у рта доказывает что лисп про микрухи
в то же время дефакто стандарт индустрии - плюсы по понятным причинам

сам лисп для обучения нейронок сделали
Аноним 17/09/24 Втр 20:02:54 3275304 177
>>3275292
Ну что же ты :( Такими знаниями обладаешь, а не хочешь делиться.
Мужики с 80х годов в неведении, на лиспах ОСи пишут. За столько лет не нашлось им такого светила, кто указал бы, в чем они не правы.
Аноним 17/09/24 Втр 20:07:12 3275308 178
>>3275304
>в чем они не правы
ну и где твои мужики типерь? што с ебалом? узнали? согласны?
вас постигла судьба рубишизов, рыночек распределил всех по нужным этому миру шконкам
Аноним 17/09/24 Втр 20:10:16 3275311 179
>>3275299
в 1958 не было хайпа миджоннер чатжпт ты что имеешь ввиду
Аноним 17/09/24 Втр 20:11:29 3275313 180
Аноним 17/09/24 Втр 20:12:53 3275315 181
>>3275311
технологиям не нужен хайп, чтобы существовать

>>3275313
интересно вы тут рвонькаете, как то даже мило
Аноним 17/09/24 Втр 20:13:52 3275317 182
>>3275315
чатжпт клавдия не было в 1959
Аноним 17/09/24 Втр 20:15:39 3275321 183
>>3275317
уровень вашей аргументации поражает
Аноним 17/09/24 Втр 20:17:04 3275325 184
>>3275308
>ну и где твои мужики типерь?
Те самые? Уже на пенсии.
А новых практически нет. Symbolics прогорел, неправильно выбрав вектор развития. ИИ-пузырь лопнул. Передовые разработки (в т.ч. концепцию гуи и в частности окон) растащили более предприимчивые бизнесмены. А современные школьники, вроде тебя, только слышали звон, мол, ФП, ИИ и скобки. Поэтому сообщество очень малочисленно, крупных проектов почти нет.
Аноним 17/09/24 Втр 20:19:36 3275333 185
>>3275299
>в то же время дефакто стандарт индустрии - плюсы по понятным причинам
Манямрии крестоёба.
мимо эмбедщик
Аноним 17/09/24 Втр 20:19:40 3275334 186
думаю вкатиться в кложурескрипт и реакт какие подводные
Аноним 17/09/24 Втр 20:27:30 3275346 187
>>3275325
красиво бахаешь

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

>>3275334
ради денег? чекай вакухи на галеры - в то и вкатывайся
Аноним 17/09/24 Втр 20:29:20 3275351 188
>>3275346
ради фана
на хую вертел вакуленции после того как попал в чс сбера
работаю на start up
Аноним 17/09/24 Втр 20:31:01 3275353 189
>>3275351
ради фана я бы в лисп вкатывался
без шуток
Аноним 18/09/24 Срд 03:36:56 3275545 190
Запустил sbcl
Перед тобой repl

(+ 5 5)
10

Что он сделал? Скомпилировал или интерпритировал?
Аноним 18/09/24 Срд 05:00:47 3275551 191
Аноним 18/09/24 Срд 05:01:33 3275552 192
>>3275545
в репле интерпретирует вычислил выражение и результат высрал в ответ
скомпиль в бинарь и запусти правда он ничо не высрет в консоль, так как в этом коде нет принтов
Аноним 18/09/24 Срд 06:21:21 3275559 193
>>3275545
Что произошло в 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`.
Аноним 18/09/24 Срд 15:32:08 3275835 194
172666243204462[...].jpg 4Кб, 156x222
156x222
172666224201862[...].jpg 73Кб, 720x1600
720x1600
Аноним 18/09/24 Срд 16:18:31 3275882 195
Аноним 20/09/24 Птн 03:41:34 3277148 196
>>3275882
Спасибо, но он на мои тупые вопросы отвечает тупостью.
Аноним 20/09/24 Птн 04:49:37 3277153 197
>>3277148
Попробуй гопоту4, она чуть поумнее.
Аноним 20/09/24 Птн 19:53:45 3277624 198
В каком учебнике самые заебатые упражнения. Чтобы нужно было код писать, а не головоломки ебучие. Заранее спс.
Аноним 20/09/24 Птн 20:08:06 3277641 199
изображение.png 49Кб, 547x206
547x206
>>3277624
В PCL норм упражнения.
Аноним 25/09/24 Срд 15:40:25 3281113 200
так сикундачку...
палучаица я магу сделать демона для серва, который будет чекать дэйт/тайм файлика (ну как мейк по той же логике) МОДУЛЬНЕЙМ.лисп и если он изменился схавоть его через load и крутить обновленную версию, а устаревший луп модуля брейкнуть

ебать

ета чо прод без компила?
Аноним 26/09/24 Чтв 20:56:52 3282350 201
Захотел вкатиться в Clojure, но дропнул изучение так как работы ВООБЩЕ НЕТ (1 вакансия на страну)
Аноним 26/09/24 Чтв 21:31:55 3282378 202
>>3282350
а с колько вакансий тебе нужно, чтобы работать на кложур?
Аноним 27/09/24 Птн 04:39:37 3282537 203
>>3282350
Так 1 оффлан, а по удалёнке их дохера же
Аноним 27/09/24 Птн 08:21:11 3282566 204
>>3282537
Где дохера-то? Ссылки в студию
Аноним 27/09/24 Птн 08:24:11 3282567 205
>>3282566
Пока ты изучишь, они все неактуальными станут.
Аноним 28/09/24 Суб 06:21:55 3283606 206
>>3282567
Ну то есть ссылок и самих вакух нет, окей.
Аноним 28/09/24 Суб 06:56:51 3283609 207
>>3283606
Просто интересно, а что тебе дала бы информация о работе, которая тебе не светит? Особенно с твоими навыками поиска информации.
Аноним 30/09/24 Пнд 16:58:45 3285438 208
Скобкоблядь ИТТ. Че у вас тут происходит последние 5 лет?
Аноним 01/10/24 Втр 10:44:33 3285966 209
>>3285438
Вкатыши вкатываются. В общем, всё то же, что и в остальном программаче.
Аноним 01/10/24 Втр 10:50:50 3285976 210
>>3285966
Во что вкатываемся? В прошлом веке кложура была популярной. А щас она как будто пропала с радаров? Не то чтобы кложура была настоящим лиспом, конечно.
Аноним 01/10/24 Втр 11:17:16 3285999 211
>>3285976
>А щас она как будто пропала с радаров?
Ну ты и соня. Тебя даже вчерашний шторм не разбудил.
Аноним 01/10/24 Втр 11:24:42 3286004 212
>>3285999
Я в другую религию ударился на какое-то время, не было времени следить.
Че с ней случилось то? Столько хайпа было.
Аноним 01/10/24 Втр 11:36:09 3286012 213
>>3286004
>Я в другую религию ударился на какое-то время
В секту переписывателей подался, да?
>Че с ней случилось то?
Харизматичный лидер ушел, у последователей опал хер, в итоге рассосались по новым игрушкам. Остался только тонский и ещё полтора аутиста.
>Столько хайпа было.
Хайп - штука недолговечная.
Аноним 01/10/24 Втр 12:58:39 3286085 214
>>3286012
В какой-то момент, да. Но меня так заебало время компиляции, что я вернулся к истокам.

> Харизматичный лидер ушел
Рич съебался? Вот это новости. Куда, неизвестно?
Аноним 01/10/24 Втр 15:52:32 3286231 215
>>3286085
>Рич съебался?
Лет пять уж прошло. Сказал, что наигрался, и ушёл в закат.
>Куда, неизвестно?
Хз, не интересовался.
Аноним 03/10/24 Чтв 11:03:23 3287999 216
Чет лишп тред совсем мертвый. Сраться не о чем
Аноним 03/10/24 Чтв 11:22:47 3288026 217
>>3287999
Языкосрачи уже никому не интересны. Какая разница, насколько крутой язык, если ВАКАНСИЙТОНЕТ
Аноним 03/10/24 Чтв 11:26:47 3288030 218
>>3288026
Как будто они когда-то были.
Лишп это язык для души.
Аноним 03/10/24 Чтв 11:32:32 3288036 219
>>3288030
Половина программача - вкатыши, которым инфоцыгане наобещали наносеков, другая - клерки с ипотеками. О какой душе ты говоришь?
Аноним 03/10/24 Чтв 11:42:15 3288049 220
>>3288036
Ну кто-то же создал лисп тред?
Аноним 03/10/24 Чтв 12:28:42 3288113 221
>>3288049
Мне кажется, он сюда вообще не заходит или сидит в ро.
Аноним 03/10/24 Чтв 12:30:57 3288115 222
2024-10-03-1129[...].png 43Кб, 1287x177
1287x177
>>3288113
Ну и ладно.

Теперь это elisp-тред.
Аноним 03/10/24 Чтв 12:56:42 3288131 223
>>3288115
>seq-some
Что-то он всё никак не доэволюционирует в CL.
Аноним 03/10/24 Чтв 12:59:36 3288140 224
>>3288131
Он давно уже доэволюционировал, если ты про то что умеет CL, см cl-lib.

seq.el это более новая либа, которая выглядит как стандартный функциональный набор, в каком-нить жс, что как по мне намного удобней, потому CL примитивы застряли в 80ых.
Аноним 03/10/24 Чтв 14:09:12 3288206 225
>>3288140
>Он давно уже доэволюционировал, если ты про то что умеет CL, см cl-lib.
Сходу бросается в глаза, что пакетов ещё не завезли, иначе не было бы этих вот seq-some, cl-getf.
>seq.el это более новая либа, которая выглядит как стандартный функциональный набор, в каком-нить жс
Я бы сказал, как в каком-нибудь CL, лол. Примерно 3/4 из CL, но имена местами изменены на более общепринятые. Только take, drop и group с хаскеля стащили.
Аноним 03/10/24 Чтв 14:11:32 3288213 226
>>3288206
Каких пакетов, не понимаю о чем ты.
Аноним 03/10/24 Чтв 14:16:04 3288216 227
>>3288213
Средство контроля области видимости. Неймспейсы.
Аноним 03/10/24 Чтв 14:21:49 3288220 228
>>3288216
А, ты про это. Ну да, флейт неймспейс. На самом деле работает збс.
Аноним 03/10/24 Чтв 14:27:00 3288226 229
>>3288140
>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
А, так они опциональные аргументы выкинули. Фууу, за это дизлойс.

>>3288220
Да кто ж сомневается, что и так работать будет? Но неудобно же.
Аноним 03/10/24 Чтв 14:32:09 3288233 230
>>3288226
Ну cl-lib никуда не делать. Хочешь его, юзаешь его же.

> Но неудобно же.
Да хз. Греп лучше любых сраных lsp как по мне.
Ну было бы у тебя `seq::some` тебе было бы сильно лучше?
Аноним 03/10/24 Чтв 14:39:43 3288241 231
>>3288233
>Ну было бы у тебя `seq::some` тебе было бы сильно лучше?
Нет, было бы
(defpackage pkg (:use #:el #:seq))
(some ...)
Аноним 03/10/24 Чтв 16:13:06 3288303 232
>>3288241
Вот у меня есть проект. Как мне найти все использования конкретного `some` в нем? Если мне не изменяет память, тулинг вокрул CL в такое просто не умеет.
Аноним 03/10/24 Чтв 16:15:02 3288305 233
Аноним 03/10/24 Чтв 16:25:01 3288316 234
>>3288305
Ну ты сам то это говно попробуй. Оно плюс минус неюзабельное.
Аноним 03/10/24 Чтв 16:28:49 3288322 235
gaps-minor-mode.png 69Кб, 815x320
815x320
Аноним 03/10/24 Чтв 16:32:36 3288324 236
>>3288322
Как он щас, кстати? Я лет семь назад с него слез, потому что он заебал глючить на мелочах типа иконки телеги в трее лагучей.
Аноним 03/10/24 Чтв 16:32:43 3288325 237
>>3288316
Так я и пользуюсь, мне удобно.
>говно
>неюзабельное
Что там у тебя случилось?
Аноним 03/10/24 Чтв 16:34:52 3288330 238
>>3288324
>Как он щас, кстати?
Чуть более стабилен, но всё ещё нужно уметь приготовить правильно. В контрибах вон >>3288322 сам видишь, что творится
Аноним 03/10/24 Чтв 16:35:01 3288332 239
>>3288325
Если я правильно помню, оно худо бедно работало только для публичных глобальных функций. А типа, кто юзает вот эту приватную функцию поправь терминологию сам хуй.
Аноним 03/10/24 Чтв 16:36:57 3288336 240
>>3288330
Я понял что я особо не трогаю конфиг своего вм вообще после изначальной настройки, поэтому динамичности как у стампа мне особо не надо. dwm за глаза хватает. Впрочем, его еще и легче править на лету, чем stumpwm.
Аноним 03/10/24 Чтв 16:39:46 3288341 241
>>3288332
Да не, слайму похуй экспортируется символ или нет.
Я вот сейчас буквально stumpwm ковырял, постоянно пользовался sly-who-{calls,references} - всё отлично работало.
Аноним 03/10/24 Чтв 16:42:22 3288344 242
>>3288341
Ну лан, может ДОПИЛИЛИ.
Но все равно, я много лет убил на CL, и ну его нахуй.
Аноним 03/10/24 Чтв 16:42:25 3288346 243
>>3288336
>Впрочем, его еще и легче править на лету, чем stumpwm.
Ну не, в плане модификации и, тем более, отладки на лету stumpwm всем даёт пососать.
Аноним 03/10/24 Чтв 16:45:54 3288351 244
>>3288346
Хер знает, не могу сказать что у меня хорошие от этого процесса воспоминания.
Ну может когда у меня будет очередной приступ тинкеркрастинации, гляну еще раз.
Аноним 03/10/24 Чтв 20:34:57 3288538 245
CL кун, сможешь показать как сделать простенький скрипт?
Аноним 03/10/24 Чтв 21:24:57 3288585 246
>>3288538
Тебя какой именно аспект скриптования интересует?

https://lispcookbook.github.io/cl-cookbook/scripting.html
В кукбуке этот вопрос вроде достаточно полно освещён, не показано только примеров с roswell'ом в качестве пускалки скриптов.
Аноним 03/10/24 Чтв 21:27:04 3288588 247
>>3288585
Есть супер простая задача.
Есть директория, в ней лежат csv файлики. Каждый надо распарсить, удалить дубликаты из колонок по определенным правилам, сгенерить sql и вставить его в базу.
Аноним 03/10/24 Чтв 21:38:29 3288595 248
>>3288588
Да, несложная. Какие-то вопросы?
Аноним 03/10/24 Чтв 21:40:11 3288597 249
>>3288595
Покажешь как сделать?
Аноним 03/10/24 Чтв 21:42:53 3288598 250
>>3288597
Нет, сам делай свою лабу.
Аноним 03/10/24 Чтв 22:02:00 3288617 251
>>3288598
Эт не лаба. И я уже все сделал. Мне просто было любопытно как бы это выглядело на общелиспе. Сколько боли бы это вызвало.
Аноним 04/10/24 Птн 08:53:55 3288856 252
>>3288617
>Сколько боли бы это вызвало.
Зависит от СУБД и объемов. Но если у тебя не десятки гигабайт и bulk insert не нужен, то, скорее всего, ноль боли.
>Мне просто было любопытно как бы это выглядело на общелиспе.
Любопытно — сделай. Разомнешь серое вещество.
Аноним 04/10/24 Птн 10:24:00 3288948 253
Аноним 05/10/24 Суб 04:58:39 3289781 254
>>3288036
Я для себя чисто для души.
Аноним 05/10/24 Суб 12:08:16 3289889 255
image.png 488Кб, 894x569
894x569
sly или slime?
Аноним 05/10/24 Суб 14:25:44 3289967 256
>>3289889
Да не велика разница.
Аноним 06/10/24 Вск 17:37:59 3290885 257
Заклинатели метаобъектного протокола CLOS у нас тут водятся?
Аноним 06/10/24 Вск 17:45:42 3290889 258
>>3290885
Нет, но ты все равно спрашивай.
Аноним 06/10/24 Вск 19:32:39 3291011 259
>>3290889
Да уже разобрался. Описывал метакласс для прозрачного доступа к атрибутам в sysfs и нужны были прокси-слоты.
Короче, определил метакласс, классы direct-слотов, effective-слотов и метод slot-value-using-class и его setf-версию, которые читают и пишут из/в sysfs. Работает, но мне не нравится, что место под эти слоты выделяется в объектах. Нет, мне не жалко этих скольких-то лишних байт на объект, но перфекционизм не даёт покоя.
Аноним 06/10/24 Вск 20:11:16 3291104 260
Аноним 06/10/24 Вск 20:17:41 3291124 261
Аноним 07/10/24 Пнд 15:25:09 3291817 262
Звали в сбер. Они купили продукт по страхованию написанный на листе. Готовы обучать, тк я на листе не писал никогда. Не взяли, потому что не решил в тестовом задания со *
В первой надо было писать процедуру на sql
Во второй выводить самые толстые файлики через консольный git
Аноним 07/10/24 Пнд 16:02:37 3291862 263
>>3291817
>написанный на листе
А4?
Аноним 08/10/24 Втр 05:48:23 3292267 264
Аноним 09/10/24 Срд 13:54:13 3293427 265
>>3291817
Что за продукт, на каком листе?.. Расписал бы хоть.
С задач со звёздочкой кринжанул
Аноним 10/10/24 Чтв 02:07:22 3293987 266
>>3291817
>>3291862
>>3292267
давеча на листе писал джиэсик для себя
имаджинировал ебало техлига кста, который эту хуйню придумал
Аноним 14/10/24 Пнд 09:57:49 3297560 267
172888826259320[...].mp4 795Кб, 752x652, 00:00:08
752x652
Как писать программы?
Аноним 14/10/24 Пнд 15:27:15 3297898 268
Аноним 14/10/24 Пнд 16:58:49 3298061 269
>>3297898
А где описание на русском что такое eval и куда и когда его надо вставлять?
14/10/24 Пнд 17:01:06 3298068 270
>>3298061
МОЛОДОЙ ЧЕЛОВЕК, ВЫ КАК К НАМ ВООБЩЕ ПОПАЛИ?
Аноним 14/10/24 Пнд 17:26:43 3298099 271
>>3298068
Девачка с ютуба сказала что лист пиздатый
Аноним 14/10/24 Пнд 17:31:05 3298103 272
>>3298099
Ну вот пусть она и объясняет, куда там евалы засовывать надо.
27/10/24 Вск 06:09:40 3308721 273
Более подходящего треда нет, спрошу тут.
Кто-нибудь мне может объяснить, какого хуя в APL выражение ≤\1 0 0 1 0 1 0 возвращает 1 0 1 1 1 1 1, а не 1 0 1 1 0 1 0? Я джва годадня убил на отладку своего говнокода из-за этой хуйни.
Предполагаю, что ответ "просто потому что". Но как тогда добиться ожидаемого поведения оператора scan?
Аноним 27/10/24 Вск 06:10:08 3308722 274
Сега приклеилась
Аноним 28/10/24 Пнд 20:04:51 3309813 275
Аноним 28/10/24 Пнд 20:18:18 3309815 276
>>3291817
Ценный коммент, спасибо за правду. Посмешил.
Аноним 28/10/24 Пнд 20:21:17 3309817 277
>>3291817
предположу что все же система была написана на сlojure, а не на общелиспе или схемке
Аноним 29/10/24 Втр 01:59:46 3309929 278
>>3309817
У них вроде и брощелисп, и кожура используются.
Аноним 30/10/24 Срд 23:24:04 3312006 279
>>3298061
То есть, куда вставить read и print ты разобрался, а для eval дырки не хватило?
Аноним 30/10/24 Срд 23:42:49 3312018 280
>>3288588
Но зачем делать такое на лиспе?
Для этого есть гораздо более подходящие инструменты.
Аноним 31/10/24 Чтв 00:37:26 3312049 281
>>3312018
Для чего лисп тогда подходит?
Аноним 31/10/24 Чтв 00:46:12 3312057 282
>>3312049
Для мастурбации решения задач из SICP.
Аноним 31/10/24 Чтв 00:50:03 3312059 283
>>3312057
Я кстати решил его таки дочитать. В свое время половину прочитал, и как-то забросил.
Message Passing style оч симпотично выглядит.
Аноним 02/11/24 Суб 06:28:03 3313915 284
Читаю sicp, дошел до упражнений, нужно писать код на lisp scheme, что нужно устанавливать?
Ну или порекомендуйте онлайн интерпретаторы.
Аноним 02/11/24 Суб 07:09:32 3313929 285
Аноним 09/12/24 Пнд 21:04:51 3338220 286
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 :)

да, ето бамп
Аноним 12/12/24 Чтв 06:37:56 3339766 287
>>3338220
Ну и зачем этот язык нужен? В чем прикол-то? Хард риалтайм на нем можно писать? А то вон пишут что-то про музыку.
Аноним 12/12/24 Чтв 07:40:58 3339775 288
>>3339766
Тебе ссылку на переводчик с английского дать или что?
>Хард риалтайм на нем можно писать?
>where a human programmer operates as an active agent
Лол, а ты сам сможешь?
Аноним 21/12/24 Суб 02:16:01 3346351 289
Аноним 21/12/24 Суб 22:07:57 3346872 290
>>3346351
>A R4RS Compliant REPL in 8Kb
8кб чего? Ну и не сказать, что это очень мало. uLisp на атмегах запускается с 2кб оперативы.
Аноним 25/12/24 Срд 14:01:24 3349672 291
Подскажите как узнать какие тут аналоги команд if else begin end из паскаля?
Аноним 25/12/24 Срд 14:14:52 3349681 292
>>3349672
Базовый - специальный оператор if https://novaspec.org/cl/f_if
В стандарте есть также макросы when, unless, cond, or, and, разновидности case, которые в этот if раскрываются.
Аноним 25/12/24 Срд 14:21:50 3349687 293
>>3349681
А стандарты CL совместимы же с другими типа newlisp, pico и т.д.?
Аноним 25/12/24 Срд 14:34:37 3349695 294
>>3349687
Нет, это разные языки. Особенно picoLisp.
У них, конечно, есть сходства, но не больше, чем у жс, сишки и перла.
Аноним 25/12/24 Срд 15:41:46 3349749 295
>>3349695
Так а как выбрать какую реализацию лиспа мне дрочить?
Аноним 25/12/24 Срд 16:21:05 3349767 296
(defun имя-функции (аргументы...)
"необязательная-документация..."
(interactive как-получить-аргументы) ; необязательно
тело...)


Это чья реализация?
Аноним 25/12/24 Срд 17:33:59 3349818 297
>>3349749
Бери common lisp. Реализацию любую на выбор:
>>3142890 (OP)
>Основные реализации:
>- свободные: SBCL (нативный код), Clozure CL (нативный код), ECL (через сишку), Clisp (байт-код; небольшой размер образа; похоже, заброшен), Clasp (LLVM; ориентирован на интероп с C++), ABCL (байт-код JVM), CMUCL, GCL.
>- коммерческие: LispWorks, Allegro CL, Scieneer CL, mocl
>>3349767
>(interactive как-получить-аргументы)
Это emacs lisp - язык расширений емакса, как можно догадаться из названия. Похож на общелисп и даже медленно и планомерно стремится в него эволюционировать, но пока всё никак.
Аноним 25/12/24 Срд 18:06:59 3349852 298
Аноним 30/12/24 Пнд 07:19:08 3352693 299
173553164858544[...].jpg 68Кб, 810x1080
810x1080
Написал свой кулькулятор, хочу его на мобилу андроЙд, не через repl, а прям самодостаточное приложение, что делать?
Аноним 30/12/24 Пнд 12:16:46 3352835 300
Аноним 01/02/25 Суб 19:41:14 3378450 301
Аноним 02/02/25 Вск 14:18:43 3378945 302
>>3378450
На том холме уже заслонила небо гора мертвецов.
Аноним 02/02/25 Вск 17:42:21 3379080 303
Посоветуйте простую реализацию ГУИ на лиспе чтоб поиграться.
А то тут чёрт ногу сломит, лтк установи, связи с тсл установи, какую то поеботу из 90ых поставь.
Аноним 02/02/25 Вск 17:59:22 3379105 304
>>3379080
Платформа какая? Простую в плане чего?
Можешь clog попробовать, если вебпарашей не брезгуешь
Аноним 02/02/25 Вск 18:15:13 3379120 305
>>3379080
В плане использования iup, nodgui просты
Аноним 05/02/25 Срд 21:21:10 3381935 306
>Autism spectrum disorder (ASD) is a complex developmental condition involving persistent challenges with social communication, restricted interests and repetitive behavior.

думайте
Аноним 05/02/25 Срд 22:58:16 3381985 307
Как думаете, написать игровой движок на лиспе это совсем отбитая идея?
Аноним 05/02/25 Срд 23:32:57 3382019 308
Аноним 07/02/25 Птн 10:23:50 3382863 309
получается QUOTE не даёт реплу вычислить выражение, но данные остаются пригодными для сортировки к примеру?
Аноним 08/02/25 Суб 19:07:53 3384163 310
в АНСИ коммон лиспе автор сходу грит, мол, без редактора заебёшься скобки считать
это как понимать? Как диды лисповале?
Аноним 08/02/25 Суб 22:01:39 3384233 311
>>3384163
Уж не знаю, было ли у дедов что-то кроме балансировки скобок, но у современных лисперов обычно что-то такое http://danmidwood.com/content/2014/11/21/animated-paredit.html
Ну и вообще, рекомендую сразу брать нормальную среду разработки емакс с нормальной интеграцией с реплом. Одна из главных фишек лиспа именно в интерактивной разработке наживую можешь погуглить что-нибудь вроде lisp live coding, если не понимаешь, о чем я.
Аноним 09/02/25 Вск 06:44:11 3384323 312
>>3382019
> Yukari Hafner
Ага, то есть единственный способ получить девушку, что любит программировать, да ещё и на лиспе - это взять мужика и отрезать хуй? Окей. Понял-принял. Почему, сука, именно я? Зачем, блядь, так много думать? Почему бы не бухать в падике с пацанами, потом не перейти на хату, где празднуют как откинулся браток, вызывают шлюху для гостей и распечатывают ящик водяры. Потом на завод, потом Машку обрюхатить, а потом в 35 уже в могилку. Изи же? Изи.
Аноним 09/02/25 Вск 06:53:30 3384325 313
>>3384163
>>3384233
>Одна из главных фишек лиспа
Всуну свои пять копеек:
Одна из главных, но лисп этим не исчерпывается.

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

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

Мог
Аноним 09/02/25 Вск 06:54:14 3384326 314
Аноним 09/02/25 Вск 09:32:04 3384358 315
Аноним 09/02/25 Вск 11:04:02 3384417 316
>>3384358
Постер - нет. Аутизм... может быть. Но явно высокофункциональный, с "научением", потому что под нормиса кошу лучше всякого Штирлица.
Аноним 11/02/25 Втр 18:17:22 3386731 317
Походу для энтого вашего лиспа и взаправду нужно быть аутистом.
Полчаса ебался с созданием локальной переменной, пока не дошло спросить чатгопоту, что же это такое на самом деле.
Цитата: "Двойные скобки в let нужны потому, что список переменных и их значений даётся в виде списка списков"

Какого хуя авторы мануалов не пишут про эту поеботу сами?
Аноним 11/02/25 Втр 18:23:47 3386735 318
Так много реализаций этого листа, что нейронки путаются вечно в ответах.
Аноним 11/02/25 Втр 18:29:27 3386741 319
>>3386731
Ты что читаешь? У тебя там примеров кода нет что ли?
>>3386735
Ты, скорее всего, сам не уточняешь, какой именно лисп. На такие тривиальные вопросы даже тупенькие модели в состоянии ответить.
Аноним 11/02/25 Втр 18:35:54 3386753 320
image.png 71Кб, 537x285
537x285
>>3386741
>Ты что читаешь? У тебя там примеров кода нет что ли?
Анси лисп.
Вот как из пикрила можно понять, что let это не оператор присваивания, а хитровыебанный манипулятор списков?
Аноним 11/02/25 Втр 18:39:48 3386758 321
Из прочитанного я решил так, автор решил изъебнутся с декларированием выражения внутри переменной, заебись, но я хочу создать простой пример для работы.

(let (x 1) (x)) - так в моём понимании работает создание переменной - я создал собственно имя и забиндил его ко значению, а затем использовал его в теле. Но таким образом выдаёт какую то ошибку в лямбда что то там
Аноним 11/02/25 Втр 18:55:30 3386781 322
>>3386753
>что let это не оператор присваивания, а хитровыебанный манипулятор списков?
Там буквально написано, что это оператор, вводящий новые локальные переменные. Ты этот кусок читал вообще? Разжевано - подробнее некуда.
>>3386758
(let ((x 1)) x)
Аноним 11/02/25 Втр 23:39:00 3386958 323
>>3386758
>(let (x 1) (x)) - так в моём понимании работает создание переменной - я создал собственно имя и забиндил его ко значению, а затем использовал его в теле. Но таким образом выдаёт какую то ошибку в лямбда что то там
Let может объявлять много переменных за раз.

Как ты поймёшь, когда заканчиваются объявления и начинается тело let'а? Или для тебя объявление переменной должно быть инструкцией, как defparamter, чтобы можно было как в сях мешать инструкции и объявления?
Аноним 11/02/25 Втр 23:40:57 3386960 324
>>3386958
>defparamter
Блядь, надо исправлять. Это самая частая ошибка, когда я пишу defparameter. Почему пальцы съедают именно эту букву?
Аноним 12/02/25 Срд 01:36:23 3386990 325
steroid-let.png 53Кб, 619x581
619x581
Аноним 12/02/25 Срд 10:01:31 3387214 326
>>3386990
У тебя переменные ссылаться на предыдущие объявленные не могут. И время вычисления не соответствует расположению в коде.
Я бы вот так сделал https://ideone.com/qXgxxm
Аноним 13/02/25 Чтв 21:23:56 3388711 327
у меня голова болит
Аноним 18/02/25 Втр 19:59:09 3391977 328
>>3387214
Окей, закосячил.

Правда
> let let let let let let let
Можно наверное оптимизировать.
Аноним 18/02/25 Втр 21:02:19 3392006 329
Аноним 18/02/25 Втр 23:30:10 3392064 330
Аноним 21/02/25 Птн 02:51:11 3393698 331
>>3142890 (OP)
Бля ну почему эта ваша ракета такая тормозная.
Это же просто сраный интерпретатор схемы, почему он сука занимает памяти как браузер с открытым ютубом.
Аноним 21/02/25 Птн 15:46:58 3394097 332
>>3393698
Ты её на тостере запускаешь что ли?
Аноним 21/02/25 Птн 16:22:27 3394141 333
>>3394097
>ряяяяя летает на 32гб
>пачиму у тибя мало оперативки

Нахуй пройди
Аноним 21/02/25 Птн 16:50:37 3394180 334
>>3394141
Ну ладно, страдай.
>>ряяяяя летает на 32гб
Кек. Вообще-то даже на говноплатнике с алика за 2тыщи летает.
Аноним 23/02/25 Вск 11:23:15 3395390 335
>>3142890 (OP)
Моя цель - выучить emacs lisp для написания плагинов. Сейчас программирую на си-подобных языках, лисповый код выглядит по-марсиански, поэтому ищу полноценный учебник для начинающих. Но, как выяснилось, для elisp такого учебника нет, есть только справочник на gnu.org, который рассчитан для тех, кто знает какой-то лисп и им осталось вникнуть лишь в очередной диалект.
Какой диалект лиспа ближе всего к elisp и для которого есть вышеназванный учебник? В интернете часто рекомедуют "Practical Common Lisp", но, ознакомившись, стало ясно, что это никак не тянет на учебник для начинающих.
Аноним 23/02/25 Вск 14:06:12 3395479 336
>>3395390
Elisp ближе всего к common lisp'у, но немного архаичный. Там до сих пор динамическая область видимость у переменных по-умолчанию, например.
>В интернете часто рекомедуют "Practical Common Lisp", но, ознакомившись, стало ясно, что это никак не тянет на учебник для начинающих.
Для начинающих в общелиспе или в программировании вообще? Если первое, то pcl - нормальный учебник с хорошей практической частью, рекомендую. На гитхубе есть перевод на русский. Если второе, то хз, для совсем вкатунов, наверное, ничего нет.
Аноним 04/03/25 Втр 01:49:14 3401070 337
image.png 20395Кб, 5712x4284
5712x4284
Аноним 04/03/25 Втр 01:52:42 3401071 338
ddd.jpg 5903Кб, 5712x4284
5712x4284
Аноним 04/03/25 Втр 18:18:37 3401699 339
>>3401071
Пиздец. Мониторы под разным углом
Аноним 05/03/25 Срд 13:28:33 3402152 340
Аноним 05/03/25 Срд 18:41:29 3402436 341
>>3401071
> срач
> гомотопическая теория типов
> garage
> whey protein
> пепе
> татуированный бимбоунитаз
> Украина
В этой картинке прекрасно всё. Джоконда.
Аноним 06/03/25 Чтв 03:43:36 3402637 342
>>3402436
+ флаконы смазки на столе
Аноним 09/03/25 Вск 22:54:22 3405498 343
300px-1861-John[...].jpg 7Кб, 300x215
300x215
Почему дед невзлюбил пикрила? Позавидовал чедовской внешности?
Аноним 09/03/25 Вск 23:38:40 3405532 344
>>3402436
>> garage
Причём безалкогольный.
Аноним 13/03/25 Чтв 01:23:56 3407800 345
Аноним 27/03/25 Чтв 19:31:29 3417541 346
>>3277641
Где эту книгу можно прочесть?
Аноним 28/03/25 Птн 00:55:01 3417785 347
Аноним 29/03/25 Суб 18:29:14 3418966 348
Screenshot 2025[...].png 385Кб, 2559x1439
2559x1439
готов к обучению
Аноним 30/03/25 Вск 14:45:25 3419460 349
Аноним 30/03/25 Вск 16:48:09 3419613 350
>>3419460
Стараюсь в оригинале читать всё
Аноним 30/03/25 Вск 17:24:07 3419665 351
>>3419613
Боишься упустить непереводимые словообороты и неповторимый стиль изложения автора?
Не повторяй ошибок других айтишников. Если будешь пренебрегать чтением на родном языке, то станешь косноязычным уебаном, который толком не может изъясняться ни по-русски, ни по-английски.
Аноним 30/03/25 Вск 17:45:28 3419684 352
>>3419665
Каких ошибок? Я свободно владею английским, зачем мне чей-то перевод?
мимодругойананас
Аноним 31/03/25 Пнд 10:20:48 3420013 353
>>3419665
>пренебрегать чтением на родном языке
>по-русски
Сорян, я - еврей.
Аноним 31/03/25 Пнд 23:18:31 3420523 354
>>3419684
>Я свободно владею английским, зачем мне чей-то перевод?
Затем, что ты не умственный геракл, чтобы читать и параллельно переводить материал, в котором ты только пытаешься разобраться.
Затем, что восприятие через твою разреженную и сильно усечённую семантическую сеть неносителя языка, да ещё и не погруженного в языковую среду, не только огрублено и значительно постеризовано, но и ведёт к расщеплению знаний. Т.е. грубо говоря, у тебя появляются практически изолированные семантические подграфы, в значительной мере усечённо дублирующие уже имеющиеся структуры.
Аноним 01/04/25 Втр 09:45:36 3420666 355
>>3420523
Для чтения книг нет необходимости погружаться в т.н. языковую среду, перевод на русик может быть а) некорректным; б) содержать отсебятину. Из предисловия к одному переводному изданию:
"Таким образом, отредактированный русский
перевод в его окончательном виде – это скорее переизложение начального материала, обеспечивающее его читабельность для русскоязычной аудитории; фактически это книга, написанная заново." Кстати в России практически невозможно достать технические книги не на русском, т.е. это означает, что какую-то очень хорошую книгу ты вообще не сможешь купить в бумажном виде. Зачем так делать? Это типо как украинцы запрещают людям на русском разговаривать?
Аноним 01/04/25 Втр 13:55:57 3420805 356
>>3420666
> Кстати в России практически невозможно достать технические книги не на русском
Спроса нет.
Аноним 06/04/25 Вск 12:12:54 3424204 357
>>3395390
>Но, как выяснилось, для elisp такого учебника нет

На самом деле учебник для начинающих все-таки есть: Robert J. Chassell "An Introduction To Programming In Emacs Lisp" (2009).
Аноним 06/04/25 Вск 14:35:48 3424291 358
>>3420805
>спроса нет
Проиграл.
Аноним 06/04/25 Вск 17:29:39 3424420 359
>>3420666
>Зачем так делать?
Цена ввоза и распространения приводит к тому, что такие книги будут стоит по 10к рублей, и покупать их будут единицы.
Аноним 06/04/25 Вск 17:31:21 3424423 360
>>3420523
>ты не умственный геракл, чтобы читать и параллельно переводить материал, в котором ты только пытаешься разобраться.
Потому что при чтении не надо переводить, надо понимать. А для этого не нужен перевод.
Аноним 07/04/25 Пнд 02:00:12 3424729 361
>>3424423
>Потому что при чтении не надо переводить, надо понимать.
Ты не дочитал, про это вторая половина поста.
>Затем, что восприятие через твою разреженную и сильно усечённую семантическую сеть неносителя языка, да ещё и не погруженного в языковую среду, не только огрублено и значительно постеризовано, но и ведёт к расщеплению знаний. Т.е. грубо говоря, у тебя появляются практически изолированные семантические подграфы, в значительной мере усечённо дублирующие уже имеющиеся структуры.

Ну и сразу говорю, что не стоит переоценивать свои навыки. Между "читаю маны и уже джва года смотрю сериалки в оригинале" и "владею языком уже почти на уровне британского неда non-educated delinquent" -- огромная пропасть. Без погружения в языковую среду такого, казалось бы, базового уровня практически не достичь.
Аноним 07/04/25 Пнд 09:21:27 3424788 362
>>3424729
Я, например, читаю книги, пишу заметки себе, пишу на форумах и т.д. Всё на английском. Среда нужна для понимания культуры в первую очередь. Но именно к языку и пониманию написанного без перевода это имеет косвенное отношение. Всякие IELTS, TOEFL и CPE можно сдать без "погружения в среду", если ты под этим понимаешь "жить среди носителей".
Поэтому не думаю, что лично я переоцениваю свои навыки. Да, у меня есть пробелы в словарном запасе академического уровня, мало опыта в говорении. Но это не мешает мне читать книги на английском и не заниматься при этом их переводом в голове, а сразу поглощать информацию.
Аноним 07/04/25 Пнд 15:47:31 3425298 363
>>3424788
Поддерживаю. Скилл чтения очень прокачался, а вот говорить и слагать предложения грамотно не умею сам.
Аноним 07/04/25 Пнд 15:49:57 3425301 364
>>3424423
>>10к
Они на амазоне примерно столько же стоят, до гойды у людей была возможность их заказывать.
>>3424729
>Без погружения в языковую среду такого, казалось бы, базового уровня практически не достичь.
Говно без задач, если читаешь технические книги, тут скорее нужно погружение в предметную область.
Аноним 07/04/25 Пнд 16:17:36 3425327 365
>>3425298
>слагать предложения грамотно не умею сам
Я просто начал заметки вести на английском. Сначала будет косноязычно, но со временем будет лучше и лучше, особенно если будешь перечитывать написанное собой через какое-то время. Тут главное, чтобы тебе самому было интересно о чём-то писать. И обязательно своими словами, без исключений.
Аноним 21/04/25 Пнд 13:58:21 3436609 366
>>3142890 (OP)
А есть смысл его учить? Разве идеи из него в другие языки не понатыкали?
Аноним 21/04/25 Пнд 22:52:15 3437065 367
>>3436609
А почему бы и не изучить, тем более раз другие языки "понатыкали" у него разных концепций? Чем больше знаком с первоисточником, тем более понимаешь наследников
Аноним 25/04/25 Птн 21:05:01 3440131 368
>>3420523
>Затем, что восприятие через твою разреженную и сильно усечённую семантическую сеть неносителя языка, да ещё и не погруженного в языковую среду, не только огрублено и значительно постеризовано, но и ведёт к расщеплению знаний. Т.е. грубо говоря, у тебя появляются практически изолированные семантические подграфы, в значительной мере усечённо дублирующие уже имеющиеся структуры.
Что за говно ты высрал? Я иногда думаю на английском. Когда у меня в голове есть концепция, но я помню её название на ангельском, а на орочьем надо вспомнить ещё - это типа "расщепление"?

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

Ты впариваешь мне реальную дичь сейчас, паря. Ответом тебе будет эталонный "За слова отвечаешь?". За ответ "отвечаю" без цитирования источников твоих охуенных знаний - ебут в жопу, это сразу говорю.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов