Этого треда уже нет.
Это копия, сохраненная 17 мая 2021 года.

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

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

{Основные диалекты}
:: Common Lisp - разрабатывался как промышленный язык, пригодный для широкого спектра применения, из-за чего имеет достаточно объемную спецификацию. Является мультипарадигменным (процедурщина, функциональщина, ооп (CLOS)), с сильной, динамической типизацией. Есть опциональная декларация типов и, в некоторых реализациях (sbcl, например), частичный их вывод.
Описание особенностей: http://habrahabr.ru/post/143490
Основные реализации:
- свободные: SBCL (нативный код), Clozure CL (нативный код), ECL (через сишку), Clisp (байт-код; небольшой размер образа; похоже, заброшен), Clasp (LLVM; ориентирован на интероп с C++), ABCL (байт-код JVM), gcl, cmucl
- коммерческие: LispWorks, Allegro CL, Scieneer CL, mocl (для программирования под ведро и ios)
:: Scheme - это минималистичный лисп, пригодный в основном для обучения, исследований. Наиболее практичными реализациями являются GNU Guile (https://www.gnu.org/software/guile/) и Chicken Scheme (http://call-cc.org/).
:: Racket - развитие PLT Scheme. Racket включает в себя много подъязыков (typed racket, lazy racket, frtime racket, Scheme стандартов r5rs и r6rs).
:: Clojure - cм. соседний тред.

{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://github.com/CodyReichert/awesome-cl
- http://quickdocs.org/

::: Среда разработки
- Portacle :: https://portacle.github.io/
- Остальные :: https://lispcookbook.github.io/cl-cookbook/editor-support.html

Предыдущий тред покоится на дне тут: https://2ch.hk/pr/arch/2017-09-01/res/1003393.html (М)
2 1591540
Скобочкобляди.
3 1591550
Тред лучшего языка объявляю открытым
1574296739194.png344 Кб, 640x815
4 1591559
Запощу комикс, пока никто не пишет
1448578537357.png273 Кб, 640x815
5 1591561
1425154196745.png399 Кб, 640x815
6 1591562
1461544939925.png307 Кб, 640x815
7 1591564
1547245914229.png367 Кб, 640x815
8 1591565
1445901101955.png354 Кб, 640x815
9 1591566
1499842473643.png390 Кб, 640x815
10 1591568
1456419423287.png242 Кб, 640x815
11 1591569
1484143538896.png340 Кб, 640x815
12 1591571
1564481277781.png300 Кб, 640x815
13 1591572
1453378723423.png274 Кб, 640x815
14 1591574
1465416949389.png288 Кб, 640x815
15 1591575
1450032822943.png343 Кб, 640x815
16 1591578
1489367138565.png258 Кб, 640x816
17 1591579
1475809213705.png276 Кб, 640x815
18 1591581
1539315765516.png303 Кб, 640x815
19 1591582
1440774678892.png242 Кб, 640x815
20 1591583
1568113744436.png238 Кб, 640x815
21 1591585
1564489139601.png287 Кб, 640x815
22 1591587
1564047461952.png250 Кб, 640x815
23 1591588
1431821952379.png294 Кб, 640x815
24 1591589
1474763324781.png295 Кб, 640x820
25 1591590
26 1591591
Тхе енд.
27 1591608
>>591590
>>591591
Прослезился.
15805254184190.jpg27 Кб, 891x597
sage 28 1591677
Старался вкатиться в коммон лисп, но не осилил импорты и стд. Старался вкатиться в рэкет, но на середине книги про прекрасную ракетку забил. Хотя думал это хорошая идея делать длц под свою задачу. Сейчас думаю запилить какую нибудь десктоп приложуху на кложаскрипте и электроне. Но скорее всего тоже забью. В итоге потратил дохуя времени, и все в пустую. Даже с емаксом поебаться успел, и свой конфиг запилил. Хз, зачем это написал, просто хотел бампнуть тред.
29 1591687
>>591677
А че тебя на лиспе так понесло, если

>забил


Бери какой-нибудь кхм кхм Питон++ и хуярь
30 1591693
>>591677
Есть поговорка "Труд не уходит в песок"
Вкатывайся во все подряд, забивай, опять вкатывайся. Перманентно все в голове не удержишь, но наверстать заново то, что когда-то проходил будет легко.
31 1591702
>>591687

>А че тебя на лиспе так понесло, если


Я думал лиспы сделают меня умным. Но инструмент не может сделать тебя умным. Он может лишь облегчить твою работу. Теперь я это вижу.

>Бери какой-нибудь кхм кхм Питон++ и хуярь


Плюсы это же совсем про другое. Я думал попробовать байтослесарьство, но плюсы выглядят огромными. Мне страшно туда лезть.

>>591693

>Есть поговорка "Труд не уходит в песок"


Но ведь я уже потратил время, которое не принесло пользы.

> но наверстать заново то, что когда-то проходил будет легко.


Только если я захочу вернуться обратно. Но я пока не могу найти серьезной причины тратить время время на лиспы. Работы нету, даже на кложе. Про остальные лиспы вообще молчу.
32 1591710
10й тред ? Я даже и предыдущих не видел. Как вы там? Есть ли вообще хоть какие-то люди, которые лисп в проде используют? Ни один диалект по-моему ни стандартной библиотекой, ни комьюнити не оброс. Вы уже всё , на том свете ?
33 1591715
>>591710
Лисп проиграл мейнстрим языкам и платформам, но это не означает, что его нельзя использовать в каких-то своих проектах.
34 1591717
>>591715
И эти свои проекты не пользуются никакой популярностью на гитхабе.
35 1591724
>>591717
Потому что лисп не пользуется популярностью. И что это такое - популярность на гитхабе? Сама по себе она не стоит ничего. Что ты имеешь в виду?
36 1591726
>>591710
Если ты про коммон лисп, то скорее нет, чем да. Кложа активно используется очень многими компаниями, схема активно используется в академической среде и во всяких исследовательских проектах по проектированию языков.

https://github.com/lexi-lambda/hackett
37 1591738
>>591726

>github


В чем смысл это проекта? Потролить хаскелистов? Я думал, жизнь их достаточно потрепала.
38 1591748
>>591738
Их не жалко, трепать можно досмерти
39 1591869
>>591748
Тебе и жсеров не жалко, пчел.
40 1592131
>>591677
Ставь IntelliJ IDEA. Поверх накатывай Cursive плагин. Бери книжку по Clojure и начинай писать код. Сложно себе представить более прагматичного лиспа чем Clojure.
41 1592148
>>591677
Импорт в CL да, странноват, но нужно понимать, что это вещь, сделанная в конце восьмидесятых, и ничего подобного в других языках не было вплоть до середины двухтысячных. Там просто достаточно запомнить странные называния ("пакет" - это то, что в других языках "модуль", а "система" - это то, что в других языках "пакет"), внимательно прочитать ридми к QuickLisp и всё встанет на свои места. Я когда PCL читал, тоже на всех этих пакетах запнулся, да так, что аж на несколько месяцев отложил, но потом вернулся, осилил, и теперь охуеваю оттого, насколько же коммон лисп прекрасен (хотя местами и уродлив).
Ракетка хорошая, но тормозная и на мой вкус слишком перегружена фичами.
Кложу не трогал, ничего про неё сказать не могу.
Мой тебе совет - вернись к CL, базарю, ещё захочешь.
42 1592160
>>592148

>Ракетка хорошая, но тормозная


Эт неправда. Ракет довольно быстрая схема, кроме того, есть typed/racket когда нужно максимум скорости.
Серьездно, я бы забил на любые другие языки навсегда если бы типизированный ракет допили ли бы.

>и на мой вкус слишком перегружена фичами


Стандартная библиотека(если это так можно назвать) в нем - бардак.
43 1592161
>>592160

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


А что еще не допилено для постижения сатори?
44 1592162
>>591710
Ага 10й, последний тред утонул джва года назад (ДЖВА, КАРЛ!)
45 1592165
>>592160

>Эт неправда. Ракет довольно быстрая схема, кроме того, есть typed/racket когда нужно максимум скорости.



Сосёт у стального банка и оба сосут у жабоскрипт v8, все вместе дружно сосут у .net
46 1592166
Палю годноту:

https://github.com/BradWBeer/clinch
47 1592178
>>592161

>А что еще не допилено для постижения сатори?


Ну он как минимум житель второго класса. Часть стандартной библиотеки так на тайпед ине переведена. Плюс баги всякие, например полгода не работал дебаг.

>>592162

>Ага 10й, последний тред утонул джва года назад (ДЖВА, КАРЛ!)


На борде остались одни тралли шкальники и фсбешники.
В РФ собираются новый закон принять об административной ответственности за РЕПОСТ ИЗ НЕЗАРЕГИСТРИРОВАННЫХ СМИ.

Кинеш ссылочку на реддит например, плати штраф, и на карандашик тебя.
48 1592181
>>592166

>годноту:


>Latest commit 421de1e on 6 Apr 2017

49 1592196
>>592181

Ну мы же тут не javascript тред, так ведь?
50 1592254
>>592196
Двачую. Это же тред контрамотов, тут чем позже был последний коммит - тем лучше.
51 1592287
>>592196
Такие большие проекты как граф движок почти что нельзя довести до точки, всегда будут какие-то проблемы, или улучшения, тем более что тот-же опен жл развивается.

Скорее всего просто никто не пользуются этим.
52 1592928
>>591537 (OP)
Ору со школьников-неосиляторов, которые думают, что лисп - это хороший инструмент для каких-то задач. Нет, пора уже признать, что лисп - это лучший язык для любых задач, кроме, разве что, низкоуровневых вещей, для которых есть сишка и асма
53 1592935
>>592928
Никитонский уже давным давно размотал твой лисп на примере "невероятного" Кложэ, который всосал Расту на раз-два по производительности.
54 1592944
>>592165

> .net


Который, в свою очередь, делает минет с проглотом у чистого C.
55 1592946
>>592944

Жаль только С пропускает эти сеансы минета из-за того что по пути стреляет в ногу сегфолтом и потом отлеживается в больничке.
56 1592947
>>591537 (OP)
Я для автокада плагины писал на лисп.
1481565444007.png335 Кб, 706x408
57 1593164
>>592947
Язык не поворачивается назвать это лиспом
sage 58 1593391
>>592928

>лисп - это лучший язык для любых задач


Пруфы будут?
59 1593404
>>593391
В шапке
60 1593406
>>593164
А че так?
61 1593412
>>593404
Где?
62 1593413
>>593404

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

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

https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp
63 1593417
>>593413

Так что лисп - это БЫЛ такой вспомогательный язык для запила временных велосипедов, который уже стал эту роль петону и стал ископаемым говном мамонта.
64 1593441
>>593413
Сейчас не 80-е и парсить васяноформаты не нужно
65 1593443
>>593413

>However, they have since resumed using it for scripting on some PlayStation 3 games, including The Last of Us.[3]


2013 год. Лисп используют для скриптинга ААА игры продукта, не хотел?
66 1593445
>>593406
Императивщина
67 1593446
>>593445
(let (pi/4 (/ pi 4)) ...
...
68 1595775
C или Common Lisp? Что изучать, как первый ЯП?
69 1595844
>>595775
Начни с ассемблера если еще не знаком. Хоть вводный курс.
Дальше Паскаль, или Аду.
Учи аду, программируй самолёты, профит.
1524363753195.png41 Кб, 1200x721
70 1596968
Нарисовал новый флаг для лисперов, как вам?
71 1597106
>>595844

бля, нахуй в живого человека сразу ассемблер засовывать? ты поехавший? мож, блядь, писсать хеллоуворлд, или алгоритм Евклида, держа в голове, как процессор достаёт кэшлайны из памяти, интепретируя виртуальное адресное пространство, и засовывая инструкции в конвейер АЛУ? или, блядь, лчше сначала нормально замести под ковёр сложности, понять, что такое циклы там, переменныйе, операторы присваивания, масивы?
sage 72 1598370
Кложатред мертв, спрошу здесь. В чем преимущество кложи перед тем же жсом? Особенно если в жсе использовать какаую нибудь рамду?
73 1598374
>>598370
На кложе красиво и быстро строить абстракции, как и на любом лиспе, а js говно по определению
74 1608070
бамп
75 1608083
>>598374
Почему бизнес тогда не юзает кложу массово?
76 1608098
>>608083
Знаешь, есть такой производитель электроинструмента и промышленного оборудования Hilti. Очень крутая продукция у них. Удобная, надежная, дают пожизненную гарантию. В общем элитное оборудование. Почему бизнес в РФ массово не юзает их оборудование? Потому что дорого, потому что невыгодно, нет смысла. Спецов хороших мало, а васяну дай такую игрушку, он может ее и сломать. Владельцам бизнеса в большинстве же похуй на каком оборудовании работают люди. Им важен результат. Результата можно добиться и с худшим оборудованием. Ну да, оно будет чаще ломаться, оно не позволяет так быстро и удобно работать. Но оно решает задачу в общем. Тоже самое и с Лиспами.

Не каждый понимает их ценность. Не каждый умеет их использовать. Не каждый бизнес готов их юзать. Тот кто ценит свой труд, кто знает ценность и умеет использовать сильные стороны Лиспа, тот юзает их. Есть правило, которое сейчас очень хорошо работает, все что массовое == говно. И даже мнения людей. Чем больше людей имеют какое-то общее мнение, тем выше вероятность, что это их мнение дикий треш. Массовое поклонение псевдо-ООП - треш. Массовые языки - почти все говно. Принятые подходы к программированию в индустрии - почти все хуета, не имеющая ничего общего с инженерным мастерством. И наоборот. Все незаметное, все не распиаренное, все редкое - обычно качественное, верное, правильное.
77 1608134
>>608098
Дай угадаю, судя по твоему максимализму, ты не старше 14 лет?
78 1608139
>>608134
Ты слово Лисп в каком возрасте впервые услышал?
79 1608145
>>608134

>Дай угадаю, судя по твоему максимализму, ты не старше 14 лет?


Есть что возразить по теме поста? Если нет, то досвидания. Не собираюсь с тобой обсуждать свою личность. Может твою обсудим?
80 1608772
>>608145

>Может твою обсудим?


Давай. Я в универе на первом курсе был таким же как ты, слушал музыку, от которой у посторонних уши сворачивались в трубочку, люто-бешено ненавидел всё, что не компилируется в нативный код и зачитывал одногруппникам вслух копипасты про то, что жаваблядь не человек. Теперь, после десятка лет работы за деньги, я растерял весь максимализм и стал прагматиком, на чём быстрее всего сделать хуяк-хуяк-продакшен, на том и пишу на питонах в основном, на коммон лиспе для души лабаю.
sage 81 1618209
Смысл вкатываться в тот же борщ, когда он пиздец какой огромный, а выхлоп меньше или на уровне мейнстрим языков?
82 1618617
>>618209

> пиздец какой огромный


Это не так. Да, документ со стандартом чуть меньше, чем документ со стандартом C++, но в CL минимум базовых принципов - s-expr'ы, макросы, вот, считай и всё по большому счёту.

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


Это не так. Мейнстрим-языки так до сих пор толком и не смогли спиздить из CL символьный тип данных, гомоиконность и макросы.
83 1618863
>>618617

>но в CL минимум базовых принципов - s-expr'ы, макросы


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

>Мейнстрим-языки так до сих пор толком и не смогли спиздить из CL символьный тип данных, гомоиконность и макросы.


И вряд ли смогут, потому что дизайн языков другой
84 1619650
>>618863

> Но та же стд либа просто огромная.


Кришна с тобой, в CL стдлиба чуть продвинутее, чем в чистой сишке. Чуть нужно что посложнее - приходится тащить третьесторонние либы.

> Клос огромный.


Чего в нём огромного? defclass и defmethod? Серьёзно, клос - это самый изящный ООП, который я когда-либо видел, а я только за деньги писал на полудюжине языков, а посчитать те, что для души - так и дюжина наберётся.

> Захочешь оптимизировать и задеплоить свое поделие


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

> Когда в других языках порог входа на порядок меньше


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

> И вряд ли смогут, потому что дизайн языков другой


Amen to that. В руби вроде были какие-то потуги, но вроде бы всё равно не дотягивает до CL.
85 1619915
>>618863

>Мейнстрим-языки так до сих пор толком и не смогли спиздить из CL символьный тип данных, гомоиконность и макросы.


Очевидная кложа очевидна.

Алсо макросы в принципе есть во всех вменяемых новых языках (раст...) - они конечно поубищнее в разы, но в принципе задачу свою кое-как решают.
86 1620916
>>618863
Потому что для того, что бы писать промышленный софт всех это нахуй не нужно, вот лисп и сдох
87 1620921
>>618863

>Захочешь оптимизировать и задеплоить свое поделие -



У тебя есть возможность прямо в рантайме лично поковыряться ручками в JIT компиляторе и добавить все необходимые AVX-инструкции и правила их использования.

https://github.com/sbcl/sbcl/blob/master/src/compiler/x86-64/insts.lisp
88 1620925
>>620916

Да нет, просто сытые кекогерцы и гигабайты оперативы тогда еще не изобрели, движение на сервер тогда еще не было - было наоборот - с сервера, который мейнфрейм на персоналки.
89 1624955
>>619915

> кложа


> мейнстрим


Только в наших влажных мечтах, мой друг.
90 1626488
>>624955
Ну интерпрайс же, ну.
91 1626492
>>626488
А что он? Тырпрайз - это жаба. Кложа-то тут при чём?
92 1626632
>>626492
Java твоя в 2010 умерла, все на лисп переходят, в том числе и тырпрайз. Я еще помню как на днях был на конференции (работаю в крупной компании over3000 сотрудников), решаем вопрос об архитектуре системы. Мои коллеги че-то пиздели про хайлоад и плюсы, но у меня уже было пару козырей в рукаве. Так что я встал и говорю - все хуйня, ребят, в 2к20 все четкие пацаны на лиспе хуярят, так что давайте выбросим весь тот зашквар, на котором сейчас пыхтит продакшн. Смело заявления, но оно сработало. Пол бюджета тупо вылили на переписывание инфраструктуры на всякие лиспы, каждый прогер выбирал свой любимый диалект и на нём писал, даже босс подключился и сказал "Бля какой хуйней мы занимались, вот где живет дух старой школы, пацаны".
93 1627160
>>626492

>Кложа-то тут при чём?


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

>>626632
Это паста? Не?
94 1627449
>>626492
На кложатв полно выступлений от хуйов с реальными проектами
В основном это хайлоад тырпрайз ориентированный на дата процессинг
Как пример swarmify и amperity
Самое смешное, что практически все из них начинались как стартапы и брали рандомных хуев (хоть в основном и связанных с жабой) и студентов без опыта лиспа вообще
Путь проекты и не разрослись до мегакорпораций, но свою нишу занимают и до сих пор на плаву по 5+ лет
c-cl-clj-cljs.jpg83 Кб, 500x701
95 1628665
Кложа - это еще хуйня.

А вот КЛОЖАСКРИПТ...
96 1628680
>>628665
Жаба скрипта на столько отвратительна, что это грустный мем. Я хз сколько раз пытслася в жс, но через пару часов из за блевоты уже монитра не видно. Так что клжс вполне себе выход.
97 1629579
>>628680
Ну такое, все равно придется с головой погружаться в говно жсную инфраструктуру. Но хотя бы с языком меньше хуйни, тут да.
98 1635556
>>591537 (OP)
Начал читать beautiful racker, понравилась идея придумывать свои языки и дсл. И делать это удобно, потому что есть либы. Как с этим обстоят дела в борще?
image.png820 Кб, 640x500
99 1635596
Борщ или Щи?
А мне харчо больше нравится.
100 1636141
>>635556

>Как с этим обстоят дела в борще?


В хаскеле что ли?

Фишка именно рэкета как раз в том, что это по сути фреймворк для написания своих языков. Но с дслами и в кл все ок, можно даже синтаксис свой через ридер-макры захуяривать (но ненужно). Алсо в схеме (и ракете) макросы гигиенические, в кл - нет, можно в них делать все что угодно.
101 1636184
>>608772

>Теперь, после десятка лет работы за деньги


Грустно за тебя стало, держись братик
102 1636200
>>636141

>В хаскеле что ли?


В общелиспе же.

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


Есть ли такой же фреймворк в кле? Похоже что нет

Хочу написать парочку языков под свои задачи, как это в книге beautiful racket расписывали и подумал, а можно ли сразу в кле такое проделать. Про дсл в курсе но имхо для этого потребуется много усилий, а в рекете похоже это делается очень легко.
103 1636204
>>636200

>Есть ли такой же фреймворк в кле?


Какой? Что именно тебе нужно?

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


Да, можно.
104 1636246
>>608772
Ты мог бы вкатиться в разработку драйверов, но тебя сломали деньги.
105 1636286
>>636204
Забудь, просто возьму ракетку и буду на ней писать, к черту кл. Когда-нибудь, я, возможно, вернусь к нему.
106 1636329
>>608772

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


Теперь это тред такой музыки

https://youtu.be/o6xXfYK8-c0
107 1636366
108 1636428
>>636286
Возвращайся к кложе после ракетки. Ну или к эликсиру на худой конец.
2ace910860526258598a1feca1454f36.jpg15 Кб, 400x400
109 1636815
110 1636817
>>636246
Мог бы, но какая принципиальная разница между формошлёпством крудов за деньги, которым я сейчас занимаюсь, и разработкой драйверов за деньги? Я и сейчас, когда на CL пишу, с интересом заныриваю в выхлоп (disassemble) и оптимизирую потом запах такой, что аж обои от стен отклеиваются

>>636286

>Когда-нибудь, я, возможно, вернусь к нему.


Ага, как только тебе понадобится хоть какое-нибудь быстродействие. Серьёзно, ракетка хорошая, но тормозная очень.
111 1637104
>>636817
Но есть же всякие чикены и chez, они живые?
112 1637333
>>636817

> ракетка хорошая, но тормозная очень.


Быстрее питонов, руби, пхп. Медленнее ноды. Среди скриптовых не худший вариант. Кл в другой категории все таки.
113 1637503
>>637333
Да.

> Медленнее ноды.


Ты бенчмаркал или так, мнение с дивана?

>>637104
Они живые, а gambit/gerbil - самый быстрый из них, но даже он в код втыкает проверки типов в рантайме на каждый чих. В CL-то есть возможность gradual typing.
114 1637544
В чем преимущества CL перед C++?
115 1637617
1
116 1637686
>>637544
Не хочется выковырять глаза ложкой, глядя на нетривиальный код.
117 1643802
Лисперы, как сделать хаскеллевский паттернметчинг в лиспе?
Вот факториал на хаскелле:
factorial 1 = 1
factorial n = n × (factorial (n × 2))

Как подобною монотонность реализовать на лиспах? Мне эта хуйня позарез нужна.
118 1643810
>>643802

>factorial 1 = 1


>factorial n = n × (factorial (n × 2))


А что на хаскеле означает х 2?
119 1643815
>>643810
× я поставил завместо астерикса, чтобы вакабамарк не ломал код. Умножение типа.
2020-03-27-131233560x643scrot.png19 Кб, 560x643
120 1643865
>>643802
Ну типа так
2020-03-27-131326743x447scrot.png19 Кб, 743x447
121 1643866
>>643865
Оно, кстати, даже оптимизируется заебато (уж не знаю, как там с этим в этих ваших хаскелях)
2020-03-27-131454602x433scrot.png16 Кб, 602x433
122 1643871
>>643866
Тьфу блэт не то отскринил
123 1643882
>>643865
Не то. Мне нужно монотонно распределить одну функцию на несколько тел, а не делать все в одном теле. Как в хаскелле или прологе. Другой пример, чтобы понятно было.
Допустим есть функция transform:
(define (transform 'foo) 'bar)
(define (transform 'bar) 'foo)

Вызываем: (transform 'foo)
Ожидаем в консоли: 'bar

Код выше почему-то выдает ошибку.
124 1643886
>>643815
Тогда этот код уйдет в бесконечность при аргументе больше 1.
125 1643888
>>643802
>>643886
Я обосрался с факторалом, но вопрос не в нём.
126 1643896
>>643882
Такой способ мне неивестен, в CL у функции всегда ровно одно тело. Конечно, всегда есть возможность изобразить макрос, который будет вместо defun и который будет матчить аргументы и вызывать нужную суб-функцию, но это уже из разряда троллейбуса из буханки хлеба.
А, хотя стой, можно же что-то такое изобразить на дженериках. Не уходи никуда, сейчас напишу.
где avx покажи ткни.mp47,1 Мб, mp4,
1280x720, 0:51
127 1643899
>>643871

> Оно, кстати, даже оптимизируется заебато (уж не знаю, как там с этим в этих ваших хаскелях)



ГДЕ AVX ИНСТРУКЦИИ ПОКАЖИ ТКНИ
2020-03-27-134130560x312scrot.png12 Кб, 560x312
128 1643900
129 1643901
>>643899
В пизде у мамки твоей
image.png143 Кб, 821x405
130 1644168
>>643899

>ГДЕ AVX ИНСТРУКЦИИ ПОКАЖИ ТКНИ


Вот
131 1644314
>>643802

>factorial 1 = 1


>factorial n = n × (factorial (n × 2))


На каждый паттерн создаются новые переменные
Уже пару лет как в компилятор добавили депрекейтет варнинги по этому поводу
132 1651342
Как в лиспе залистить все существующее переменные и определения?
133 1654020
>>651342
Три наносекунды в гугле: https://stackoverflow.com/questions/1511981
134 1655828
>>654020
БЛЯТЬ СПАСИБО Я ВТОРУЮ НЕДЕЛЮ НЕ МОГ НАЙТИ
135 1657697
Собираюсь написать новый диалект, какие фичи хотите видеть?
136 1663986
Бамп
137 1666987
Можно ли вкатываться в программирование через Emacs lisp?
138 1667130
>>666987
Конечно, а пчему нет
139 1667229
>>667130
Просто как-то странно наверное вкатываться в программирование с программирования операционной системы...
140 1667365
>>667130
Нуладно потом наверное в кложу вкачусь :/
А как в елисп вкатиться?
141 1667367
>>591537 (OP)

> :: Clojure - cм. соседний тред.


Акакето
142 1668399
>>667365
А куй его знает, я не вкатывался
143 1673602
Как же меня бесит этот хуевый мир, где нужная инфа не лежит на поверхности, пидоры, мать вашу! Все ваши ебучие принципы форматирования умалчивают, как быть, когда ПЕРВЫЙ БЛЯДЬ член в скобках тоже имеет ОХУЕЛИ ДА БЫВАЕТ ЖЕ ТАКОЕ свой размер??? Есть это лямбда какая-то, например. Что делать, сука??? let не предлагать, не всегда подходит.
image.png515 Кб, 458x723
144 1673618
>>673602
Ладно, похуй, все в этом мире относительно, и все человекочитаемые принципы условны. У всего есть мера и предел. Без дефайнов не обойтись. Будьте честны сами с собой и живите в гармонии. Пис.
145 1673832
>>673602
>>673618
Таблетки выпил?
146 1673850
>>673832
Просто жизнь слишком коротка, чтобы бомбить, анон. Я это внезапно осознал. И тебе того же желаю, если еще не... на что я надеюсь
147 1674190
>>673850
Этот факт мне уже давно понятен, просто твой первоначальный бомбёж выглядит как нечитаемая шиза
148 1679093
149 1679101
Программач, хочу написать статически-типизированную схему без сборки мусора с крутыми регекспами и макросами (которые выйдут из разряда "Bad coding practice") безопасность которой будет частично/полностью математически подтверждена, че думаете?
150 1679102
>>679101
алсо потом на этом думаю ОСь написать, но это уже будущее хуй знает как the world will turn.
151 1679105
>>667365
1. Прочитать ман имакса / банально научиться самым базовым функциям, понятиям по типу point & mark, buffer, modeline, etc.

2. Прочитать An Introduction To Emacs Lisp (Можно прям из имакса, M-x info и там ищеш)

3. Практика

4. Прочитать наконец полный ман по елиспу

5. Практика.

Я вас поздравляю....
152 1679149
Нахуя нужен лисп кроме как для того чтобы эмакс дрочить?
153 1679152
>>679149
Эмакс как раз одно из самых ущербных лиспонедоразумений
154 1679611
>>679101
Заебись, пиши. Всё равно stalin Сискинда по быстродействию хуй ты переплюнешь.
155 1679612
>>679105
Я бы ещё Mastering Emacs посоветовал.
156 1680294
>>679152
Значит лисп вообще нахуй не нужен?
sage 157 1680295
>>680294
Кложа считается за лисп? Если да, то за бугром сейчас прям выше рынка вакансии.
image.png47 Кб, 512x390
158 1681402
>>680295
Пруфы, давно хотел найти работу
159 1681658
>>595844
чел, с паскаля надо начинать, а уже потом переходить на асм, т.к. новичка кидать в асм это маразм а в паскале есть норм указатели. После асма С а потом можно и по лишпам пройтись.
160 1681674
>>681658

>новичка кидать в асм это маразм


А как диды компьютер изобретали, ты дурак? Они ж тогда и алгоритмов не знали, и паттернов-хуятернов, но как-то же писали на своих EDSAC и не жаловались
sage 161 1682737
>>591537 (OP)
подзалупный творожок
162 1682829
>>681674

> А как диды компьютер изобретали



долго
163 1684956
>>679102
Ну как дела? I'm very excited
164 1697916
165 1698656
>>591677
Я вкатился в ракет побольше твоего. Можешь задавать ответы.
Идея длц интересная но я этим ещё ни разу не пользовался. Написал пару утилит для себя.
166 1698657
>>608098
Двачую. Постмодерн как он есть.
167 1698659
>>643882
В ракете есть case lambda
168 1698662
>>679101
Заебись.
Посмотри на typed/racket и гигиенические макросы.
169 1699356
>>698659

>case lambda


Оно же только по числу аргументов, а не по типам
15874295628380.jpg75 Кб, 750x488
170 1699615
>>699356
Точно чет я протупил.

>>643882

>Не то.


Почему?

>Мне нужно монотонно распределить одну функцию на несколько тел, а не делать все в одном теле.


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

В ракетке есть (define/match как бы)
Если тебе именно нужно несколько дефайнов, то ты можешь свой собственный define сделать. Который соберет несколько определений в define/match

Я думаю это просто. Может кто-то и написал уже.
171 1699911
Как долго Вы привыкали к синтаксису? Я после C вообще никак не могу приспособиться.
172 1699968
>>699911
Моментально вообще.
В лиспе синтаксиса то и нету как такового.
Скобочку открыл, имя функции, параметры, скобочку закрыл.
173 1710644
bump
174 1710654
>>699968
Ну, ты неправ. Нотация-то другая.
Как быстро ты привыкнешь читать на русском, если все предложения будут строиться задом наперед, например.

быстро. что, думаю Не
175 1710667
>>710654
Привыкнуть писать и могу.
Говоришь что-то такое ты.
Выучил раза с первого лисп был ребёнком я когда.

На 1вом вроде курсе нам лисп дали, вообще без проблем зашло, там ещё примеры были прикольные.
Нотация хуяция.

Вот с прологом было посложнее немного. Но тоже ничего военного.
А за неделю к чему угодно можно привыкнуть.

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

А лисп как раз естественный путь вычислений показывает.
Ты буквально алгоритм на нем прямо записываешь.
176 1710670
>>710667

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


Мы не мыслим алгоритмами, поэтому писать ast неудобно. И популярность лиспа и это доказывает, с этим странно спорить.

При решении арифметической задачи ты не рассуждаешь, как - надо разделить сумму четыреъ и семи на два. Ты скорее думаешь как, к четверке прибавить семерку и разделить на два.

Я очень рад, что ты весь такой способный, молодой и шутливый и все тебе легко. Но на деле, если ты будешь объективен, то людям ни логическое, ни каноническое функциональное, ни аст-подобное - не удобно. К нему именно что надо привыкать. А к императивному привыкать не надо. Оно естественно.
177 1710682
>>710670
Ого, вот это тебя разнесло. Какбудто ты на лисп обиженный чем-то. Лисп очень много где успешно применяют.
И твоя способность читать мои мысли поражает конечно.

1. Человек может менять способ мышления как угодно. Поэтому он и человек. Смотреть уровни обучения по Бейтсону.

2. Способ записи арифметики из 3тего класса младшей школы не есть истинна. Система школьного образования была созданна для превращения сельских дебилов в боеспособную военную единицу.
178 1710729
>>710682

>алгебраическая нотация


>Способ записи арифметики из 3тего класса


>моментально транслирую формулу на лисп, тому що в голове у меня СТЕК

179 1710730
>>710729
Или тролль тупостью в другое место.
180 1710771
>>710682

>как угодно


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

Вот, погляди, множество лисп программистов даже после нескольких лет дрочки языка вполнеисогласны с тем, что в человеческой нормальной нотации код легче читать
https://readable.sourceforge.io/
181 1710809
>>710771
Ни разу не видел, чтобы кто-то из лисперов всерьез использовал такие штуки.
182 1710810
>>710771
Бтв писал в вузике интерпретатор лиспа с такой нотацией как язык запросов к табличкам.
183 1710919
>>710771

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


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

>Не подтверждёно


Очень толсто.

То есть, как я понял, даже за весь срач не сподобился высрать чего-то более умного, чем просто виляние жопой, так что иди нахуй.
186 1711098
>>710952
Я мимо проходил, деб

>Очень толсто.


Очень толсто утверждать обратное. Неси доказуху, посмотрим.
187 1711111
>>710771
Иди будь отсталым в другом месте.
В жава тред например.
188 1711127
>>711111
хуя, пентипл правды
189 1712712
>>710670

>А к императивному привыкать не надо. Оно естественно.


Какой пиздец. Не, ну если ты ебаный робот, то возможно.

Меня наоборот от императищины коробит, настолько она неестественной для человека кажется. Я когда первый раз на уроке информатики в школе увидел i = i + 1 - просто охуел от этого бреда. Мне кажется это нормальная реакция, и нужно реально пройти через несколько лет отупления посредством программирования на энергичной мутабельной процедурной параше с аппликативным порядком вычисления, чтобы деградировать до уровня "императивного мышления", если такое конечно вообще возможно. Может быть программирование на иммутабельном ЯП с ленивостью, каррированием по умолчанию, pointfree, чистотой и поддержкой денотационной семантики сможет сделать из такого овоща обратно человека, но не уверен. Лучше процедурную парашу всё же обходить стороной.
190 1712730
>>712712

>Я когда первый раз на уроке информатики в школе увидел i = i + 1 - просто охуел от этого бреда


Ну тогда у тебя задержка развития, если ты начал программировать после уроков информатики
191 1712749
>>712730
Программировать лучше вообще не начинать (особенно на императивной параше) (особенно для кого-то за деньги), но если это неизбежно, то чем позже - тем лучше.
192 1712751
>>712749
Как борщи?
193 1713052
>>712712
Удваиваю.
Люди думают как минимум - "прибавить к х 1", или "сложить а и б".
х плюс один минус два - это олигофрения.
194 1713125
>>712749
Да понятно, что если ты шизик с борд, главное это пиздеть на бордах свои шизотемы
195 1713176
>>712712
>>713052
>>712749
Может хватит семенить?
196 1713258
>>713176
Тут моих два поста, один из которых ответ на ответ на первый, так что не семенство.

>>713125

>главное это пиздеть на бордах свои шизотемы


Какие, например?

>>712751
У меня есть работа программистом (к сожалению, гордиться тут нечем, лучше скрывать). Но намного лучше получать деньги более вменяемым способом, а программировать дома в качестве хобби. Как тут кто-то недавно точно подметил, программирование за деньги - это говно. Разница лишь в уровне вонючести, например, программирование в модном проекте на ClojureScript/Elixir лучше, чем пердолинг тырпрайзо-говна в банке/бадишопе на аутстаффе на жабе, но хуже возможности запиливания конкурентно-ориентированных языков с матином-лофом и автоматическим доказательством корректности на деньги налогоплательщиков.
197 1713356
Что вообще можно делать на этих ваших ЛИСПах?
Можно ли на них обучать нейронные сети и вообще работать с машобом?
sage 198 1713432
>>713356

>Что вообще можно делать на этих ваших ЛИСПах?


Всё вообще.

>Можно ли на них


Разрешаю.
199 1713446
>>713432

>>Разрешаю


Хотелось бы еще разрешения от Tensorflow
201 1713486
>>713432

>Всё вообще.


Байтоёбство доступно только на зачаточном уровне, и только в Common Lisp. Или нет?
202 1713490
>>713450

>>ЛИСП=>Питон=>байткод


Ну ок.
203 1713554
>>713258

>Какие, например?


Всё ФП это одна большая шизотема, точнее манок для аутистов, типа судоку или каких-нибудь наполеоновских войн.
204 1713879
>>713554
Частично соглашусь, но писать на ФЯ вполне себе можно и это намного комфортней, чем на ОО-языках.
Тут скорее зависит от степени упоротости на определенных темах, типа программирования на тайплевеле, ссылочной прозрачности и т.д. так что для программирования времени не остаётся. Тут два варианта. Либо человек изначально не хотел программировать, ему просто нравится манипулирование значками/символами, а в математику, матлингвистику или професиольный компсайнс не смог. Либо второй вариант, человек работает программистом, но так как коммерческое программирование - это тупое и однообразное занятие, а каждая новая задача похожа на предыдущую как две капли воды, то программист, чтоб не помереть со скуки, начинает развлекать себя всякими обобщениями, систематизацией и прочими играми с абстракциями, что сопряжено с поиском новых концепций, выразительных средств и соответсвенно изучению новых языков. Заполучив в руки какой-нибудь хаскель с его богатым внутренним миром, человек начинает в него проваливаться, так как процесс повышения уровня обобщения и формализации - в общем-то бесконечен (когда потенциал хаски будет исчерпан, дальше пойдёт Идрис или любой прувер модный в этом сезоне). При этом обычное рутинное программирование на жабе в лохусофте теперь вызывает ещё большее раздражение, потому что совершенно не подходит для абстрактного мышления, которое теперь ещё и наполнилось новыми понятиями. Раздражение не позволяет нормально работать, а вымешать его надо, поэтому вместо быдлокодинга очередной CRM на работе или абстрактного ассоциативного кластера метапарадигм дома, человек срется на мейлачике рассказывая ОО-индусам и байтоебам что они все быдло, а из языки - говно.
205 1714403
>>713879
Пруверы - хуюверы.
1)Язык - это инструмент, сами по себе эти пердоли ничего не дают.
2)Сколько не ебись, а вебер, который максимум ходит в бд под нескучными обертками и распределенными роутами из своего модного фреймворка в итоге по соотношению зарплата -> умственные затраты выигрывает.
Если хочешь НАУКУ, то надо лезть в программирование в последнюю очередь.
206 1714478
>>713879

>любой прувер модный в этом сезоне


И на этом кончается кроличья нора?
207 1714540
>>713879
А какой ты из двух вариантов?
208 1714577
>>713879

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


Разве новые понятия не помогают лучше решать старые задачи?
sage 209 1716216
Почему в треде по Лиспу говорят о ФП?
210 1716465
>>716216
Потому что Лисп мультипарадигменный.
211 1733855
>>713450
>>716465

В википедии считают что правильно говорить мультипарадигмАльный
212 1735445
Единственное правильное ответвление Липса - ML. Всё остальное - вырожденческая динамопараша с неумеренной мутабельностью.

Discuss.
unnamed.jpg23 Кб, 512x512
213 1735550
>>735445
Но ведь ML - не ответвление Лиспа, это самостоятельная ветвь в построении ЯП.
214 1736128
>>735550
Первые реализации ML были прямым ответом на проблемы, существовавшие в Лиспе из-за динамической типизации.
215 1736145
>>736128
И какие, например, это проблемы?
216 1736172
>>736145
Если программа большая, то сложно уследить, что функциям передаются параметры верных типов. Этого можно избежать, если совершать проверку типа на каждый чих... чем ML автоматически занимается еще на этапе компиляции.

Вот исчо: https://ru.wikipedia.org/wiki/TypeScript
217 1736618
>>735445
Лисп ради ML AI-разработки и затевался.

>>736172

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



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

>чем ML автоматически занимается еще на этапе компиляции.


Сейчас бы тащить целую нейронку ради предсказывания типчиков, когда можно обойтись обычным тайп-чекером.
2020-06-29-091546542x551scrot.png17 Кб, 542x551
218 1736622
>>736172

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


Зачем за этим следить, если лисповый рантайм делает это за тебя?
219 1736626
>>736618

>>чем ML автоматически занимается еще на этапе компиляции.


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


Бля, это очень смешно
220 1736635
>>736626
Так а нухая там ML если не ради угадывания?
221 1736637
>>736635
Лучший троллинг тупостью за всё время существования доски, ящитаю.
https://ru.wikipedia.org/wiki/ML
222 1736673
>>736637
Ну а кто ж знал что ты про эмэль, а не про машин лёрнинг.
Но в каком месте эмэль ответвление лиспа - непонятно.
223 1736854
>>736635

>Так а нухая Теория Вероятности нужна если не ради угадывания?

224 1736859
>>736673

> Но в каком месте эмэль ответвление лиспа - непонятно.


My thots exactly: >>735550
225 1736931
>>736673
Вот это: >>736637
писал не я.

ML настолько же потомок Лиспа, насколько C потомок Алгола. Надо учитывать, что в 70-е лисп еще не ассоциировался со скобками. В частности, Маккарти все продолжал планировать реализацию этих чёртовых M-expessions.

В англовикипедии написано про ML (правда, без указания источника)

It has roots in Lisp, and has been characterized as "Lisp with types".

Вот довольно неоднозначная цитата из The Definition of Standard ML

The full definition of this first version of ML was included in a book [19]which describes LCF, the proof system which ML was designed to support.The details of how the proof application exerted an influence on design is reported by Milner [39]. Other early influences were the applicative languages already in use in Artificial Intelligence, principally LISP [36], ISWIM [28] and POP2 [10].

Указанные ISWIN и POP2 находились под сильным влиянием Лиспа.
226 1737040
Немножко оффтоп и идти бы мне в /s/, но я всё равно спрошу. Господа лиспачеры, пользуетесь ли вы емаксом? Просто ну, ну сука ебать, ну бля, ну ебучий елисп, ну что это за хуйня ебаная. Вас самих не выворачивает с того, что он такой ублюдский? И ведь альтернатив нихуя, чтобы дали мне не xterm дрочённый, а lisp-term точённый. Ведь по сути, господа, емакс именно как терминалчик и применяется, ну и как шелл, и к обеим задачам по сути приспособлен ну примерно никак. Ох, как заебись бы было, если бы он был... На портабельность на винду чисто поебать.
227 1737566
>>737040

> пользуетесь ли вы емаксом?


Конечно.

> Вас самих не выворачивает с того, что он такой ублюдский?


ELISP-то? Ну не фонтан, конечно, но уж точно полущ viml-я или, прости г-ди, json-а, которым конфигурируются хипстерские поделки типа сублима.

Попробуй в Pharo пописать на Smalltalk, там, говорят, всё чудно интегрировано в IDE.
228 1737567
>>736931
Из общего у ML и LISP только то, что их оба пытались применять для автоматического доказательства теорем.
229 1737711
>>737567

>ML


А причём тут мёшин лёрнинг?
0b369e95fd2861L.jpe43 Кб, 500x269
230 1737806
>>737711
Пошути эту шутку ещё дюжину раз, она от этого станет только смешнее!
231 1737909
>>736673

>Но в каком месте эмэль ответвление лиспа - непонятно.


Лямбда-выражения.
Предпочтение рекурсии над итерацией.
Удобная работа со списками.
Минимальная необходимость указывать типы.
Возможность писать полиморфные функции.
Функторы как гигиеничные макросы.
Сборка сора.
232 1738218
>>737909
Интересно, спасибо.

> Функторы как гигиеничные макросы.


Можешь вот этот пункт прояснить? Хоть на лиспе, хоть на ML.
233 1738423
>>738218
Функтор возвращает определение, которое зависит от параметров:
functor MakeCompiler(structure C:CODEGEN and A:ASSEMBLER) : COMPILER =
struct
--здесь как-то используются C и A
end

Вызов функтора похож на применение макроса:
structure X86Compiler = MakeCompiler(structure C = X86Codegen and A = X86Assembler)
вместо
structure X86Compiler =
struct
... X86Codegen ...
... X86Assembler ...
end
234 1738644
>>737909

>Лямбда-выражения.


>Предпочтение рекурсии над итерацией.


>Удобная работа со списками


>Возможность писать полиморфные функции.


>Сборка сора


Ну так у тебя любой ФЯ будет ответвлением лиспа.

>Возможность писать полиморфные функции.


>Сборка сора


А это вообще где попало есть.

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


Не нужно путать динамическую дрисню и статически типизированный язык с Хиндли-Милнером.
235 1738646
>>738423
И чем это от обычной функции отличается.
sage 236 1738668
>>738644

>любой ФЯ будет ответвлением лиспа


Любой ЯП ответвление лиспа
237 1738703
>>738644

>Ну так у тебя любой ФЯ будет ответвлением лиспа.


Для конкретики сравнил ML-и с Lisp-ами.

>Не нужно путать динамическую дрисню и статически типизированный язык с Хиндли-Милнером.


Ну кстати на уровне реализации ML сохраняет динамическую типизацию: чтобы работал полиморфный =, чтобы отличать [] от nil, и ради GC.
>>738646
Возвращает программу, а не данные.
238 1738760
>>738668
Даже и не поспоришь.
239 1739566
>>738644

>Ну так у тебя любой ФЯ будет ответвлением лиспа.


На момент 70-х (когда эмель и появился) эти особенности, ныне характерные для ФЯ, были практически эксклюзивными для лиспа. Так что да, получается любой ФЯ является потомков лиспа. Ты ведь читал Recursive Functions of Symbolic Expressions and Their Computation by Machine?

Кстати, а JS очень часто рассматривают как Scheme с алголоподобным синтактисом (да и Питону достается).
240 1739569
>>738668
Каждый современный ЯП является в некоторой мере потомков алгола, в некоторой мере потомков фортрана и в некоторой мере потомком лиспа.
sage 241 1739571
>>739569

>потомков


>потомков


Ну и выдал же я. ПотомкоМ.
242 1744047
>>591537 (OP)

> Beautiful Racket



А нет ее в каком-то оффлайн виде, желательно PDF?
243 1747987
>>737040

> емакс именно как терминалчик и применяется, ну и как шелл


что ты несешь?

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


именно elisp "ублюдский"? Да норм, на самом деле. После CL немного непривычно было. А сейчас, когда есть лексические переменные и CL-совместимые макросы и функции, то вполне
244 1747996
>>737040
Кстати, если уж так тошнит от elisp (от чего именно? от dynamic scope?), то есть реализации на CL и на Scheme. Но там, конечно, нет такого богатства готового elisp-кода, которое мы так любим
245 1755550
А на общелиспе можно делать гуй приложения? Я знаю что в платных реализациях есть либы, но я юзаю sbcl и мне под винду нужно написать.
246 1755577
>>737040

>Господа лиспачеры, пользуетесь ли вы емаксом?


Да

>Просто ну, ну сука ебать, ну бля, ну ебучий елисп, ну что это за хуйня ебаная


>Вас самих не выворачивает с того, что он такой ублюдский?


Чому?
Кроме перформанса с однопоточностью вопросов не вызывает

>И ведь альтернатив нихуя, чтобы дали мне не xterm дрочённый, а lisp-term точённый.


Чего?

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


Может прxминяться, может не применяться

>На портабельность на винду чисто поебать


Сосите хуй быдло
247 1755866
248 1755884
>>755577

>пользуетесь ли вы емаксом?


>да


Сочувствую, братишка, но ты там держись.
249 1756078
Идею для полезного петпроджекта не накините?
251 1760506
Наевшись говна с гринлетами питона и корутинами луа, от функционально-фашисты услышал о континуейшенах, и есть они в трёх с половиной языков включая схемку. Учу схемку чтобы понять как это дерьмо там работает. Будут ли какие-то ещё профиты, кроме лёгкости чтения SICP?
252 1760515
>>760506
Есть смысл обратиться в тред сикп с этим вопросом
253 1762220
Как учить Clojure? Какие книги, статьи, видосы, еще чего
254 1762263
>>591537 (OP)

>SBCL (нативный код), Clozure CL (нативный код),



Ну харе врать, жид-машины там, причем даже без использования инструкций векторизации.
2020-07-28-190819556x382scrot.png13 Кб, 556x382
255 1762519
>>762263
Сам ты жид блядб.
256 1767804
Вышел Racket 7.8.

Вариант с нативной компиляцией (так называемый CS) сравнялся по функционалу с вариантом с байткодом. Со следующего релиза уже CS вариант будет основным.
257 1767820
Как такое решается в функциональных языках?
https://pl.kotl.in/XE-IzGVCv
258 1768271
Кто-нибудь линковал с C/C++ библиотеки, сгенерированные Embeddable Common Lisp?
259 1786411
>>768271
А в чем, собственно, сложность?
260 1786418
>>767804
ECL он хотя бы догнал по скорости генерируемого кода?
261 1786531
>>767820
Уж не скажу насчет функциональных, а в общелисппе вот так
https://ideone.com/IpnDT7
262 1786604
>>767820
https://ideone.com/x9oRjz
В свою очередь, я бы посмотрел, как на котлине решается такое:

>(defmethod отъеби ((ебущий лошадиные) (ебемый лошадиные))


> (format t "~&~a засадил в ~aиный зад" (род ебущий) (род ебемый)))


>


>(defmethod отъеби :before ((ебущий пегас) (ебемый лошадиные))


> (format t "~&~a взпорхнув прицелился" (род ебущий)))


>


>(defmethod отъеби ((ебущий лошадиные) (циферки number))


> (format t "~&~@(~a~): Э-э-э! Я ж тебе не ~a, сам еби ~a" (род ебущий)


> (typecase циферки


> (bit "сишник-байтослесарь")


> (complex "математик")


> (real "физик"))


> циферки))

263 1787247
>>786531
>>786604
В голос, г-ди. ООП категории /b/.
264 1788319
>>767820

>Как такое решается в функциональных языках?



В чем задача заключается можешь объяснить?

А то код с каким-то ООП не делает проблему очевидной для меня.
265 1790335
>>786418
Пишут, что Chez примерно как SBCL при дефолтных оптимизациях. В SBCL можно включить более опасные оптимизации, а в Racket-на-Chez можно критичную часть написать на Typed Racket. Короче, точно сказать трудно, если у тебя есть какие-то бенчмарки, которые можно запустить и на CL и на Racket, можно проверить.
266 1790594
>>790335
Писал и на SBCL, и на Racket (и на Typed Racket пытался). По моим субъективным ощущениям, Typed Racket не даёт вообще никакого прироста производительности, ну и сам Racket ощутимо медленее SBCL. Плюс проблема даже не в тормознутости самой по себе, а в том, что ты в Racket с ней ничего не можешь поделать, даже понять, отчего тормозит. В CL же у тебя есть disassemble, декларации типов те же, declaim optimize, вот это вот всё. Есть простор для ручной оптимизации, что меня, как бывшего байтоёба, не может не радовать.
267 1790830
>>790594
Ты не путаешь обычный Racket на байткод-машине с новым на базе Chez Scheme?
Меня, если честно, устроит пока если он будет в два-три раза медленнее, чем SBCL на максимальной оптимизации (а похоже, примерно так и будет). Для достаточно нового продукта это неплохо.
268 1790838
>>790594
Кстати, инструментарий постепенно добавляют:

>as for the CS variant of Racket, then it cannot be converted back to an approximation of Racket, but installing the "disassemble" package may enable disassembly of the machine code. Decompilation is mostly useful for checking the compiler’s transformation and optimization of the source program.

269 1790861
>>790838

> Ты не путаешь обычный Racket на байткод-машине с новым на базе Chez Scheme?


Пробовал оба, последний и правда даёт малюсенький прирост производительности.

> the "disassemble" package


Хах, пробовал я этот пакет, полнейшая залупа по сравнению с CL-ным disassemble. Последний тебе выводит подробнейшую информацию, какая константа что обозначала в исходном коде, какие имена функций, чокаво. Тот рэкетовский третьесторонний пакет тебе просто вываливает машкоды без всяких пояснений, и поди разберись, за что в твоём коде отвечает инструкция call 123456.
270 1791120
>>790861
Ясно. Ну что ж, подождем, пока допилят.
271 1791878
https://www.youtube.com/watch?v=cooTl4-9bhg
https://www.youtube.com/watch?v=-1LzFxTbU9E
Зацените, какую годноту починили. Теперь слайм запускаю из образа с clim-listener и clouseau
272 1791902
>>791878
Круть. А вот чтобы 50-минутное видео не смотреть, можешь вкрации, чем оно лучше slime-inspector?
273 1794247
>>791902
Интерфейс чуть более удобный, всё-таки не текстовый емаксовкий буфер, может и графы рисовать, и вложенные структуры разворачивать. Ну и есть возможность наблюдать изменения в реальном времени. В остальном тот же слайм-инспектор
274 1799172
Как не крути, но `x => y => x + y` выглядит намного лучше, красивее, короче, незахломленннее, однострочнее, чем `(lambda (x) (lambda (y) (+ x y)))`. А ведь я ещё не привёл банальные примеры с map/reduce, которые легко пишутся в одну строчку, и только в лиспах придётся писать в несколько строк.

Серьёзно, (lambda x (y x)) это такое же уродство как и function(x){return y(x)} и признак говнокода.
275 1799211
>>799172
вот так легким движением руки язык превращается в хаскель
276 1799426
>>799172
Зато в лиспе не нужен сложный парсер, а ГОМОИКОННОСТЬ позволяет делать макрорасширения на коленке.
А ещё не нужно помнить приоритеты операций.
Как я тебя уел, а?
277 1799642
>>799426
Меня волнует больше удобство и продуктивность на каком-либо ЯП.
278 1800020
>>799172

>банальные примеры с map/reduce, которые легко пишутся в одну строчку, и только в лиспах придётся писать в несколько строк.


Ты просто не умеешь их готовить.
(defun sum-digits (number &optional (radix 10))
(reduce #'+ number :key #`(digit-char-p % radix))
279 1800105
>>799211
Как что-то плохое.
280 1801182
>>800105

>это такое же уродство как и function(x){return y(x)} и признак говнокода.


А монады лифтить - не уродство и признак говнокода?
281 1801193
>>591537 (OP)

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


дальше не читал
поэтому лиспари и ебанутые. Даже не знаю, кто ебанутее, хаскелисты или лисперисты
282 1801195
>>593443
Для скриптинга в игорах и LUA используют, тащемта
283 1801203
>>608098
риторика слабовата.
-Хилти дорого пиздец
-Да конечно епта заказ и без Хилти можно сделать, но все же понимают, что это халтурка будет. Кто себя ценит, всегда нанимает только бригаду с Хилти.
- Чем больше людей считает, что я не прав, тем выше вероятность, что они все ошибаются. Ну, чисто математически же.
- Поэтому и с лиспом так же.

Ваще ахуеть красава. У лиспа смотрю и евангелисты ахуенные. Срочно начинаю изучать этот богоязык. В пизду мейнстрим.
284 1801342
>>801193

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


Что не так? Пролог тоже гомоиконен(гомоиконнее лиспа, кстати)
285 1805705
>>799172

>x => y => x + y


>(fn [x y] (+ x y))


>#(+ %1 %2)


>+


ты привел очень тупой пример, кстати; в общем случае графический partial application работает чуть лучше, чем его хаскеллевские аналоги

В схемке кстати (λ (x y) (+ x y)) тоже норм выглядит.

>А ведь я ещё не привёл банальные примеры с map/reduce, которые легко пишутся в одну строчку, и только в лиспах придётся писать в несколько строк.


Бред какой. Это как раз в х-ле по традиции пишут трансформации в уебищном обратном порядке, тогда как в кложе (ну и окамле с его |>) все заебись:
(-> foo (map f) (filter g?) (reduce h))

И да, любой нормальный человек форматирует этот код так, чтобы каждый шаг был на отдельной строке, потому что так читать проще (капитан очевидность).

>признак говнокода


Понятие "говнокод" относится к абстрактной структуре кода, а не к используемому синтаксису. Короче юнец еще ожидающий возмужания ты, десу.
286 1806038
>>801182
Монадошизик, спок.
287 1806074
>>805705

>в х-ле по традиции пишут трансформации в уебищном обратном порядке


Охуительные истории.
288 1810294
>>790335

>Пишут, что Chez примерно как SBCL при дефолтных оптимизациях.


Преувеличивают. Понадобилось вот распарсить 20гб xml, решил сравнить лисповые s-xml, cxml и ракетовский sxml.
Первый на моём тостере парсит ~24мб/с, второй - ~38-42мб/с, а ракета едва до 2мб/с разгоняется.
289 1813680
>>810294

>>Пишут, что Chez примерно как SBCL при дефолтных оптимизациях.


>Преувеличивают. Понадобилось вот распарсить 20гб xml, решил сравнить лисповые s-xml, cxml и ракетовский sxml.


С дефолтными, а не максимальными. А cxml не только на максимум, но и вообще вручную злоебуче оптимизирован. Они даже строки свои написали! ("rods" у них называются).
Впрочем, xml в ракете это вообще какое-то говно, что меня очень удивило. Некоторое время назад надо было что-то большое парсануть, вообще не нашел ничего рабочего. Либо безумно медленно, либо не поддерживает namespaces, либо еще что.
290 1817061
edsl prolog что можете сказать?
mapping к реляционным субд и другим субд в виде edsl есть такое?
291 1817064
>>817061
edsl к xpath, xslt?
292 1817070
>>810294
xpath запросом и xslt трансформацией не быстрее было бы вытащить нужные данные?
293 1817090
>>739569
ml семейство?
forth семейство?
smalltalk?
294 1817091
надо делать текстовый редактор на common lisp, но чттбы работал не только с абстракцией ьекста и гуи, но и имел доступ к битмапу фрейма, что позволило бы динамически отрисовывать графики, сложные формулы, вообще любую гиафику..
вот это было бы круто
295 1817097
>>736618
тайп чекер и вывод типов это как телега и космический корабль
296 1817102
297 1817129
>>817102

Ааааа! Сгинь, нечить!
298 1817140
>>817091
Ну, делай. Вон можешь lem за основу взять

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


Либо тебе вообще Maxima нужна
299 1817147
>>817061

>edsl prolog что можете сказать?


Могу сказать, что это одна из тех вещей, которую должен написать каждый начинающий лиспер.
https://awesome-cl.com/#non-deterministic-logic-programming

>mapping к реляционным субд и другим субд в виде edsl есть такое?


https://awesome-cl.com/#database
300 1817153
Есть тут знатоки метаобъектного протокола?
https://github.com/fukamachi/mito/blob/master/src/core/class/table.lisp#L59
Наткнулся на такую проблемку. Та функция вызывается в момент инициализации класса, представляющего таблицу бд, ищет слоты, которые ссылаются на объекты других таблиц, и на каждый из них добавляет по вспомогательному с внешним ключом.
Например,
(defclass dir ()
__((name :col-type (:varchar 255))
___(parent :col-type (or :null dir)))
__(:metaclass dao-class))
должен добавиться слот parent-id (${slot-name}-${primary-key-name})
Проблема в том, что если слот ссылается на свой же класс или ещё не определённый, то вылетает ошибка, о чем, собственно, комментарий в коде и гласит.
Идиоматично ли добавление слотов на стадии финализации класса? В какой метод это разумнее перенести: finalize-inheritance, compute-slots, compute-effective-slot-definition или другой?
301 1817155
И вообще, есть у кого-нибудь представление протокола в виде графа вызовов?
Ебаный AMOP без поллитры не раскуривается.
sage 302 1817179
>>817155

>AMOP без поллитры не раскуривается


А зачем он нужен, если не раскуривается? Ты мазохист?
Дропай и используй что-то более понятное.
303 1817209
>>738703

> Возвращает программу, а не данные.


А есть разница?
304 1817211
>>817179
Нужен, чтобы решить проблему постом выше.
305 1817355
>>738423
Нет, функторы - это просто параметрические модули. Что касается макросов, они в ocaml таки тоже есть, но в виде препроцессора.
306 1821053
>>813680

>С дефолтными, а не максимальными.


s-xml довольно бесхитростно написан

>xml в ракете это вообще какое-то говно


По-моему, в ракете со всем так. Который раз уже намереваюсь на ней писать, и постоянно всё упирается в отсутствие или непригодность библиотек.
>>817070
Мне их не вытащить нужно было, а перегнать в БД
307 1837889
>>821053

>s-xml довольно бесхитростно написан


S-xml или cxml? s-xml действительно бесхитростен, но он еще примитивнее того, что есть в ракете. CXML это мощнейшая хрень, но там такая ручная оптимизация, что яебу такое писать.
309 1863561
Пиздос последний пост один месяц назад
310 1863945
>>863540
Тебе там уже ответили
311 1864649
>>863540

>Also it would really help if you could find


English is the captial of great Britain.
312 1864894
>>864649
Хули ты приебался? Он же не носитель языка
313 1874267
Хочу гуй на винде написать. Из функционала рендер текста и картинок. Какие варианты есть?
sage 314 1874557
>>874267
WPF, Electron, Qt.
315 1874774
>>874267
Язык-то какой? Общелисп? Схема?
https://lispcookbook.github.io/cl-cookbook/gui.html
Рекомендую обратить внимание на IUP: проект интересный, но несколько лет назад был сыроват, уж не знаю за текущее его состояние.
316 1874851
>>874774
Под борщ, спасибо, гляну анончик. А можешь еще подсказать либу для реквестов и для парсинга хтмла?
317 1874893
>>874851

>для реквестов


http-клиент что ли? drakma, dexador

>и для парсинга хтмла?


plump + clss/lquery
318 1875520
>>874851

>Под борщ


Так ты ошибся тредом, знатоки борща в соседней палате >>1488256 (OP)
1501546109491.jpg93 Кб, 1111x597
319 1875562
>>875520
Это другие борщи, анончик.
320 1875599
Можете скинуть мемную пасту про функторы в стиле темной башни?
321 1875643
>>875599
Молодой человек, у нас тут только кластеры метапарадигм, за функторами пожалуйте в соседнюю палату.
322 1876742
>>875599
Ты пойми, мир сдвинулся. В результате страшной катастрофы были уничтожены практически все живые существа, а выжившие давали ужасное, поразительное в своей омерзительности, потомство. Большинство умирало, 90% первого поколения были бесплодны. Но в результате жутких мутаций стало возможно межвидовое скрещивание. Из-за множественного наследования здесь можно встретить кошмарных существ: программист С++ с телом рыбы и хуем слона, труп страуса с китовым усом вместо глаз, джигурду в малиновой юбке, выдающего себя за тайскую шлюху. Здесь царят хаос и ужас с тех пор как радиоактивная пыль скрыла землю от солнца в 1983 году. Потом, когда в 1998 решили снять режим глобальной катастрофы, человечество было уже мертво, потому были законодательно закреплены права новых существ. Организмы практически избежавшие мутаций были уравнены в правах с разлагающимися на глазах и истекающими слизью трупоедами и с хищными растениями. Ты представляешь всю безысходность этого мира? Но даже здесь можно видеть лучик надежды. Существа сохранившие глаза и осколки разума тянулись, как цветы с солнцу, к Роланду Дискейну Хаскеллу Карри и его небольшому отряду: Сюзанне Алонзо Чорчу и Джону Маккарти, которые устало брели через эти пустоши. Они были стрелками функциональщиками. Путники несли порядок и знания именем рода Эльда Теории Категорий. Существа хватались за эти крупицы, неловко пытались рисовать своими шупользеподобными руками стрелки на зеленом песке, они получали квадратные скобки вместо круглых, они хотели чистоты, но лишь продолжали пачкать и без того грязные руки. Маленький отряд уходил. Хаскеллу было невыносимо больно видеть страдания этих существ, он знал, что несет ответственность. Но уходил, ведь его неудержимо тянуло к Башне. Он знал, что Бьёрн ждет его там. И там должно было все решится. Из-за Бьерна мертв Денис. Из-за Бьерна мир сдвинулся. Хаскел шел вперед, хоть и не знал, чем это закончится, но два аппликативных функтора приятной тяжестью на поясе давали уверенность, что это лучи не будут разрушены...
322 1876742
>>875599
Ты пойми, мир сдвинулся. В результате страшной катастрофы были уничтожены практически все живые существа, а выжившие давали ужасное, поразительное в своей омерзительности, потомство. Большинство умирало, 90% первого поколения были бесплодны. Но в результате жутких мутаций стало возможно межвидовое скрещивание. Из-за множественного наследования здесь можно встретить кошмарных существ: программист С++ с телом рыбы и хуем слона, труп страуса с китовым усом вместо глаз, джигурду в малиновой юбке, выдающего себя за тайскую шлюху. Здесь царят хаос и ужас с тех пор как радиоактивная пыль скрыла землю от солнца в 1983 году. Потом, когда в 1998 решили снять режим глобальной катастрофы, человечество было уже мертво, потому были законодательно закреплены права новых существ. Организмы практически избежавшие мутаций были уравнены в правах с разлагающимися на глазах и истекающими слизью трупоедами и с хищными растениями. Ты представляешь всю безысходность этого мира? Но даже здесь можно видеть лучик надежды. Существа сохранившие глаза и осколки разума тянулись, как цветы с солнцу, к Роланду Дискейну Хаскеллу Карри и его небольшому отряду: Сюзанне Алонзо Чорчу и Джону Маккарти, которые устало брели через эти пустоши. Они были стрелками функциональщиками. Путники несли порядок и знания именем рода Эльда Теории Категорий. Существа хватались за эти крупицы, неловко пытались рисовать своими шупользеподобными руками стрелки на зеленом песке, они получали квадратные скобки вместо круглых, они хотели чистоты, но лишь продолжали пачкать и без того грязные руки. Маленький отряд уходил. Хаскеллу было невыносимо больно видеть страдания этих существ, он знал, что несет ответственность. Но уходил, ведь его неудержимо тянуло к Башне. Он знал, что Бьёрн ждет его там. И там должно было все решится. Из-за Бьерна мертв Денис. Из-за Бьерна мир сдвинулся. Хаскел шел вперед, хоть и не знал, чем это закончится, но два аппликативных функтора приятной тяжестью на поясе давали уверенность, что это лучи не будут разрушены...
323 1880209
https://en.wikipedia.org/wiki/Stalin_(Scheme_implementation)

>STALIN often generates code that outperforms handwritten C and Fortran code


> The compiler does lifetime analysis and hence does not generate as much garbage as might be expected


Если это такой мощный компилятор, то почему его никто не развивает?
324 1880281
>>880209

>STALIN


Ебать, вот это ТРУ.
Надо чекнуть и вообще развивать эту тему.
325 1880327
>>880209
Он заброшен автором полтора десятка лет назад, а в его исходниках трудно разобраться кому-либо, кроме автора, потому что он из академии и пишет очень академический код. Но так-то да, из всех схемных компиляторов он до сих пор где-то в топ 3 по быстродействию, несмотря на то, что нихуя не поддерживает фичи из новых стандартов. Автор из (((этих))), кстати, отсюда и название.
326 1880532
>>880281
Думаю, тебя заинтересует
https://engineering.purdue.edu/~qobi/papers/fdlcc.pdf
327 1880546
>>880327
В его работу я пока не вчитывался, а только проглядел по диагонали, но, кажется, он всё достаточно подробно и внятно изложил.
Вообще, для меня до сих пор загадка, почему для такого простого языка, который будто кроился под обкатывание передовых идей области компиляторостроения, за почти полвека так и не появилось ни одной нормальной реализации.

>Автор из (((этих))), кстати, отсюда и название.


Коммунист?!
328 1881046
>>880546
Ну б-г тебе в помощь. Вот тебе еще статья Грэма с референсами на некоторые передовые и до сих пор непревзойденные вещи в области лиспового компиляторостроения: http://www.paulgraham.com/thist.html
На самом деле, я сам бы хотел этим заняться, но платить за это, по крайней мере сразу, никто не будет, а кушать хочется, вот и продолжаю уныло веслать.

>Автор из (((этих))), кстати, отсюда и название.
Коммунист?!
Еврей же.
329 1881171
>>881046

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


Да уж. За интересное никогда не платят. Я нагрёб себе на месяцев 10 гречки(сука, греча уже на вес золота) пшенки с хуйцами, теперь могу побыть свободным человеком.
330 1881247
>>880546
Еще такой аргумент вброшу: при динамической типизации ты почти всегда будешь утыкаться по производительности в (ан)боксинг, если только не навернул продвинутый gradual typing, как в CL, но в R*RS такого, конечно, нету, минимализм во все поля.

>>881171
> Я нагрёб себе на месяцев 10
Смотри, сбережения утекают быстро. А вообще завидую.
331 1881612
>>881171
Не секрет, сколько тебе надо на месяц?
332 1882226
>>881612
Ну, я отложил из расчёта 15 на месяц, потому что больше никогда не тратил (если не считать разовых крупных покупок). Такой потолок позволяет не считать расходов, плюс остаётся порядка 4х тысяч, которые пойдут на месяц-полтора до первого заработка.
333 1882312
>>882226
Сейчас всё дорожает - просто пиздец. И это только начало.
А тебя какой-то очень минимальный лимит.
Так что, мне кажется, 6 мес. было бы более реалистичной цифрой.

Тут ещё надо понимать, что 10 мес - это будет следующий октябрь.
Не лучшее время для поисков работы. Если к тому времени вообще будет работа.
Лучше - весна.
334 1883446
>>882312

>А тебя какой-то очень минимальный лимит.


Это с запасом. У меня расходы скромные: интернет, счетчики да простые продукты (мука, крупы, овощи и т.д.).

>Лучше - весна.


Не, не лучше. Всрать лето на галеру никак не хочется.
335 1901248
Я что-то пёзнулся посреди ночи
Как по-человековому сделать репликейт (копирование строки N раз) в elisp'e?
Реплекейтить нужно много, в первом приоритете перформанс, общелисповые штуки исполььзовать не очень хочу (по крайней мере если они не дадут пару штук перформанса)
336 1901270
>>901248
Можно предположить, что наиболее быстрый способ такой же, как в общелиспе — with-output-to-string. Или with-output-to-temp-buffer, если конечная строка должна получиться очень большой.
337 1904158
Да блин блять что в емаксе на сегодня считается мейнстримом для ui?
Хочу простенько дергать апишки новости там какие-нибудь, курсы валют, харкач, нужны какие-нибудь универсальные формочки\лейату
Искоробочные тейблы это совсем атас какой-то, стайлинг текста через enriched (что по совпадению идеально подходит под борды) почему-то ругается на какой-то фонт лок, имежи распердоливают высоту строки соответственно своей (их вообще можно как-нибудь вставить с рассчетом на несколько строк?)
Маркдаунские либы не очень подходят, для чего-то они получаются оверкиллом, для чего-то не хватает (манипуляций с имагами, например). тащить что-то большое для таких базовых задач не хотелось бы
Уже несколько вечеров ковыряю апишки, по итогу по делу ничего не написав, лол
338 1904307
>>904158

>новости там какие-нибудь, курсы валют, харкач


Ты elfeed переизобретаешь что ли?
Amqp4De[1].png21 Кб, 938x698
339 1911527
Привет тред. Пишу в clisp систему для определения родственных связей, не знаю как это правильно называется.

Знающие люди, подскажите, пожалуйста. Как сделать, чтобы person не становился сам себе братом?
340 1911707
>>911527

>clisp


clips ≠ clisp

>Как сделать, чтобы person не становился сам себе братом?


Добавь (neq ?x ?y)
341 1911832
>>911707
Спасибо, а я сам так и не понял на чем надо писать, в задании на одной строке написано CLIPS, на следующией CLISP

>neq ?x ?y


Пытался так, не работало, может я тупо по синтаксису неправильно писал, я решил что надо в defrule одним из правил это указать, т.к правило срабатывает только если все эти функции возвращают тру. Но так жаловался компилятор или что там собирает код на этом языке. В итоге запилил что-то типа такого: (tparent (parentname ?f) (childname ?p&~?x)) , опять же не совсем вник как работает, но вроде как "p, но не x"
342 1912115
>>911832

>в задании на одной строке написано CLIPS, на следующией CLISP


CLISP - реализация общелиспа, CLIPS - среда разработки экспертных систем со своим собственным лиспоподобным языком.

>Пытался так, не работало


><conditional-element> ::= <pattern-CE> | <assigned-pattern-CE> | <not-CE> | <and-CE> | <or-CE> | <logical-CE> | <test-CE> | <exists-CE> | <forall-CE>


><test-CE> ::= (test <function-call>)


Видимо, нужно писать (test (neq ?x ?y))
343 1922478
>>591537 (OP)
Объясните вкрации чем символ отличается от строки?
344 1922485
>>591590
Годнота, спасибо
345 1922960
>>922478
Типом.
346 1922985
>>922960
Спосибо :/
347 1922990
>>922985
Пожалуйста, обращайся.
348 1923153
349 1923489
>>922478
http://www.lispworks.com/documentation/HyperSpec/Body/t_symbol.htm

>Объясните вкрации чем символ отличается от строки?


Если кратко, не может быть два символа с одинаковым именем в пределах их пакета.
351 1924569
>>924556
Казалось бы, причём здесь Лужков?
352 1924880
>>924556
Какой-то пиар параши. И зачем ты это сюда притащил?
353 1927298
>>924880
Мейджор сакцесс стори сорта сабжа же.
354 1928406
>>927298
Кложурист шоле сука?
355 1928407
Почему все лисперы используют имакс?
356 1928410
>>928407
Потому что SLIMESly.
357 1928412
>>928406
как будто кожура что то плохое
358 1928446
>>928412
Сама по себе кожура - нет. Просто такая своеобразная штука с кучей сомнительных решений. Хайп прошел, кложехипсторы наигрались и бросили, с тех пор она больше никому и не нужна.
359 1928530
>>928446
но на кожуре есть работа в отличии от остальных борщей
360 1929025
>>928530
Ну тогда поторопись, пока ещё с парочку осталось на ххру целых две веб-обезьяньих вакансии на кложе, потому что скоро затихнут и последние отголоски былого хайпа.
361 1929123
Лиспотред? Лиспотред! Посоветуйте книжку для изучения лиспа...
362 1929419
>>929123
Шапка для кого писана, а?
363 1929692
>>928530
Не обращай внимания, это тебе местный шизик выше отвечал. Его в детстве анально изнасиловали кложурасты, теперь он от любого упоминания сабжа начинает верещать и проецировать в тред беспричинную жопную боль. Именно из-за таких дебилов для CL нихуя нет библиотек, кстати.
364 1935930
>>591537 (OP)
Лисп в телеке, пацаны!
https://www.youtube.com/watch?v=Nf0QvCq3quk (на 39-ой секунде)
365 1935959
>>935930
уух сука, чето аж пичот от кол-ва лайферов в этом ролике.

но за кложу порадовался.
366 1937026
>>935930
Это всё, что происходит в лиспомирочке?
367 1944316
>>591537 (OP)

> Самый мощный язык программирования это Lisp. Если вы не знаете Lisp (или его вариант, Scheme), вы не знаете, что имеется в виду, когда говорят о мощности и элегантности языка программирования. Однажды вы выучите Lisp и поймете чего не хватает в других языках программирования.


Это правда?
368 1944426
>>944316
Да.
Прочитай practical Common Lisp, поймёшь в чем суть, эта книга специально создана для того, чтобы заставить читателя полюбить лисп.
369 1944537
>>944426

>эта книга специально создана для того, чтобы заставить читателя полюбить лисп.


Я бы такую характеристику дал SICP'у, PCL - это прост для перекатышей из других промышленных языков, чтобы прочитал и хуяк-хуяк начал лямбды вертеть на доске маркером
370 1945376
>>944537

>Я бы такую характеристику дал SICP'у


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

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


Лол. А из академических не получится, да?
В PCL-то как раз и интерактивное программирование показывается, и затрагивается тема eDSL. Но немного поверхностно, всё-таки книга рассчитана на незнакомых с общелиспом людей.
371 1945925
>>945376
Спорить не буду, на вкус и цвет фломастеры разные, а обе эти книги хороши, каждая по-своему.
372 1945929
>>944316
Но ведь Lisp - не базовый язык. В нем очень много "скрытых" элементов, такие как скоупы.
373 1946177
>>945929
лисп - это семейство языков. щито там скрытого в скоупах? и щито такое "базовый"?
374 1946190
>>946177

> и щито такое "базовый"?


Минимально возможный.
375 1946224
Ц
376 1946242
>>946190
Толсто. Минимальнее лиспа ты ничего не найдешь. Лисп по сути - это 7 функций, все. Уровнения максвелла в компсае. Хочешь, основывайся на них. Потом выросли на этих принципах языки, которых по праву можно называть "лиспами". Если хошь минимализма - бери стандарт схемы который на 50 страниц. И я так и не понял почему ты фичи называешь скрытыми - это для тебя любая непонятная фича?
377 1946286
>>946242

> Минимальнее лиспа ты ничего не найдешь


Ага, а переменные и редукция там на пране работают, а не подразумевают под собой некоторый механизм, да?
378 1946319
>>946286
Да все подразумевает под собой какой-то механизм. Важно - где ты проводишь линию, абстракцию. И эта абстракция в лиспе - элегантна. Нет, хочешь, ебись с Ц и называй себя ноймоновским королем, мне то что.
379 1946369
>>946319

> Да все подразумевает под собой какой-то механизм.


И это никак не оспаривает мой пост. Вот если бы на лиспе переменные были бы не встроенны, а просто абстракциями для удобства написанные на самом лиспе, то да, лисп был бы минимальным тьюринг-полным языком программирования.
380 1946394
>>946369
Ты не догоняешь. Если у тебя есть 7 функций основанный на s-expressions и лейблом + абстрактная машина которая реализует это все (а она может это делать как угодно, в этом и смысл, она не должна быть фон номоновской), то ты в шоколаде. Вот смотри, ты говоришь переменные: а это просто alist, который ты можешь assoc'ать как хочешь. Переманная в лиспе - это атом замапанный к sexp'у через sexp: '((x 0) (y 1)). Твои int doubles manya_penentration = 44; здесь никому не нужны. "Переменных" тут нет - есть символы которыми ты оперируешь. Ты спросишь - откуда берется память под это все - да откуда угодно - это деталь реализации машины. Нужна арифметика? Ты - тьюринг полон и можешь ее реализовать через списки. Что бы это было оптимизировано, ясно что компилятор может использовать хардварные приблуды машины для которой он конпеляет, но это - НЕ обязательно.
381 1946477
Какие-то сексы, атомы, списки, не понятно
1*pBmVpeV2l9ZID5eM63rkZw.png23 Кб, 700x191
382 1946484
>>946477

> Какие-то сексы, атомы, списки, не понятно


Там ничего особо сверхсложного нет, просто почитай что-нибудь по этой теме.
383 1946487
>>946484
пикрил отседова если кому интересно
https://medium.com/makimo-tech-blog/on-lisp-in-15-minutes-3286c179584f
384 1946493
>>591537 (OP)

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


Исследований чего? Чем лисп лучше для PLT например хаскеля? Ради интереса спрашиваю.
385 1946506

> ::: Библиотеки


> - https://github.com/CodyReichert/awesome-cl


> - http://quickdocs.org/



квикдокс похоронили - к сожалению, у мейнтейнера не было времени его обновлять и он почему-то так никому эстафету и не передал. теперь только на автогенеренный quickref.common-lisp.net пиздовать.
386 1946507
>>946506
эту ссылку тоже можно включить в секцию, странно что ее нет
https://www.quicklisp.org/beta/releases.html
387 1946783
>>946493

> Исследований чего?


Тонкостей GC, ленивых вычислений, ООП, чего угодно

> Чем лисп лучше для PLT например хаскеля?


Чем лисп.
388 1947248
Какая же кложа охуенная.
389 1948076
>>945925
Я лишь хотел сказать, что SICP не про лисп
390 1948077
>>946242

>Минимальнее лиспа ты ничего не найдешь.


Смолтолк, форт?
391 1948086
>>946242

> Минимальнее лиспа ты ничего не найдешь.


Brainfuck.
392 1948095
Правда ли что лисп делает из тебя лучшего программиста? Как вы думаете, что лучше: изучить лисп, или дописать проект на питоне?
393 1948231
>>948095
Дописать проект на лиспе.
394 1948311
>>948095
Дописать проект всегда лучше чем изучить что угодно.
395 1948346
>>948077
>>948086
Минимализм можно определить по-разному. Лисп его достигает, кмк, на 2 уровнях: на уровне освновывющих принципов (что выражается в их очевидной лаконичности, вряд ли тут его что-то бьет) и на уровне написания программ (из-за макросов), и при всем этом он мультпарадигменный (это - важно) - то есть это тот минимализм, которым ты еще будешь пользоваться. Наверняка есть сопоставимые языки, у которых все эти черти имеются, но я о и них не знаю. Тот же пролог, например, тоже минималистичен, но он позволяет писать только в своей парадигме, а все остальное выглядит как костыли. То же самое хаскель.
Про названные языки ничего сказать не могу, я их не изучал, не отрицаю их возможных заслуг, но если проясните, буду рад послушать.
396 1951019
Запилите тред по кложе, а?
2021-02-23-144630831x764scrot.png100 Кб, 831x764
397 1951236
Общелисп для лайв музыки и визуализаций. Есть у кого опыт?
Скобкоблядь
398 1951926
>>637333

> Медленнее ноды.


Нода (она же JS) же пиздец тормознутая, ты что.
399 1952417
>>951236
https://transnodal.toplap.org/
Ты как раз пропустил движуху по теме.
400 1952629
>>952417
Записи нема?
401 1952696
>>952629
Да похоже, что они вещали не сохраняя.
Другие зато выступления есть на том же канале https://www.youtube.com/watch?v=aljDBoZC74w
mein2021.gif1,3 Мб, 540x623
402 1952725
Ого, лишпотред, вкачусь пожалуй, надо научиться лишп...
403 1952736
Как вообще сейчас обстоят дела с Clojure? Комьюнити там, например? Как сам язык вообще, насколько плохо, что связан с JVM?
404 1952756
Какая же ракетка с sweet-exp красивая и элегантная.
Скабочек не больше, чем в питоне. Теперь каждому, кто говорит, что лишп для скобкоблядей буду показывать мой код, и ехидно буду указывать на его си-портянки.

А DrRacket? Он же буквально стрелочками указывает, где у тебя ошибки.

Алсо, попробую racketscript (на крайняк Urlang), а то пока код только для лаб подходит. Планирую писать фронтенд на ракетке.
405 1952760
>>952756

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


Показывай
16136736846230.jpg22 Кб, 346x395
406 1952763
>>952760
Ноут уже выключил. Завтра кину в тред свои велосипедики.
image.png58 Кб, 1366x768
407 1953133
Как и обещал
408 1953141
>>953133
Да, анон, супер. Тебя ждет великое будущее.
409 1953193
>>953133
Ну да, таким кодом любому нос утрёшь
410 1953200
>>953133

> { }


Фу, хуже чем кожуропедики

> significant whitespace


Фу

> меньше скобочек


Ну блять, что плохого в скобочках-то? Просто подвинули левую скобку налево, т.е. вместо fn() писать (fn), fn(fn(fn(fn(fn())))) не особо лучше выглядит чем (fn (fn (fn (fn (fn))))).
411 1953282
>>953133
>>953200
плюсую вот этого анона, ты свои питоноповадки сюда не тащи, пиши как нормальные люди
412 1953305
>>591537 (OP)
Не люблю интерпретируемые языки. Не могу сказать, что мне нужна скорость, но мне просто приятно, когда я пишу программу на Си и я вижу, как быстро она работает.
413 1953308
>>953305
Держи в курсе.
Screenshot20210227193902.png15 Кб, 415x152
414 1953319
>>953133
Фи! Питон какой-то
https://ideone.com/9ZcYdd
Screenshot20210227194354.png45 Кб, 744x312
415 1953322
>>953305

>Не люблю интерпретируемые языки.


Я тоже >>953319
416 1953455
>>953282
Зачем загрязнять код скобочками? Будьте как хаскелисты, у них вообще скобочек нет.
417 1953456
Clojure thread смыло (если он был), поэтому спрошу тут. Ответ на лиспе тоже принимается.

Итак, у меня есть штука, которая принимает некий id. Если количество таких уникальных id (уже поступавших ранее + полученное теперь) не превышает некий заранее определенный лимит, то я должен пропустить это сообщение дальше.
Например, лимит 10. Значит я должен хранить в памяти 10 уникальных id. Изначально список таких id пустой, как только получили первое сообщение - записали его в список, вернули id. Получили второе сообщение - если id еще не в списке - сохранили, вернули id. Как толко размер списка стал 10, стали возвразать nil.
Не могу придумать, как это решить без использования изменяемой коллекции.
418 1953459
>>953456

> не могу написать stateful алгоритм без изменений

419 1953460
>>953456
(def limit 10)

;; Метод который вызывается когда в рабит что то прилетает
(def message-handler [_ message]
(if (limit-filter message) message nil))

(defn limit-message [message] (??????))

Примерно вот так надо. Как сделать без мутаьельного списка - хз
420 1953463
>>953459
Если я тупой, так и скажи, ты вот сейчас вообще не приблизил меня к решению.
421 1953466
>>953455
Гомоиконность же
422 1953470
>>953466
Гомоиконность может быть и без скобочек. Посмотри на пролог. Он даже более гомоиконный, чем лисп, ибо в нём нет редукции, только унификация.
423 1953474
>>953470
Те редуцируем вопрос

>Зачем загрязнять код скобочками?


в вопрос: почему лисп не пролог?
1598774790167.jpg18 Кб, 338x424
424 1953476
>>953470
Я посморю, как ты будешь программировать на унификации.
425 1953480
>>953476
Но в прологе нет редукции выражений, есть унификация и скрытый механизм исполнения предикатов. Гугли клаузы Хорна.
К примеру, я могу сделать так:
test(X + Y) :- writeln(X), writeln(Y).

:- test(2 + 2) % напишет в консоли "2\n2"
В прологе абсолютно всё - данные.

Так что для гомоиконности скобки не нужны.
426 1953483
>>953480
Нихуя не понятно. ВЫглядит как будто ты просто объявил функцию от 2 аргументов, и затем ее вызвал. В чем разница с тем же кодом на питоне?

def test(x,y):
....print(x, y)

test(2, 2)

Я могу вот это test(X + Y) :- writeln(X), writeln(Y). запихнуть в аргумент, или вернуть из функции?
427 1953484
>>953460
Никак да и незачем.
428 1953486
>>953483
В прологе предикаты, а не функции.
мимо другой анон
429 1953488
>>953483
Ты не очень умный.
430 1953492
>>953488
Ну пардон что я не шарю в языке документацией к кторому теперь только жопу подтереть, и не пишу по интепритатору в неделю как авторы sicp. Унификация-хуификация, ты сам то понимаешь, насколько это ирл беполезная хуйня, понимать что такое унификация в насколько узком контексте?
431 1953494
>>953492
Долбоеб, унификация = паттернметчинг. Пиздец, что ты забыл в треде лиспо-господ? Иди в js-тред.
432 1953500
>>953455

> Зачем загрязнять код скобочками?


у тебя видно питон головного мозга
>>953470

> Гомоиконность может быть и без скобочек


показывай лисповую гомоиконность без скобочек с сохранением семантики.
433 1953501
>>953494
Кстати, совет очень полезный (объективно), но нет.

Твой код на прологе (во имя чего ты его выучил?) выглядит как функция, объявляется как функция, вызывается как функция и работает как функция. Паттерн матчинга там в упор не вижу, если только + это не какой то специальный прологовский синтаксис, а обычный опреатор сложения, но откуда мне знать? Я не некромант
434 1953510
>>953501

> Твой код на прологе (во имя чего ты его выучил?) выглядит как функция, объявляется как функция, вызывается как функция и работает как функция. Паттерн матчинга там в упор не вижу, если только + это не какой то специальный прологовский синтаксис


Пиздец в жиру всё поплыло. Еще раз для тупых:

writeln(2 + 2) вывыдет на экран не 4, а 2 + 2. В прологе 2 + 2 это тоже самое что и +(2, 2), т.е обычный функтор, которым можно как угодно оперировать. Редукция не обязательное условие для тьюринг-полноты. Не спорь о том, в чём не разбираешься.
435 1953511
>>953500

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


red, tcl
436 1953512
>>953510

>Не спорь о том, в чём не разбираешься.


Я не спорил, если ты посмориш ьна мой первый пост, я там задал 2 вопроса, на которые ты овтетил толко спустя 3 поста. Это ты выбрал 3 поста сраться, прежде чем ответить. Извини, но я не пойду гуглить синтаксис пролога, просто потому что кто то запостил его в треде лиспа. Я спросил.
437 1953513
>>953500

> у тебя видно питон головного мозга


Haskell

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


Заменить скобки на табы, оставить скобки только в однострочых выражениях. Семантика кода никак не поменяется. Получится sweet-exp.
1614461187260.png422 Кб, 626x623
438 1953518
>>953512
Настолько неприятно, что от злости даже текст набрать нормально не можешь?

И при чём тут ситаксис, если говорилось об исполненении кода?
439 1953520
>>953512
>>953513

> Заменить скобки на табы, оставить скобки только в однострочых выражениях. Семантика кода никак не поменяется. Получится sweet-exp.


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

>что от злости даже текст набрать нормально не можешь


EW
441 1953524
>>953523
>>953518
У меня синтакс еррор, а ты что, компилятор?
442 1954076
Блять, на ракете вообще кто-нибудь пишет код или только на ДСЛи дрочат? Хули все библиотеки такие уёбищные?
Вот каждый раз, наслушавшись про ракету, решаю дать ей шанс и в итоге упираюсь в отсутствие нормальных библиотек. В этот раз http-клиента не нашлось. Пиздец.
443 1954084
>>954076
Мимокрок.
Пытаюсь сейчас транспилировать код в js. Решил пользоваться Urlang, ибо racketscript хоть и транспилирует, но не понятно, как в пользоваться готовыми интерфесами типа WebRTC, MediaRcorder, DOM API.
Пока выходит так себе. (quote) не работает, а quote - лучшая часть лиспа, ради которой и переходят на него.
444 1954089
>>954084
Ну а в чем профит?
445 1954094
>>954084
Почему не кожурскрипт?
446 1954096
>>954094
Да никому твоя кожура не нужна, успокойся уже.
447 1954101
Постинг починился?
448 1954102
>>954096
Я вообще-то вкатун, реально интересно...
2021-02-21-2003123840x2160scrot.png847 Кб, 3840x2160
449 1954107
>>952696
Тайдал как-то не зашел. У них там на лиспе то есть что-нить?
450 1954140
>>954107
это все - cl-collider? чет шишка встала
а что за красивые мониторы вокруг? это какие-то плагины к суперколлайдеру?
2021-02-21-2322103840x2160scrot.png1 Мб, 3840x2160
451 1954143
>>954140
На скрине он, ага.
Я последнее время пробую cl-patterns: реализацию паттернов из SuperCollider. Там есть несколько бэкендов, один через cl-collider и еще один через cl-alsaseq, которым я и пользуюсь чтобы отсылать миди на хардварные девайсы.
452 1954144
>>954140
Про мониторы забыл: это https://www.bitwig.com
453 1954154
>>954107
https://old.reddit.com/r/emacs/comments/lnwc72/i_will_be_demoing_an_emacscl_music_performance/
Было, но записи не осталось. Заебись они организовали, да?
454 1954157
>>954144
Бля, попробую вкатится. в лисп и емакс уже могу.
Пробовал как-то Renoise, но привыкнуть к интерфейсу так и не получилось, он не настолько настраиваемый как кажется, да еще closed-source. Перелез на Ableton Live, ну там совсем другой подход, плагинов/инструментов завались, но только гитару на нем записываю в конце концов. Короче, воркфлоу что там что там какой-то деревянный. А вот лисп выглядит как-то прям для души.
Есть еще плагины который посоветуешь, ресурсы без которых было бы тяжко?
2021-02-28-2119281143x1006scrot.png140 Кб, 1143x1006
455 1954165
>>954157
https://www.youtube.com/playlist?list=PLPYzvS8A_rTaNDweXe6PX4CXSGq4iEWYC
+
https://github.com/supercollider/scel (он обычно идет в комплекте с самим коллайдером)

Я пока не разобрался нормально с sclang и не разобрался в синтезе на реальных железках/плагинах, в cl-collider вкатится не мог хотя было приемлемо лиспо-опыта.
456 1954168
>>954165
Спасибо за ссылки. Да, я слышал вещь не простая, да но главное что б руки чесались : )
457 1954203
>>954165
А еще вопрос, bitwig как взаимодействует с sc? Он подключается как VST? И что он дает, чего не дает supercollider?
458 1954219
>>954203
Я отправляю миди из cl-patterns в железяки. Звук с них отправляется через аудиокарту в битвиг. Коллайдером в данном случае я вообще не пользуюсь.

Если звук генерится через коллайдер, то битвиг в целом не нужен.
459 1954221
>>954219
ок, понял!
460 1954257
>>954089
Профит в том, чтобы бросить курить JS. Однако бросать web я не хочу, ибо не найдешь ничего удобнее HTML+CSS. А js как бы вроде и норм, но с другой стороны, есть же вещи и лучше.

Вообще самый идеальный вариант - некий метаязык созданный для транспиляции и не привязынный к байтикам, виртуальным машинам, средам, экосистемам, и где ты можешь использовать любой синтаксис, который только пожелаешь. Но таких пока нет. Разве что использовать Nearley для транспиляции, однако он не тьюринг полный, потому на самом nearley непопрограммируешь монады и афинные типы.
>>954094
Как-то не знаю даже. Хочу рекет, ибо идея у него 10/10
461 1954971
>>954257

>Профит в том, чтобы бросить JS.


Есть же Elm, зачем ещё что-то?
462 1955000
>>954971
Так Elm не гомоиконный. Как я на нём макросы под свои нужды писать буду? Вот пишу я либу для работы с музыкой, как я буду преобразовывать синтаксис аккордов (типа D#4maj7) в понятный компьютеру Chord (Note (D # 4) maj7)? Парсить во время исполнения - для пидоров, у которых языки немощные.
463 1955672
>>955000
Ты мелодии захардкодить собрался что ли?
464 1955720
https://github.com/rabbibotton/clog
Видали новую инкарнацию weblocks? Шустренько работает, мне понравилось. Но всё равно считаю, что за веб гуй нужно обоссывать
465 1955890
>>955720
Сомневаюсь в нужности. Запустить сервак на компе, а это - на мобилке или планшете - ну ок, поиграться там, покрасноглазить - нормас. А на десктопы есть мкклим.

Кстати про McClim - кто нибудь окунался в него основательно? Какие отзывы, впечатления? Он ведь даже и не умер - не дали ему, пилят сейчас. Но его преподносят как какое-то божественное откровение. Прочитал туториал - ну обычный фреймворк. Да - универсальный. Для чего репрезентации и какие-то сверхкоманды охуительные - так и не понял. Сложилось впечатление немного бесполезной обобщенности. Дискас.
466 1955948
>>955720
Пиздец, ну и уродство. Автор библиотеки ничего не понимает в создании UI. Пусть лучше посмотрит на то, как выглядит UI в KDE и MacOS. и в новом гноме
467 1955957
>>955948
Мы как в /pr попал, мальчик? Все твои в /de сидят
468 1955959
>>955957
/de/ мертв. Как и весь двач
469 1956187
(lambda ()) это то же самое, что (progn)? В чем разница?
470 1956195
>>956187
Забыл скобочки добавить, чтобы вызвать функцию

> ((lambda ()))

471 1956213
>>956187
Лямбда - это лямбда, а progn - это progn. Но результат приведенных тобой выражений одинаковый, да.
472 1956764
>>956213

>Но результат приведенных тобой выражений одинаковый, да.


Нихуя

> (lambda ())


>#<FUNCTION (LAMBDA ()) {52B8C6BB}>


> (progn)


>NIL

clouseau.png133 Кб, 1678x851
473 1956806
>>955890
Пока хотя бы gtk-бэкенд не доделают, смысла пилить на нем приложения не будет.
И не только потому, что вырвиглазно. https://github.com/McCLIM/McCLIM/issues/35
474 1956834
>>956764
Я же забыл скобочки поставить >>956195. По крайней мере в емакс лиспе результат тот же
2021-03-03-2049221494x587scrot.png119 Кб, 1494x587
475 1956855
>>955000
А как быть с обращениями? У меня как-то аккордовая нотация не прижилась.
https://soundcloud.com/tatrix-imba/session-2021-03-03-03
476 1956866
>>956806
клозо я видел, да, интересная штука конечно, но обычный текстовый инспектор кмк и так покрывает 99% юзкейсов достаточно годно.
477 1956891
>>956866
Вложенные данные в слайме не очень удобно инспектировать
478 1956908
Анон, какие есть альтернативы smartparens?
479 1956913
>>956908
А они нужны?
480 1956917
>>956891

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


представляю, да, особенно если нужно просмотреть несколько вещей сразу
>>956908
и что не устраивает в smartparens? paredit? там у них на в ридми даже список похожих проектов есть
481 1956919
>>956913
Не знаю
>>956917

> и что не устраивает в smartparens?


Он какой-то странный, не понятно какую скобочку подвинет и что случится перед тем, как нажму хоткей
482 1956923
>>956919
ну смотри paredit тогда или lispy
https://github.com/abo-abo/lispy
483 1957472
В юниксе можно пайпать
ls | grep "regex" | sort -u | head -n10
ИМХО это очень просто читать, потому что считаешь слева направо и понимаешь, что происходит. В лиспе такое можно делать?
2021-03-04-1656241614x527scrot.png126 Кб, 1614x527
484 1957473
485 1958471
>>957472
Да, в кложе это из коробки, притом более гибкое, чем пайпы или оператор |> из окамла: есть варианты, которые протаскивают значение первым аргументом (->), последним аргументом (->>), явно именованным аргументом (as->), протаскивают только при выполнении условия (cond->), и т.п.

В остальные лишпы эту фичу тоже спиздили, ибо благодаря лисп-макросам все это можно реализовать как библиотеку, а не менять сам язык.
486 1958735
>>958471

>явно именованным аргументом (as->), протаскивают только при выполнении условия (cond->), и т.п.


Это ж просто анафорические макросы, им сто лет в обед
487 1958999
Мне сказали что Common Lisp на данный момент больше процедурный чем функциональный, почему же тогда в прикрепе лисп включен в функциональные?
488 1959000
>>958999
Потому что никто не запрещает писать функционально. Плюс есть кложа и прочие схемы.
489 1959004
>>958999

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


Шапка устарела много лет назад, лол. А половина перечисленого там уже чиллит на кладбище
threadshot-1615048451504.png44 Кб, 720x351
490 1959276
Простите что на англюсеке, пальцы болят от телефона
491 1959285
>>959276
Ну-ка, кто знает, зачем defun возвращает символ?
492 1959286
>>959276
http://www.lispworks.com/documentation/HyperSpec/Body/m_defun.htm
Все правильно он сказал.
И вообще, зачем так писать? Ради экономии на спичкахстроках?
493 1959290
>>959285
Все def* возвращают имя, так уж сложилось
494 1959295
Я вам гомоиконность принес:
((eval (defun f (x) x)) (quote x))
495 1959300
>>959295
((lambda (x) x) 'x)
496 1959332
>>959286
Я же говорю, что смысла нет, просто интересно почему так нельзя.
Оказалось, я тупой, нужно funcall.
>>959285
Нужно же что-то возвращать, это же лишп
497 1959386
>>944316
Чистейшая правда. Тот факт, что на нём пишет сама Лэйн, доказывает это.
498 1959506
>>959332

> Нужно же что-то возвращать, это же лишп


Почему стейтмент вообше должен что-то возвращать. Это же не выражение, это стейтмент, блядь. При попытке использования стейтмента (типа set, defn, и пр. ) как выражения должно выкидываться синтаксическая ошибка.
499 1959541
>>959506

> Почему стейтмент вообше должен что-то возвращать


Язык такой. Setq тоже возвращает значение переменной

> Это же не выражение, это стейтмент, блядь.


А еще это функция, она должна что-то возвращать.
500 1959542
>>959506

>Почему стейтмент вообше должен что-то возвращать.


Не "стейтмент", а макрос
501 1959714
>>959542
Макрос это правило замены одного терма другим термом. А set это стейтмент, потому что не должен возращать никаких значений.
502 1959731
>>959714
Какой set? Кому не должен? Ты о чем вообще, шизик?
503 1959744
>>959714

> set это стейтмент


set{q,f} это специальная форма.
Ничего плохого в
(when (equal (setq x (- x 1)) 0) ; можно заменить на incf для разнообразия
body)
нет, такое делают даже в Си
504 1959748
^ я затупил с примером, ну да ладно
Screenshot20210307140503.png59 Кб, 949x448
505 1959752
>>959744

>set{q,f} это специальная форма.


Только setq, если быть точным
506 1960068
>>959731

> Какой set?


Который (set x 5) из Scheme/Racket.

> Кому не должен?


Потому что set это не функция. Функции (лямбды) работают не так, как работает set.
>>959744

> Ничего плохого в


> (when (equal (setq x (- x 1)) 0)


Ничего плохого? Алло, state мутирует! Ты эффект используешь там, где его он не должен быть.
507 1960429
>>960068

>Ничего плохого? Алло, state мутирует!


О, секта непорочного состояния подъехала. Каюсь, грешно менять Богом заданные значения, но такова уж природа фон-неймановских машин.
Да и что плохого? Если ты вынесешь присваивание за скобки, то ничего не изменится. Давай, доставай свою методичку, рассказывать будешь, как и кому в том коде простреливают ногу.

> Ты эффект используешь


Не эффект, а результат вычисления (- x 1)

>Функции (лямбды) работают не так, как работает set.


(when (= ((lambda (y) (set! x y) y) (- x 1)) 0)
(display x))
А теперь можно, товарищ пресвитер?
Нахуя ты вообще схему сюда приплёл?
508 1960463
>>960429

> Не эффект, а результат вычисления (- x 1)


Изменение скоупа - эффект

> А теперь можно, товарищ пресвитер?


Нет нельзя.
509 1960498
>>960463

>Нет нельзя.


Ты скозал? А компилятор с тобой не согласен.

Ну ты какой-то хуёвый сектант. Ни бэ, ни мэ. Даже свою позицию отстоять не можешь.
510 1961185
>>959276

>Why not?


Потому что коммоншлишп - это лишп-2, у него отдельные пространства имен для функций и для всего остального.
511 1961188
>>959506
Это выражение, а не стейтмент. Разделение выражение\стейтмент вообще артифакт говноедских язычков, в нормальных языках все является выражением.

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

>>960463
Там нет изменения скоупа, значения слова "скоуп" тоже не понимаешь.
513 1961211
>>961185
Но это елисп
514 1961222
>>961211
Елисп - тоже лисп-н.
515 1961391
>>961188

> Это выражение, а не стейтмент


Начнем с того, что print, read, write, и прочее - не функции, а процедуры (эффекты). Процедура делает что-то: обращается к дб, делает сетевые запросы, и в конце концов, читает файлы. Процедура ничего не возращает, но может модифицировать переменные.
Ты можешь использовать выражение внутри применения эффекта (процедуры), но не наоборот.
В чистых языках программирования эффекты (процедуры) либо вынесенны за компилятор, либо являются отдельными сущностями, отличные от функций.

> Там нет изменения скоупа


set! не меняет скоуп (область в которой хранятся переменные)? Ну ок.
516 1961394
>>961391
У вас паскаль протекает
517 1961399
>>961394
Кто его вообще сюда пустил?
518 1961403
>>961399
Пускай будет же.
Кто бы тхреад перекатил.
519 1961405
>>961403
Я собирался чуть дополнить шапку и перекатить, но отвлёкся и забыл.
520 1961447
>>961391

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


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

> пишет сама Лэйн


Что за вайфу? Няшная?
>>961391

> Процедура ничего не возращает, но может модифицировать переменные.


Это ты на каких основаниях решил что процедура ничего не может возвращать? Мань, я тебе открою секрет, но твоя шизопаскалевская терминология тут никому не интересна.
522 1961488
>>961391

>print, read, write, и прочее - не функции


Функции.

>Процедура ничего не возращает


read - отличный пример процедуры, ага.

>Ты можешь использовать выражение внутри применения эффекта (процедуры), но не наоборот.


И наоборот могу, но у тебя каша в голове.

>В чистых языках программирования эффекты (процедуры)


1. Схема - не чистый язык.
2. "Эффект" и "процедура" - это разные понятия.

>set! не меняет скоуп


Нет.

>скоуп (область в которой хранятся переменные)


Скоуп - это не область, в которой хранятся переменные.

В общем нахватался вершков, но усвоить смысл понятий не успел. Вместо того, чтобы пытаться спорить, лучше продолжай обучение. Пока неуд, придешь в конце четверти на пересдачу.
523 1961489
>>961405
Кстати, оп кложетреда задолбался его бампать и он утонул, добавьте ссылку на шапку кложетреда в итт.
524 1961493
525 1961495
>>961488

> Нет.


"Нет, меняет" или "нет, не меняет"?
мимо
526 1961622
>>961488

>read - отличный пример процедуры, ага.


Ну да. https://www.freepascal.org/docs-html/current/rtl/system/read.html
Казалось бы, причем тут лисп?

>Скоуп


Областью видимости она называется.
Рунглишопроблемы у товарища: слово запомнил, а смысл забыл.
527 1961632
x
528 1961745
{Основные диалекты}
:: 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 - cм. соседний тред (ОПу почившего надоедло бампать, шапка здесь: https://rentry.co/9ve9d )
529 1961746
{Основные диалекты}
:: 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 - cм. соседний тред (ОПу почившего надоедло бампать, шапка здесь: https://rentry.co/9ve9d )
530 1961771
Тред утонул или удален.
Это копия, сохраненная 17 мая 2021 года.

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

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