Лиспы - семейство языков программирования. Характерные особенности лиспов: динамичность, гомоиконность (код как данные), программируемость.
{Основные диалекты} :: Clojure - единственный лисп-образный язык, который тебе нужно знать! Много интерпрайз, самый большой миска рис (пик стронгли релейтед)! Делать фулстак дата-дривен опердени с метагенерацией, получать удар одобрение партия, добрый кошка-жена! Шапку читать здесь: https://rentry.co/9ve9d :: 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).
Оп жирный тролль. Кложа это джава. А джава это зло. Чтобы пользоваться программами на джабе, надо jre пользователю скачивать. Хеллоу ворд будет сотни мегабутов весить! Тысячи их!
Кложефанбой - оп-перекатчик 13-го (несчастливого для предыдущего опа) треда; без комментариев.
Петухонодаун - некомпетентный залетный аноним, плохо разбирается в комплюктер сайенс, разработке ПО и программировании вообще. Как правило задает глупые вопросы и пытается троллить, но посты выдают в нем школьника.
Типикал коммонлишпер - ненавидит кложу, ибо не тру лисп. Ненавидит другие ЯПы, ибо не тру лисп. Ненавидит залетных анонимов, ибо не тру лисп. Ненавидит печеньки, щеночков и Иисуса Христа, ибо не тру лисп. Ненавидит ТЕБЯ, ибо не тру лисп.
Просветленный - гомоиконность, чувак! Я так преисполнился в познании, чувак, что весь этот синтаксический сахар, чувак, мне просто до пизды, чувак! Чистое сияние вечных скобок, чувак! Если стандарт языка нельзя распечатать на одном листе и скрутить из него самокрутку, то... кстати, передай-ка мне р5рс, чувак... О чем я там, чувак?.. Охх ебать мой call/cc, чувак, вот это стандарт!
Вкатывальщик - решив последовать совету из шапки раздела скачивает SICP, ничего не понимает, скачивает слоника, ничего не понимает, идет в sicp-тред, ничего не понимает... Через некоторое время эволюционирует либо в петухонодауна, либо в просветленного.
Кабанчик - изредка заходит в тред и оставляет полтора поста про мощь языка, bottom-up проектирование, бизнес-ориентированные DSL'ы, 500%-ое увеличение time to market и генераторы динамических оперденей. Тайна его существования покрыта мраком.
Байтоеб - вкатывается в тред с единственным вопросом: "хелло ворлд на CL/racket/clojure/языкнейм занимает в памяти 15 килобайт, ВЫ ЧТО ОХУЕЛИ?! Я на няшной компилировал в 1997 году во время практики в универе хелловорлд и он занимал 14 килобайт! ЧЕ-ТЫР-НАД-ЦАТЬ!!! ВЫ ЧТО ОХУЕЛИ?!!"
Тайпоеб - вкатывается в тред с единственным вопросом: "у меня вот сейчас котик прыгнул на клавиатуру и вместо LazyAbstractOpticalEndoProfunctorHui напечаталось LazyAbstractOpticalEndoProfunctorHuii, и что бы вы думали, мне КОМПИЛЯТОР ПОДСВЕТИЛ ОШИБКУ, ха-ха, а вот вы бы следующие два дня потратили на отладку, ха-ха, а у меня КОМПИЛЯТОР ПОДСВЕТИЛ ОШИБКУ, прикиньте, ха-ха, НУ ЧТО КАК СОСЕТСЯ, ЛУЗЕРЫ?! ХА-ХА HUII ВМЕСТО HUI И КОМПИЛЯТОР МНЕ ЭТО ПОДСВЕТИЛ, ХА-ХА, СТАТИЧЕСКАЯТИПИЗАЦИЯКОМПИЛЯТОРПОДСВЕТИЛКОМПИЛЯТОРубТИПЫейтеКОМПИЛЯТОРменякТИПЫтонибКОМПИЛЯТОРудьПОДСВЕТИЛ"
Senior Developer - заходит в тред рассказать о том, почему ФП не работает в реальном мире и как он автоматизировал выгрузку налоговой отчетности из 1С в сайт на вордпрессе, за что ему повысили зарплату до 50к (серыми), и как он уже купил жигу, пока задроты тут сидят и дрочатся со своими лишпами-хуишпами.
Нормальный человек - заходит в тред спросить совета по сабжу. Зашел на двач ты, ищешь советов мудрых; сосни-ка хуйца. Перекатывается в реддит\слак.
>>2396301 Всё правильно ругается >property list n. 1. a list containing an even number of elements that are alternating names (sometimes called indicators or keys) and values (sometimes called properties).
У тебя произвольный список, а не plist что ли? Ну, напиши свою функцию (defun yoba-getf (list key) ..(loop :for (x y) :on list ...........:if (eql key x) :return y))
>>2396342 бля, это так странно говорить ТЫ ЧТО-ТО МОЖЕШЬ, когда речь про лисп, ведь по сути в лисп можно вообще все. и даже для этого есть какой-нить ебаный макрос
Я прозрел Да, до меня допирало очень долго. Особенно мешали долбоёбы не только здешние, которые убеждали меня в обратном. Лисп компиляторы - не компиляторы. Программу на лисп нельзя скомпилировать в обычном понимании этого слова. Т.е. так, как пытался делать я.
Для Лиспа нет компилятора. Вообще то, это так, поскольку для серьезных Лисп-программ полная компиляция противопоказана - ведь в этом языке единство кода и данных поддерживается на все 100% и зачастую программа синтезируется непосредственно во время выполнения.
Да, я был слишком туп, чтобы допереть до этого самостоятельно. Никогда прежде не встречал и не понимал гомоиконичность.
>>2395633 (OP) А что вы делаете на кожуре то? В плане производительности она же просто дно, что по цпу, что по потреблению памяти. Бизнес-логику некритичную катаете? Нет же ни одно серьезной и уважаемой системы в JVM мире на кожуре. Уровня elasticsearсh или kafka.
>>2396437 Это не ты ли тот аутист, что избегал средств интерактивной разработки? >Программу на лисп нельзя скомпилировать в обычном понимании этого слова. https://github.com/atlas-engineer/nyxt/blob/master/nyxt.asd (asdf:make 'nyxt/gi-gtk-application) >Для Лиспа нет компилятора. Есть. Разница только в том, что он является частью рантайма, а не внешним инструментом.
>>2397201 > Это не ты ли тот аутист, что избегал средств интерактивной разработки? Я. Но я не избегал REPL. Я просто охуевал с того, что программу, написанную на языке программирования нельзя скомпилировать. И никто из вас, учёных в говне мочёных, не объяснил, что может быть так, что компилятор может быть не нужен. Вот в схеме компиляторы есть, поэтому я и прихуел, что что в СL так нельзя. Но вот я попробовал что-то написать и был приятно удивлен. Ясен хуй, что имакс тупая параша для быдла. Я всегда буду хуесосить имакс. Не за то, что он сложный, а за то, что он раздутый и медленный. Имакс блять термальная программа работает хуже, чем браузерное говно vscode. Но это и так было понятно, что Столлман тупой ебантяй, долбоёб и фанатик.
А твой asdfghjk; я уже обоссал. Это хуйня, а не компилятор. У CL нет компиляторов. фыва это скорее что-то типа make из мира Си.
> Есть. Разница только в том, что он является частью рантайма, а не внешним инструментом. Но это обсосная хуйня. Нахуя мне холлоуворд в 20 мегабутов. И ты ебанутый долбоёб, если думаешь. будто это нормально. Это не нормально. Рантайм блять. Это не jvm, чтобы таскать с собой всю хуйню. Если ты не ебанько, то твой компилятор должен выдавать только машинный код, относящийся к алгоритму работы программы, а не в хуй дуть. В хуй дуют только пидоры. лисп не для пидоров, это раст для пидоров
Я вообще бляя теряяюсь. Лисп это загадка нахуй. Я будто встретил ебанько-тян и вот втюрился в нее, а она вот такая вот. ССижу пержу, разгадываю тайны ее глубокой натуры. Так же и лисп. Мне говорят иди наххуй, а я ввсе равно сижу и думаю про лисп. Просто вы бля ходите как говном намазанные, для вас лисп диковинка. Хуй проссышь, но для буду по факту отвечаю, тут ебать ли найдется реально тру LISP HACKER. А вот именно такие люди с горящими глазами и нужны, чтобы объяснять лисп. Ни в коем случае не продвигать и не пропагандировать. Лисп должен оставаться граалем, а не как питон. Питон знает каждый вкатыш-скуф. Так и я только питон знаю. Но я начал учить еще до всего этого. А вот лисп это писечка, это вещь нишевая. Это для себя. Я не ебанутый, я просто очень долго искал что-то особенное. Я пробовал nim, v, vala, но лисп это что-то другое совсем. Это что-то, что кажется по-насстоящему правильным. Это как когда тебя трахнули в жопу, а тебе даже понравилось. вот и тут также.эя забыл нахуяя я это писал я просто пьяны чуктк
>>2397341 Ну пиздец ты аутист, создаешь себе проблемы там, где их нет. Как тот селюк, которому дали бензопилу вместо обычной, а он жалуется, что не пилит, а заводить он её не собирается, потому что другие пилы и так пилили, а бензин вообще для быдла.
Как описывать asdf-систему приложения и как его собирать в привычном для сишника понимании - я тебе показал. Пиздуй разбираться или прекращай срать в тред.
>>2396787 >В плане производительности она же просто дно Быстрее руби и питона, ты ведь уже переписал все с руби и питона на раст?
>Нет же ни одно серьезной и уважаемой системы в JVM мире на кожуре. Весь бэкенд обработки данных о покупках у волмарта, весь бэкенд нюбанка (это как тинькоф, только бразильский).
>Уровня elasticsearсh или kafka. Storm? Ну и circleCI кстати.
>>2397940 >Быстрее руби и питона Слабо в это верится. Кложа медленнее явы в несколько десятков раз, это как раз уровень питухона. К тому же, тормоза последнего компенсируются обертками над сишными либами, коих достаточно на все случаи жизни, а руби без рельсов никому нахуй не нужен хотя язык хороший >Весь бэкенд обработки данных о покупках у волмарта, весь бэкенд нюбанка (это как тинькоф, только бразильский). Это не показатель. Вебпарашные круды и на пэхэпэ прекрасно работали и работают. А он ещё и странички генерирует, а не только жисон отдаёт.
>>2397201 >Это не ты ли тот аутист, что избегал средств интерактивной разработки? Нет, не он. Я вообще выкатился из треда, потому что ИРЛ и крестомакакинг.
>>2398364 Да я не про это. Мне как-то всё равно на т н "язык ненависти" и плохие словечки. Но я всегда когда вещаю, то стараюсь, чтобы было матюки и оскорбления < посыл, идея, информация А обычно в лисперских кругах получается, что тупой пиздеж, надутая ирония, нытьё, оскорбления > какая-то полезная информация
У нас такого нет, но обычно прибавляется лютый дроч на имакс и как мантру тебе объясняют раз за разом, какую программу выбрать. (имакс) Каким файлообменником пользововаться (имакс). И так далее (имакс).
ПО никто не пилит. Кажется, что лисп учат чисто чтобы обоссать другие языки и выёбываться знанием лиспа. А когда кто-то реально заикнулся про то, что хочет использовать лисп, тут труба иронии прорывается и наивного анона смывает с головой
>>2398078 Ну братан, так-то не толстил, все так и есть, слой динамических абстракций очень тяжелый и за это надо плотить. И JVM не могет это нормально оптимизировать, а если сюда добавить еще иммутабельность и прочую фп-шизу, то это просто перфоманс-анус, с которым вообще нихуя не сделать.
>>2398078 Ничуть не толстил. На стековерфлоу про кложуру дохуя вопросов "бля, а хули так медленно". Настолько дохуя, что можешь из них фортунки сделать. И практически всегда там дцатикратное отставание от джавы. И практически всегда в ответах появляется клоун, который предлагает использовать интероп, чтобы срать, не снимая свитер.
>>2398530 Зачем тебе куча макак, когда можно нанять одного лиспера уровня Никитонского, который за неделю сделает тебе все по красоте? Это не джава какая-нибудь, где ты только первые полтора-два года будешь MVP пилить, а потом еще месяцев 8 рефакторить, чтобы оно хоть какую-то нагрузку держало и не сбоило по кд.
>>2398530 Это значит, что кожуристы сами макаки, только более дорогие. Ведь решают задачи макак и варяться в той нише: рестухи, банковские залупени, итд перекидывание жсона. Нет такого, что нанимают кожуристов писать какие-то сложные телеком системы, базы данных или элементы инфраструктуры. Все задачи абсолютно примитивные и макаковские, которые могут за более дешево наклепать те же питонисты или нодеры.
>>2398786 а) потому-что не сделает за неделю б) когда таки сделает, это будет ультра-тормозная залупа в) реально прошаренные и талантливые кодеры не будут опускать до задач макак. им это просто не интересно, это так не работает
>>2398377 >ПО никто не пилит. Кажется, что лисп учат чисто чтобы обоссать другие языки и выёбываться знанием лиспа. А когда кто-то реально заикнулся про то, что хочет использовать лисп, тут труба иронии прорывается и наивного анона смывает с головой Вот поэтому ты заходишь в этот тред только один раз.
Получаешь ушат говна и оставляешь "знающию людей" знать то, что они "знают". А потом пиздуешь писать на лиспе так, как тебе нравится. Ну, или как выражаются здесь: "Есть ножом суп". Тащемта нормально кушается.
>>2398984 да я в курсе про лем и про климакс, но оно все говно, потому-что они косплеят имакс и имакс - говно. я дрочил на него поначалу, но переписывать имакс со всеми его охуитительными решениями и уебанской архитектурой с фаллософией буферов - это нужно быть долбоебом. но я же не долбоеб, не так ли? не охота пока много рассказывать. ну это, знаешь да, проще разрабатывать втихоря, хотя бы базу и фундамент, где я определяюсь с базовыми конструкциями. просто скажу что смена языка далеко не самая главная фича, меня больше интересуют конкретные приложения ради которых я это все затеял, и шоб оно все было кастомизируемо дохуя. ты спросишь зачем тогда я написал что пилю замену но при этом не хочу о ней ничего рассказывать - да хуй знает, прост захотелось.
>>2399009 Общечеловеческий это опыт. И весьма бытовой. Если тело наотказ не отторгает говно, то оно к нему привыкает, а потом даже может быть начинает вахтерить в ирке и защищать его всеми правдами и неправдами. С эклипсом видимо у всех было отторжение. Фанбоев у имакса достаточно, но даже опытные в упор не видят настоящих проблем имакса. У них спроси какие в емаксе проблемы, они тебе скажут, юзабилити, лучше дефолты, всякая дристня короче вроде вида кнопок. Я это не придумываю, с год назад был тред в мейлинг листе мол как улучшить имакс, там все примерно этим и ограничилось. Ну то есть проблем у имакса нет, но почему-то все идут на вскод. Охуительно, на правда ли? Правильный ответ, и там нихуя об этом никто не написал: наконец нужно понять что буфера - это зло, что елисп код всегда почему-то - говнокод (внезапно) и что даже какие-то базовые хотелки кастомизации занимают уйму времени, а потом выбросить имакс нахуй и запилить наконец что-то дельное. Естественно на нормальном диалекте. Всех смущает мол миллиард пакетов, как же так, как же мы их заменим, О ГОСПОДИ СПАСИТЕ, на что я отвечают четко и ровно: их мы тоже отправляем без почестей в ёбаную буржуйку. Переосмысляем жизнь и пилим все с нуля, в этот раз Как Надо (ТМ). > Сублайм, атом, вскод мне просто интересно, но как именно они косплеили имакс? те же плагины были и у вима, например, и он гораздо распространеннее сабжа.
>>2399047 >У них спроси какие в емаксе проблемы, они тебе скажут, юзабилити, лучше дефолты, всякая дристня короче вроде вида кнопок. Я с ними согласен. Емаксу в первую очередь переработка интерфейса нужна. Впрочем, doom и spacemacs отчасти эту проблему решают. А в остальном, JIT уже завезли, елисп практически эволюционировал в борщелисп. Многопоточность бы ещё добавить и ffi. >Ну то есть проблем у имакса нет, но почему-то все идут на вскод. Потому что тот привычнее и дружелюбнее к нюфагам. Очевидно же. >Правильный ответ, и там нихуя об этом никто не написал: наконец нужно понять что буфера - это зло Чем они тебе не угодили? Какую сущность предлагаешь взамен? >елисп код всегда почему-то - говнокод (внезапно) Если сравнивать расширениями на жс для того же атома, то понимаешь, что бывает намного хуже. > Сублайм, атом, вскод >мне просто интересно, но как именно они косплеили имакс? Программируемые редакторы. Тот же сублайм отличается только питоном вместо елиспа, более привычными хоткеями в редакторе, более приятным внешним видом и расположением минибуфера. И ЕМНИП тем, что у него буферы исключительно текстовые. >те же плагины были и у вима, например, и он гораздо распространеннее сабжа. В vi их не было, добавили уже в vim. И угадай, чем вдохновлялись. И тот факт, что большинство его расширений портировано с емакса, это подтверждает.
>>2399099 > Потому что тот привычнее и дружелюбнее к нюфагам. Очевидно же. Очевидно же что это не так. Вот смотри, за сколько там, 40 лет?, никто не запилил дружелюбный и привычный интерфейс для ньюфагов на всемогущей платформе. Тебе не кажется это как минимум странным? Или может платформа не такая уж и всемогущая? > Чем они тебе не угодили? Какую сущность предлагаешь взамен? в двух словах сложно все сформулировать. как выкачу, так запилю статьи. > В vi их не было, добавили уже в vim. И угадай, чем вдохновлялись интересно, не знал
>>2399107 > привычнее и дружелюбнее ну всмысле да, конечно они популярны из-за того что там можно мышкой накликать себе весь компот и вот ты уже вкатился за 3000кк в секунду, но я к тому что в емаксе такого не запилили и не запилят, потому-что емакс как платформа не состоятельна для серьезных и продвинутых приложений (даже текстовых) и в этом его реальная проблема. так же ты в нем можешь сделать любую хуйню, но она объективно выест тебе мозг прежде чем ты заставишь ее нормально работать, это тоже проблема.
>>2398767 > Мальчик, а ты как вообще на этот сайт попал? С лурки фото_рак_.bmp
>>2398994 > имакс - говно This. А еще я охуеваю с людей, которые реально искренне любят имакс. Хотя бы за это убожество Столлману надо поломать руки. И то, что имакс - платформа разработки под лисп де-факто это просто пиздец. Причем чтобы сделать нормальную среду разработки лисп не надо ловить звёзд с неба, все пункты и так понятны. Буквально что и как делать - первое, второе, третье. Но лисперы любят жрать говно. Nuff said > хотя бы базу и фундамент Логично было бы пилить на CL, но как показывает практика, даже веб-говно вскод быстрее парашного имакса. Так что даже если писать лисп код в браузере, то это будет лучше, чем что либо еще Хотя я не уверен, что под CL есть нормальные удобные графические библиотеки. Даже если и есть не факт, что они живы
>>2399127 > И то, что имакс - платформа разработки под лисп де-факто это просто пиздец. ага > Хотя я не уверен, что под CL есть нормальные удобные графические библиотеки. Даже если и есть не факт, что они живы ну вот этим я и занят для начала - CL гуи либой. ибо что есть - либо мертво, либо говно, но это, того... есть чем вдохновлятся. будет без хуйни, без вэбни, без говна, все по-человечески. делаю для себя по сути. а то чувствуешь себя обезьяной какой-то среди гор говна, равнин мусора, как персонаж зеленого слоника, как ебанавт. первопроходцы айти, мать его за ногу, и главное всем похуй, все привыкли, у них и все заебись, ну или органы чувств стерлись в труху, хуй их знает. пойду халвы наверну.
>>2399107 >никто не запилил дружелюбный и привычный интерфейс для ньюфагов на всемогущей платформе. Некому было. Откуда взяться дизайнерам в попенсорсе? Это потом, когда хипстота выкатила свой недоемакс, стали представлять, как должен выглядеть нормальный интерфейс. После этого и появился spacemacs, а за ним и doom.
>>2399116 > потому-что емакс как платформа не состоятельна для серьезных и продвинутых приложений (даже текстовых) Да вот нихуя, а в точности до наоборот. Именно потому его все и копируют, что емакс - такая продвинутая платформа и под него написано много крутых вещей, от некоторых охуевают даже за пределами сообщества (org-mode, например). Под хипстоту типа вскода/атома никогда столько не напишут, но не потому что они как платформа хуже, а потому что порог входа ниже и соответственно сообщество более аморфное.
>>2398479 По потреблению памяти +- одинаково (шо то говно, шо это, но кожура хотя бы дает тебе нормальный высокоуровневый язык взамен за производительность). Алсо ты можешь писать на кложурце под ноду как бы.
Алсо "переписывать с питона на жс" - это просто квинтэссенция (известной части) современной индустрии разработки ПО.
>>2399047 >но почему-то все идут на вскод Потому что вскод делает и пиарит одна из крупнейших в мире корпораций, а не рандомный анон с харкача, ну камон. Плюс юзабилити и дефолты для среднего макакена.
>Переосмысляем жизнь и пилим все с нуля Никогда такого не было и вот опять!
>>2399107 >никто не запилил дружелюбный и привычный интерфейс для ньюфагов Spacemacs как бы оно и есть. Кроме него еще тыщи специализированных каштомных сборок были, типа чисто органайзер, чисто редактор для писателей-непрограммистов, чисто идешка для %языкнейм%. Просто это никому нахуй ненужно.
>>2399127 >Хотя бы за это убожество Столлману надо поломать руки. Он его запилил в 80-ых, до сих пор все пытаются с разной степенью успешности его копировать, буквально все - от браузеров до ДЕ.
>>2399436 > . После этого и появился spacemacs, а за ним и doom. ага, вот только лучше от этого не стало лул, ну разве что вкатиться легче кому-то, да. >>2399453 > Да вот нихуя, а в точности до наоборот. а вот нихуя да нихуя. то что емакс всемогущ - это мантра заядлых завсегдатаев ИХНЕГО мейлинг листа, ничего слаще редьки не жрали. орг-модом я пользуюсь уже много лет и считаю его дерьмом. один из лучших сортов дерьма что есть, но все равно дерьмо. орг-мод - одна из вещей которые открыли мои глаза на всю реальную убогость емакса. вот ты говоришь орг мод охуенен, а я говорю что он уже встретил свой потолок и как-то радикально лучше сделать его не смогут. ты смотришь в прошлое, а я смотрю в будущее. когда у тебя скопится собственный список хотелок для емакса и орг-мода (хотя бы такой который нужно листать что бы весь прочитать), ты наверняка придешь к таким же выводам что и я, потому-что поймешь что все из этого списка делается через жопу, или вообще не очевидно как делается. а то что миллион мух там что-то копируют меня мало интересует. щенячий восторг затмил им мозг, они не способны не копировать.
блять, пацаны, это может не очевидно, но я люблю емакс на самом деле. я понимаю почему он крут и почему люди его защищают. поделия на электроне конечно же лютой сранью считаю. но еще я понимаю что у емакса есть ебические такие недостатки (фатальные, десу), к сожалению, неисправимые. и сообщество будет заниматься байкшеддингом, будет дрочить вприсядку прежде чем признать что они долбоебы, что они уперлись в потолок и что пора бы переосмыслить чем на самом деле должна быть такая платформа. вот и все.
>>2399544 >> Переосмысляем жизнь и пилим все с нуля > Никогда такого не было и вот опять! я еще не видел никакого переосмысления нигде. > Потому что вскод делает и пиарит одна из крупнейших в мире корпораций ну типа и это тоже решает. только они не перетянут реальную аудитория емакса, людей которые понимают и ценят его мощь.
>>2399536 > Они это делают не по прихоти, а чтобы переиспользовать гигатонны уже написанного под него кода, очевидно же. Ну да. Но какая разница сколько там гигатонн кода, если он - говнгокод? А говнокод он из-за убогой архитектуры. > (lighttable) у этих были какие-то правильные мысли, жаль они жс уебки без сознания > буферы" как будто это что-то плохое. не столько плохое сколько злое. их хватает ровно настолько что бы валяться ленивым хуйлом в грязи и быть довольным свинтусом, но многим недостаточно что бы просто сказать "заебало".
>>2399561 >ага, вот только лучше от этого не стало лул Объективно стало намного лучше. И гуй причесали, и хоткеи разных пакетов к общему виду привели, и конфиг системой модулей организовали, и дефолт хороший собрали, и порог входа снизили. >один из лучших сортов дерьма что есть, но все равно дерьмо. Да я уже понял, что ты слишком хорош для этого мира. >ты смотришь в прошлое, а я смотрю в будущее Пока что ты только беспочвенно поливаешь говном. >когда у тебя скопится собственный список хотелок для емакса и орг-мода (хотя бы такой который нужно листать что бы весь прочитать) Список в студию.
>>2399551 То-то у нас дохуя де со встроенными психотерапевтами, дохуя браузеров на лисп, в каждой де ебанутые хотеки, а хром и лису вот-вот переведут на монопоточность. Кстати, разрабов nano долго хуесосили, что их редактор весит слишком мало, ведь любому имаксеру понятно, что редактор должен весить минимум 100500 мегабутов, должен уметь варить кофе и иметь свой собственный язык программирования для кофигов. Настоящие тру программисты знают,что если от редактора нельзя получить защемление нервов в руках от горячих клавиш, то такой редактор не тру и говно. Имакс по-настоящему показал уровень качества софта
>>2399601 > Да я уже понял, что ты слишком хорош для этого мира. нет, просто емакс слишком хуев для меня > Пока что ты только беспочвенно поливаешь говном. очень почвенно, но что бы раскрыть суть нужно много и долго писать. а в двух словах мне не интересно. да я и не пытаюсь кому-то что-то тут доказать. > Список в студию. а что он тебе даст? мне он даст геморрой потому-что ты будешь уточнять пункты, а потом предлагать методы решения и кукурекать мол это не невозможно. и что, у тебя своего списка нет? ты емаксер вообще такие реквесты делать?
>>2399622 >очень почвенно, но что бы раскрыть суть нужно много и долго писать Да ты уже накатал несколько стен голословщины и не смог родить ни единого аргумента. >> Список в студию. >а что он тебе даст? Всё с тобой понятно. В следующий раз готовься лучше. >>2399577 И судя по всему, ты не разбираешься в терминологии. Буфер - не то, что ты думаешь. Это просто контейнер для текста/изображений/виджетов.
>>2399648 Маня, я знаю что такое буфер. И мне похуй что тебе там понятно. Я тебе прямо сказал что я сюда не пришел что-то тебе доказывать, хуле тебе еще надо?
>>2399648 Почему-то фанбои сильно оскорблаются когда критикуешь их любимый софт. Я пришел чисто по фану полить говном имакс, услышать мнения окружающих, но всегда находится аутист которые требует аргументов, верещит про какую-то хуйню, думает что ему кто-то что-то должен.
>>2399658 >когда критикуешь их любимый софт >критикуешь Значение знаешь? Я из тебя критику чуть ли не клещами вытягивал, а ты так ничего и не смог родить. Какой-то совсем беспомощный тролль
>>2399658 >критикуешь их любимый софт >находится аутист которые требует аргументов А критика без аргументов это случаем не contradictio in adjecto? Так-то у тебя в постах проглядывается лишь неразвернутое личное нытье.
>>2400949 > The Jews of Israel are simply being Jews. Jews are an existential threat to the human race. база > Next time, you hear someone say, “God tells us that we must support Israel” you will have the clear Christian answer that just the opposite is true! но вообще капитанская портянка
>>2401056 Если ты используешь емакс достаточно долго, ты сам придешь к выводам к которым пришел я. Если ты залетный, мне нехуй тебе что-либо доказывать.
>>2401056 Но без шуток, я просто не хочу сейчас ввязываться в споры и не охота ничего доказывать шизам. Что бы все объяснить и показать альтернативу, придется дохуя писать, но лучше я это напишу в подобающем формате, а не здесь.
Где можно посмотреть все функции стандартной библиотеки CL? Я про всякое встроенное говно типа sort, car, cdr. Нигде не могу найти полный список. Цепляю функции только из примеров
>>2401249 пацаны, загляните через годик где-то, я все распишу, уже с кодом и примерами не бугуртите сильно что похож на жир, я не жир прост зашел потыкать палочкой местный народ
>>2401249 >Что я делаю не так? Тоже не знаешь, что такое буфер. Это просто объект, представляющий документ в памяти редактора. В каждом редакторе есть подобная сущность.
>>2399561 >я еще не видел никакого переосмысления нигде Тогда тебе нужно для начала заняться рисерчем prior art'а.
>>2399577 >Но какая разница сколько там гигатонн кода Подумой, и ты узришь ответ.
>>2399606 >То-то у нас дохуя де со встроенными психотерапевтами Ты не поверишь... впрочем, лень даже печатать тебе ответ...
>редактор весит слишком мало, ведь любому имаксеру понятно, что редактор должен весить минимум 100500 мегабутов ...потому что ты очередной убогий шизик с зекача.
>>2401378 > Тогда тебе нужно для начала заняться рисерчем prior art'а. то есть переосмысления как такогого не было? ну так покажи если было. > Подумой, и ты узришь ответ. я уже узрел, братишка
хотел поучить лисп и пописать в клёвом редакторе, выбор пал на спейсмакс(обычный емакс ебал в жопу) установился только с пятого раза без ошибок чтобы сохранить настройки зума(шрифта) надо ебаться с конфиг файлами ебаными в которых чёрт ногу сломит действительно, почему лисп не популярен, наверное потому, что прежде чем начать что-то делать надо получить докторскую степень по емаксу и пердольке этого говна ну да, не осилил текстовый редактор и что ты мне сделаешь?
>>2402016 >документированный конфиг на 20 строк >ебаться >чёрт ногу сломит Ну, что тут сказать, спасибо емаксу, что бережет наше уютненькое сообщество от всякого быдла.
>Банковский сектор - то же самое. Во-первых не то же самое. По большей части это кучи смрадных рестух, перемотанных ESB. Во-вторых что ты, блядь, вообще несешь, банковский сектор в основном на жабе, там кожуру использует буквально полторы конторы.
>datomic Это довольно маргинальная хуйня, которую практически никто не использует. Она даже не опенсорс, чтобы можно было более подробно взглянуть на продукт. Т.е. ничего уровня cassandra или elastic нет.
>>2402362 >In previous releases a large part of Apache Storm's core functionality was implemented in Clojure. >The new Java-based implementation has improved performance significantly Не тормозит! Твердо и четко! >and made Apache Storm's internal APIs more maintainable and extensible На яве? Более гибкий и поддерживаемый? Кек
>>2402446 > While Apache Storm's Clojure implementation served it well for many years, it was often cited as a barrier for entry to new contributors. Apache Storm's codebase is now more accessible to developers who don't want to learn Clojure in order to contribute. Неосиляторы победили
>>2402549 Макака, спок. Ты этими манёврами никак не отвлечёшь внимание от корня проблемы - на кожуре нельзя писать сложные системы, хоть как-то требовательные к нагрузкам. Физически невозможно.
а какие есть альтернативы емакса для вкатуна а cumонлисп? а то я ебал ещё емакс учить на винду только те, что сами пробовали, чтобы вот просто установил и сразу работало
Парни, такой вопрос. Я вот начал учить сл(просто потому что прикольно) и меня немного угнетают скобки. Нет, это не рофл, не толстота, не сравнение с другими языками и т.д., ничего такого. Я про то, что когда я например пишу по книжке defun, а внутри let, а внутри do, то к моменту когда я в do завершаю первый аргумент, мне нужно перейти ко второму, а у меня там уже накопился ебаный хвост из закрывающих скобок, а после второго аргумента там их будет ещё больше. Как с этим справляются нормальные программисты, а не залетухи, я просто теряюсь в этом хвосте. Дрочат закрывающие скобки, изначально форматируют нормально, есть комбинация клавиш по выходу из текущей хуйни, просто привыкают, как это делают профи? На пример не обращайте внимания, это просто с чем я столкнулся, думаю так будет со всеми более сложными вложенными списками. Без негатива, я просто пытаюсь разобраться.
>>2406462 >>2406470 Вы походу не поняли, в чём вопрос. Моя проблема в том, что в какой-то момент вложенность достигает таких значений, что где-то в середине какого-то списка после курсора у меня накапливается столько закрывающих скобок, что я путаюсь и не могу сразу понять, как мне выйти на уровень выше.
Аноны, а вы какие проекты на лиспе пишите? Я когда-то начинал автопилот для своего дрона писать на CL, но забросил из-за нехватки времени и финансовых проблем. Надеюсь с осени продолжу...
>>2402362 >там кожуру использует буквально полторы конторы. В частности та, которая финансирует ее разработку. Еще раз, рандомхуй говорил, что такого не бывает - я привел контрпример.
>Это довольно маргинальная хуйня Еще раз: >на языкнейм нет промышленных субд >>вот же >это другое
>шторм на жабе переписан Я в курсе - это произошло уже после того, как он взлетел, так как оригинальные разрабы его сдали в утиль апачи фаундейшен, а у них только толпа жаба-кодеров. Тащем-то это классика лиспа же (и кложурец тут видимо не исключение): команда пилит продукт, он взлетает, команда уходит пилить новый продукт, старый отдают толпе мартышек ПРОМЫШЛЕННЫХ ИНТЕРПРАЙС ИНЖЕНЕРОВ на поддержку.
>>2402650 >на кожуре нельзя писать сложные системы, хоть как-то требовательные к нагрузкам. Физически невозможно. А мир кстати схлопнулся в сингулярность. Физически схлопнулся.
>>2406599 Перед тем, как заходить в этот тред, надо включать мозг. Те, кто этого не делают, будут посланы нахуй быстрее, чем они успеют сказать "не понял".
Проясните две вещи: 1. Как у лиспа (CL, SBCL) с многопоточностью? 2. Как у лиспа с битовыми операциями? Допустим, появилась идея написать что-то типа irc-сервера или proxy-сервера. Насколько возможно будет это реализовать на лиспе? Вот эти вот обслуживания множества клиентов и формирование IP-пакетов?
>>2407319 На форче активно обсуждают лисп. Хули вы тут все такие мёртвые, я не ебу. Вообще лисп заебись язык, но жаль, что для него не существует нормального IDE
>>2407202 >1. Как у лиспа (CL, SBCL) с многопоточностью? https://lispcookbook.github.io/cl-cookbook/process.html Если кратко, то в ansi не было, но bordeaux-threads стал де-факто стандартным api для потоков и поддерживает все реализации. >2. Как у лиспа с битовыми операциями? В стандарте есть средства для байтоёбства http://www.lispworks.com/documentation/HyperSpec/Body/c_number.htm Смотри ldb dpb, boole, log* и т.д. Также обрати внимание на библиотеки nibbles и lisp-binary >Насколько возможно будет это реализовать на лиспе? Возможно, почему нет-то? На лиспе и вебсервера пишут, и есть среди них достаточно шустрые (например, woo). >и формирование IP-пакетов? Ты tcp/ip велосипедить собрался что ли?
>>2408243 >F# Говно. Это такая кложа из мира дотнета и ML, додиез в овечьей^WнедоOCaml'ной шкуре для завлечения юнцов с горящими глазами на унылую галеру кровавого интерпрайза.
>>2408727 и что плохого в кровавом энтерпрайзе? ты никогда не пользовался продуктами этого кровавого интерпрайза или услугами тех, кто ими пользовался? пчёлы против мёда
F# прикольный, есть все возможности .net и 99,999% npm, нормальный тулинг, проекты в тырпрайзе и т.д. Из минусов тулинг хоть и нормальный, но никогда не будет таким же, как у c#, у мс он не на первом, не на втором и не на третьем и т.д. месте по приоритетам, кривая обучения такая, что полно туторов по стартовому синтаксису и всё, дальше сам ебись, выискивай и всё такое. Подойдёт только тем, кто уже знаком с .net, куча туторов для перехода из c#, т.е. по факту язык - как дополнение, а не самостоятельная единица. Линупс классный, но что-то мне подсказывает, что без нормальной иде для людей без свитера так и останется уделом андерграунда. Но честно не понимаю, почему он не взлетел и на нём нет такой инфраструктуры вокруг, как у тех же даже хотя бы Go из свежих. Хотя clojure пытается пукать, но если это лучшее, что может коммунити, то хз. Неужели скобки так сильно пугают? Хотя к ним за пару дней привыкаешь.
>>2408787 >по факту язык - как дополнение, а не самостоятельная единица. Именно. Подсахаренное говно. И это один из его главных минусов. Как и кожуры, кстати. >Хотя clojure пытается пукать Уже давно даже не пытается. Те, у кого хер стоял, нашли новую игрушку, а явисты, коих они пытались к себе заманить, довольствуются скотлином, который более органично вписывается в экосистему жвм. С F#, впрочем, похожая история. И, спрашивается, нахуй эта подделка ocaml нужна, когда оригинал живее и востребованнее?
А я вот все чаще задаюсь вопросом: а действительно ли нужны вот эти вот полумертвые языки типа lisp, f#, nim, zig, v? Я про то, что как бы они не пытались релизовывать сверхгодные решения в новых языках, но по итогу сосут и остаются языками без какой-либо аудитории пользователей
>>2409129 никто не знает, выстрелит ли твой новый язык, когда он это сделает, какую нишу в итоге займёт т.д. вот взять тот же лисп или f#, поместить их в условия большого коммунити, коммерческих фирм с бесконечным баблом, то ты бы спрашивал, почему никто не развивает C# и прочее, у них был бы легаси-код из 60-х и люди бы жаловались, почему нет вакансий на Java.
>>2409182 > в условия большого коммунити, коммерческих фирм с бесконечным баблом Личруали текущие условия. Получается, что лисп по сути своей бестолковый язык. Если он не годится не то, чтобы как полноценный ЯП, но даже как встраиваемая система; люди юзают ебланский говёный lua inb4: gimp!!! autocad!!! КО КО КО!!!!
>>2409333 Лисп никогда не был популярным языком. Его придумали и использовали только в стенах Университетов. Решали проблемы ИИ, писали вычисления, также лисп использовался для управления космическими аппаратами, например, телескоп Хаббл. С чего вы вообще взяли, чтотот язык должен быть широко популярен? Вы же не используете Coq, верно? А на этом языке писали софт для ьортового компьютера боевых вертолетов США. Такая же история и с лиспом.
>>2409418 >С чего вы вообще взяли, чтотот язык должен быть широко популярен? Но он ведь такой мощный и классный? Верно? Да? Лисп же такой аутентичный, загадочный и всегда из него воруют классные фишки. Ведь правда?
>>2409418 Тикуль охуенно популярный язык в своем мире, но ни один зумерок про него не слышал наверное. У лиспасхемыгайла тоже ниша есть, где он популярен, кек.?
>>2409469 Проблема всех этих гайлов - GPL. Ни одна серьёзная контора не возьмётся писать коммерческий софт под этой лицензией, если только она не рассчитывает зарабатывать исключительно на саппорте.
>популярность >корпорации, серьёзные конторы Пиздец. Да что за хуйню вы тут несёте? Ощущение, будто смотрю тупой американский фильм, где школьники выясняют, кто самый популярный на районе и чья вечеринка была самой шумной. Как можно обсуждать языки, не подняв ни единого технического аспекта? Тут, похоже, уже давно никто не программирует. Остались одни лишь перманентные быдловайтишники, всё лелеющие надежду выучить правильную технологию и попасть на галеру побогаче. Спасибо, Абу, блять.
>>2409537 Никому нахер не нужен технический аспект, все при капитализме идёт из бабок, ау. Если бы у нас в госконторах не использовали плюсы, то Россия была бы страной веб макак разного сорта
>>2409537 Гугли про VHS кассеты и как они распространились. В то время было дохуя систем лучше и пизже, чем VHS, но по одной причине VHS был популярнее всех - раньше всех вышел на рынок. Рыночек порешал. Рыночек блять. Так что иди нахуй. Линукс тоже во всем технически лучше винды. А еще ортогональные сплит дворак клавиатуры технически лучше обычных кверти. Но ты же ебалан и не понимаешь, почему одно популярнее другого
>>2409486 В чем проблема использовать инструмент с gpl? Ты же не сам язык продаешь, а программу написанную на этом языке. На такой кейс ГПЛ ограничение не накладывает. До появления шланга все на gcc компилировали и ничего.
Почему в Common Lisp такие убогие модули (aka пакеты) и до сих пор никто это толком не исправил? Вот, есть в моем пакете класс. Я хочу экспортировать его, дабы пользователь мог определить его потомков. Если я хочу, чтобы была возможность перегрузить слоты (обычно такое бывает, если эти слоты являются статичными, т.е. есть :allocation :class), придется эскпортировать еще и имена слотов. Вместе с именами reader/accessor методов. Python, конечно, говно, но даже в нём и то лучше сделано. Наверно, кто-то скажет, что мелочь, но из-за таких мелочей тратится время. Из-за подобной лабуды иногда хочется всю программу или библиотеку на десятки тысяч строк писать в одном пакете, но тогда как минимум autocomplete забивается до невозможности применения.
>>2408771 Месье не учил историю информатики и программирования в частности? В 70е-80е Лисп был дико популярен у академиков. Это в 90е он начал падать из-за изменения типовых задач и появления всяких перлов и пайтонов. Also, первый GUI для Мака был написан на Лиспе.
>>2414715 Почему не исправил? https://github.com/ruricolist/serapeum/blob/master/REFERENCE.md#exporting >Если я хочу, чтобы была возможность перегрузить слоты (обычно такое бывает, если эти слоты являются статичными, т.е. есть :allocation :class), придется эскпортировать еще и имена слотов. Скорее всего, ты что-то делаешь не так. Слоты не являются частью интерфейса, их не следует переопределять ни экспортировать, ни переопределять. Работай с методами чтения и записи.
Полистал тут доку по clojure spec. Эт чо получается, они просто подобие борщелисповской системы типов изолентой примотали? А воскликов-то было, ебать... будто Марс колонизировали.
>>2421975 Борщелисповская система типов умеет валидировать вложенные словари по заданным именам ключей? А генерировать данные по описаниям? Ну вот то-то и оно.
>>2422515 >Борщелисповская система типов умеет валидировать вложенные словари по заданным именам ключей? Во-первых, в борщелиспе нет словарей. Для того, для чего в кожуре используются словари, в борщелиспе предназначены структуры. Во-вторых, да, можно. См. http://www.lispworks.com/documentation/HyperSpec/Body/t_satisf.htm >А генерировать данные по описаниям? Пример в студию.
>>2422556 >в борщелиспе нет словарей Уточню. Их нет в смысле как эрзац-объектов. А так-то хэш-таблицы, разумеется, есть. >структуры Ну и у структур поля типизированные, так что проверка вложенных данных имеется из коробки. >>2422590 Так и знал, что ты придерешься, но не успел запостить уточнение. >>2422515 >А генерировать данные по описаниям? Дай угадаю, оно только словари по описанию умеет строить? Т.е. по сути переизобретение конструкторов структур. Или оно сможет сгенерировать строку по описанию: (deftype email (and string (satisfies emailp)))
>>2422600 >Ну и у структур поля типизированные, так что проверка вложенных данных имеется из коробки. А можно проверить, что одно из полей - структура, у которой одно из полей - другая структура, у которой одно из полей - emailp?
>>2422600 >Дай угадаю, оно только словари по описанию умеет строить? Нет, не только словари. Ёб твою мать, Серёжа Брин тебе дал гугл, но нет, не хочу гуглом пользоваться, хочу анона доёбывать. https://clojure.org/guides/spec#_sampling_generators
>>2407403 Kek, тех тредов уже нет, но идею я понял. Захожу, и о чудо! Там есть даже те, кто активно смешивает с говном имакс-евангелистов. Охуеть. Freedom of speech, охуеть.
>>2424632 >и такая же более правильная >более правильная Внимательно посмотри на прилагающуюся картинку. Очень внимательно. Изучи детали, подметь ньюансы. Посмотри на композицию и общий эмоциональный эффект.
А теперь подумай ещё раз и попробуй написать "более правильная" своими пальцами. И если бог не уебёт по твоей башке молнией в этот момент, то ты очень везучий тролль.
Скачал allegro cl, установил, создал проект, создал форму, добавил кнопки, лейблы, таблицу, вкладки. Как теперь мне это всё собрать и опубликовать в бинарь? Банально не вижу этой кнопки.
>>2430801 >Ты за неделю так и не смог погуглить? Ты сам-то доку пытался читать, дружок? Я жду комментариев несогласных кожуристов. >>Ичо? >То, что это не >>Это суррогат системы типов борщелиспа с подобием https://quickdocs.org/check-it Объясни, как это следует из >Генеративное тестирование появилось в эрланге 30 лет назад, потом его прикрутили к типам хачкеляторы. ? У тебя с логикой проблемы? Особенно если учесть, что кложеспек вообще-то не являет собой систему генеративного тестирования.
я хочу выучить фп суть токова
Аноним19/08/22 Птн 12:42:02№2439352247
Наверное самый подходящий тред из живых. Пишу на го и питоне, захотел расширить горизонты и поучить что-нибудь функциональное. Посмотрел на курсере курс Programming languages, всякие базовые вещи там рассказывают. Теперь хочу уже выбрать конкретный язык и запить пет-проект. Какие мои личные ньюфажные впечатления: 1. OCaml Мне из курсерного курса очень понравилась система типов у Standard ML, когда сам почти никогда нигде типы не указываешь, но при этом у тебя статическая сильная типизация. Смущает, что окамл даже на фоне других функциональных языков не очень популярен. Как у него с библиотеками, нужен он вообще кому-то? Говорят, F# похож, но это ведь придется трогать дотнет. 2. Clojure Пробовал Racket, странный синтаксис (наверное, просто дело привычки) и динамическая типизация (неужели в больших проектах тоже нужно гвоздями прикручивать тайпчекеры?). А еще я не знаю джаву, будет ли это проблемой при изучении кложуры, там же наверное стандартная библиотека джавовская? 3. Elixir Я так понял, что эликсир и эрланг это вроде как котлин и джава. Смутила опять таки динамическая типизация и то, что рядом с этими языками везде упоминают OTP, у меня сразу ассоциации с руби, который нужен только для рельс.
Итак, что мне начать учить, чтобы через пару месяцев не разочароваться?
>>2439352 Common Lisp бери, идеальное сочетание практичности и академической стройности. Типизация динамическая, но ты можешь вставлять статические аннотации типов gradual typing таксказатб, чтобы упростить жизнь компилятору и ускорить код ну и продокументировать код типами заодно. Clojure - хороший вариант, но да, жаба, рано или поздно упрёшься в её ограничения. Хорошо знать жабу для неё не надо, достаточно обладать навыком чтения документации.
>>2439352 >Как у него с библиотеками Не очень, но последние несколько лет стало гораздо лучше. Появился более-менее вменяемый тулинг, ну и в целом количество боли уменьшилось.
>А еще я не знаю джаву, будет ли это проблемой при изучении кложуры Нет.
>у меня сразу ассоциации с руби, который нужен только для рельс. Правильные ассоциации.
>Итак, что мне начать учить, чтобы через пару месяцев не разочароваться? В чем проблема поверхностно познакомиться со всеми тремя? Алсо, ты не упомянул раст, который тоже был бы неплохой опцией. Ну а так - бери окамл и кложу\кложескрипт, наибольший бэнг за твой бак.
>>2439352 OCaml. Если ты действительно знаком со Standard ML и владеешь Emacs, то достаточно почитать доки и пару часов что-нибудь пописать, и язык уже твой. В отличие от Хаскелля, навыки и знания, которые получишь в работе с ним, могут заметно улучшить тебя как программиста даже на мейнстримных языках. Библиотек на жизнь, но документация хромает. Есть достаточно удобный FFI для привязки кода на Си. Отмечу, что на Windows с ним придется много пердолиться. В частности, придется либо качать с сайта установщик Cygwin, либо самому строить из исходников в MinGW. >>2439390 >Common Lisp бери, идеальное сочетание практичности и академической стройности. Перехваливаешь. CL имеет в себе кучу странностей, унаследованных из лиспов 80х и, по современным меркам, странный подход к некоторым вещам (дежурный пример: пакеты). Язык хорош для применения, но имеет кучу уродливых мест, особенно по сравнению со Scheme (одна сигнатура функции map чего стоит). А где ты "академическую стройность" усмотрел, я не знаю. Язык составлялся не комитетом академиков, как Standard ML и Haskell, а комитетом хакеров, которые ориентировались не на формальное описание, а на решение задач здесь и сегодня.
>>2441780 > Считается, что он не приспособлен к решению "реальных" задач? Все дело в минималистичном стандарте, первая версия укладывалась в 50 страниц. Благодаря этому язык прекрасен для обучения школьников и студентов и для языкового задротства (бывают такие задроты, которые считают, что всякий тру-лиспер обязан написать свой интерпретатор Схемы). Современный стандарт укладывается в 200 страниц, но он полон неопределенного поведения и недоговоренностей, из-за чего писать переносимый код - пытка. Как следствие - нет развитой инфраструктуры.
>>2439352 выходит на связь. Решил, что жизнь коротка и нужно делать то, что больше нравится, так что лягу спать буду играть с окамлом. Clojure оставлю на следующий год. Спасибо всем, что ответили. >>2441623 Как emacs облегчает вход в ocaml?
>>2441503 >>2442827 Хули тебя на членодевок потянуло, прям зациклился на этой теме, слетай в Тайланд и получи удовольствие, нахуй ты остальным мозга ебешь со своими членовдевками
>>2444334 Кому ты нахуй нужен, никто тебе членом в лицо тыкать не будет. Я мимо проходил, хотел про кложу почитать, а тут ты такой дружок-пирожок весь тред засрал своими сексуальными фантазиями
>>2439352 Если пет проект, то выбери то, что проще дебажить, правда хуй знает, что, я пробовал только Ракет и Хачкель. Что то, что другое, дебажить пиздец неудобно, даже задачки с хакерранка, а на пет проектах, не говоря уже о продакшене, вообще наверное ебануться можно. Статическая типизация, какая бы она крутая не была, от семантических ошибок не спасает от слова совсем. Я бы выбрал что-то со статической типизацией, хорошим дебаггером (желательно визуальным, а не а ля gdb без фронта), не чисто функциональное и с элементами императивщины. Иначе удачи в попытках вырвать array из IO монады, когда придется портировать какой-нибудь императивный алгоритм. По описанию подходит F#, он на вижуал студио, а там хороший дебаггер, правда он хороший для C++, не факт, что это экстраполируется на F#. На днях попробую может сам и скажу, благо винда и ВС стоят.
>>2445034 Попробовал сегодня, в общем нормальный дебаггер, работает так, как ты ожидаешь, базовые вещи по крайней мере не хуже чем C++. Если брезгуешь дотнетом и те костыли для имакса, про которые говорил анон выше, позволяют визуально дебажить код на Окамле, я бы посмотрел в эту сторону. Ну еще Эклипс какой-нибудь наверняка дружит со Скалой. Ну и надо писать debugger-френдли код, т.е. весь код из функций-однострочников это не вариант, заебешься это отлаживать. Поэтому код будет немного напоминать императивный с кучей let'ов.
Похоже, это единственный живой тред про функциональщину на борде, поэтому спрошу свой вопрос про OCaml здесь. У OCaml есть какой-то стандарт, какой-то официальный референс? В него добавляют новые фичи?
>>2445034 Дебаггер ненужен. Инфа 100%, твердо и четко. Ты что-то делаешь не так.
Алсо, с точки зрения дебагабельности и интроспекции кложа конечно выигрывает на порядки у окамла, но не думаю, что это то, исходя из чего следует делать свой выбор.
>>2445447 Да, вроде есть. Французский институт какой-то есмь его главпахан. Да, добавляют. Из последнего слоупок.пнг крупного емнип запилили анбаундед варианты (теперь язык еще на 14.88% сложнее!). По книжкам обычно советуют real world ocaml (вроде у него выходило недавно обновленное издание), но есть и книжки чисто про фп, и про математику, и вообще на любой вкус.
>>2446435 Нужен, если ошибки синтаксиса или типизации компилятор/линтер еще может поймать вне рантайма правда не в динамическом языке, лол, то логические без дебаггера ты хуй выловишь. Минус где то поменял на плюс и пиздец. Что ты будешь делать, перечитывать весь код или сразу переписывать с нуля? Или ты 10x инженер и сразу пишешь правильно? Или ты свидетель секты тдд? Так тот анон не обязательно такой. >с точки зрения дебагабельности и интроспекции кложа конечно выигрывает на порядки у окамла Окамл хотя бы статический и значительную часть ошибок можно выловить еще до отладки. >не думаю, что это то, исходя из чего следует делать свой выбор Критикуешь -- предлагай.
>>2403238 Харкачую вопрос. Тоже давно облизываюсь на их вакансии, но что-то смущает. Кожуру лишь недавно учить начал. Думаю буду писать на тупоскрипте за ролтон, а личные проекты на кожуре делать, сейчас как раз куча свежих идей в голове.
>>2447865 >то логические без дебаггера ты хуй выловишь Ты воюешь не туда. В языках с полноценным рантаймом и интроспекцией (лиспы, смолток) дебагер ненужен.
>Критикуешь -- предлагай. Так я не критикую, я наоборот за лишпы, но тот анон выбрал окамл, что тоже замечательно и полезно.
>>2448145 Так как ловить логические ошибки без дебаггера, не гадая на кофейной гуще? С дебаггером понятно, прога выдала не тот результат, я поставил брейкпойнт туда, где она ошиблась, прошелся по промежуточным результатам и нашел в них ошибку и так далее, пока не найду собственно сам баг. Без дебаггера как я должен этого добиться? Через трейс что ли? Так это все равно не так удобно, как графический дебаггер, а на какой-нибудь хвостовой рекурсии ты вообще заебешься искать проблему (правда это проблема ФП в целом, а не способа дебаггинга, но поэтому я в >>2445034 и сказал, что лучше брать язык с элементами императивщины). Код на окамеле я посмотрел кста, степ дебаг там вроде тоже не распространен, а let .. in везде режут глаза, хуета короче, в общем я бы выбрал либо F#, либо Скалу, но я императиводебил, как можно уже понять.
>>2448272 >Так как ловить логические ошибки без дебаггера С помощью интроспекции в полноценном рантайме!
>я поставил брейкпойнт туда, где она ошиблась СМЕКАЛОЧКА
>а на какой-нибудь хвостовой рекурсии ты вообще заебешься искать проблему Хвостовая рекурсия - это просто цикл. В ФП используется крайне редко и только для императивного кода который не запихивается в фолд
>а let .. in везде режут глаза, хуета короче Экспертиза уровня 7 "Б".
>либо F# Фшарп - это и есть кастрированный окамл, натянутый напильником на б-гмерзкий дотнет.
>Скалу, но я императиводебил /s/но/ведь желтушные инкаминг ин 3... 2... 1...
>>2448793 Непрактично. Библиотек нет, FFI стандартизированного нет, тулинга нормального нет, портируемости между имплементациями нет, населена роботами. Хотя как язык схемка прекрасна, конечно.
Есть кроме Guix дистрибутивы, пытающиеся зделоть лисповое окружение? Сейчас ведь и стартовые скрипты не надо перепиливать - токмо юзерспейсовый тулкит для системд. В общем, хочу линупсячее ядро к SBCL прикрутить - и всё, только чтобы конпелировать было вольготно. Как думоити?
>>2439352 >и поучить что-нибудь функциональное Хачкель. Учишь чисто для фп, делаешь петпроджекты, а потом бросаешь нахуй. Теперь бы можешь на своих любимых крестах го и питоне писать функционально, а лишние сущности - в пизду.
>>2451565 А как в го и питоне реализовать иммьютабилити? Ну то есть го копирует некоторые аргументы функций, но всякие слайсы и мапы передаются по ссылке, их кто хочешь может испортить. Можно написать свои костыли, но зачем так жить.
>>2445821 >>2446447 У маминых борщевых компутерсаентистов новая методичка? Крупнейший российский сайт с вакансиями - хуйня и не показатель, да у нас тащемта гора работы и зарплаты в миллионах, где-то там, ну вот там, просто в паблик это не попадает, воот. По-моему даже хаскеледебилы до такого в своем демеджконтроле не доходили, просто визжали, что хаскель для души, а сами синьоры-помидоры в других стеках. Реальность, конечно, тяжела, понимаю. В 1С больше и работы, и зарплаты. Ну зато вы элита компутер саенса, даа. Зарплаты, правда, пока в борщах, но то такое: кризис.
>>2454142 >У маминых борщевых компутерсаентистов новая методичка Ага, сидят они себе такие в ботоферме в комфортабельном офисе в пригороде питера и хуячат сменами 5/2 по методичкам посты на анонимных имиджбордах. Ты ещё под кроватью у себя посмотри, скриптомакак ебучий, наверняка там пару борщехлёбов найдёшь.
>>2455184 > На C просто конпеляешь и вот тебе exe, а на лиспе как? Точно так же. Даже проще, берёшь Shinmera/deploy и вот у тебя кросс-платформенный деплой твоего лиспокода.
>>2456042 Как первый язык программирования - лучше Little Man Computer. Это такой детский ассемблер. Есть неплохие эмуляторы, загугли. Потому, что надо таки немножко понимать, что такое компьютер, идею "исполнителя", выполняющего "программу" и т.п.
>>2457986 А если я тыкал в QBASIC, два курса института сидел и мне довелось тыкать в Pascal, параллельно я трогал Linux начиная с Убунты 8 версии, смотрел лекции Курячего, один раз за всю жизнь написал крохотный скрипт для RenPy, и я, как ОП третьего Лэйн-треда, поклоняюсь Ивакуре - при всех этих ничтожных обстоятельствах я способен покорить Лисп?
>>2459262 Для массажа простоты. В рпмках зависимости между пакетами строятся строго по версиям либ необходимым для линковки, а в дебе просто по названиям пакетов
>>2460655 Вот у тебя в браужере есть консолька, вот теперь представь, что вместо специализированного браузера с консолькой у тебя полноценный компилятор с консолькой (которая доступна по сети)
>>2461397 потому что с дебагером ты можешь полностью остановить ход программы в нужном месте в нужное время без ручного персистентного вмешательства в код а если есть хотсвоп то возможностей еще больше
>>2448680 >Экспертиза уровня 7 "Б". Не, ну ты мне объясни, нахуя они сделали так, почему нельзя просто let писать через строчку, как в фшарпе. Или хотя бы как в Хачкеле, где один раз пишешь let, а потом список биндингов. >это и есть кастрированный окамл А в чем кастрированный? Степ дебаггер есть (в отличие от окамла), можно тянуть что угодно из C# если чего то не хватает. Пока только плюсы вижу. >дотнет А че те не нравится, опенсорс же. >б-гмерзкий Как там в 2007?
>>2461632 >потому что с дебагером ты можешь полностью остановить ход программы И в чем разница? Объясни конкретно.
>без ручного персистентного вмешательства в код Что такое персистентное вмешательства, я знаю только персистентные структуры данных...
>а если есть хотсвоп то возможностей еще больше Ну так "хотсвоп" - это и есть кастрированная, урезанная, неполноценная и прикрученная изолентой сбоку костыльная версия того, о чем мы тут говорим (полноценного репла).
>>2461717 >Не, ну ты мне объясни, нахуя они сделали так, почему нельзя просто let писать через строчку, как в фшарпе. Мой комментарий был про то, что делать вывод "хуета" на основе минорных синтаксических особенностей - это школолотронство.
Писать просто через строчку можно, ну тащем-то в эфшарпе ж так и сделали. Какой синтаксис сделаешь - так у тебя в языке и будет. Конструкция let...in традиционно идет из пейперов по плт эмэля, ну смысл в том, что в грамматике у тебя let <sym> = <expr> in <expr> - тело после ин является вложенным, в нем доступен объявленный биндинг (переписывается это все в лямбду). Если же вводить отдельную конструкцию для объявления биндингов на отдельной строчке, то тебе надо стейтменты вводить, ну и в целом ни красоты ни минимализма.
>А в чем кастрированный? Прибит гвоздями к левой платформе, у которой другой основной язык. Соответственно все либы и весь ентот ваш дотнет оопский. Алсо нет компиляторов в жс, емнип нет препроцессоров, 1ст-класс модулей, динамических вариантов
>>2462911 >И в чем разница? Объясни конкретно. а как ты собрался останавливать ход с интроспекцией у тебя там функция pause есть которая весь тред замораживает или что
>Что такое персистентное вмешательства, я знаю только персистентные структуры данных... это когда тебе приходится лезть в код и руками дописывать интроспекцию это чревато тем что дописанное может остаться там навсегда с дебагером же такие изменения только временные
вот как ты интроспектировать чужую скомпиленную либу будешь или я что то не понимаю пока что я вижу интроспекцию как вызов print(a.x) в коде
>>2463261 >у тебя там функция pause есть которая весь тред замораживает или что Ну можешь thread.sleep вызвать, можешь readln какой-нибудь вызвать, можешь подключить какую-нибудь либу с функциями для трассировки и (внимание) дебаггинга (лол) и вызывать их. Что хочешь, то и вызываешь.
>это чревато тем что дописанное может остаться там навсегда Каким образом? Если ты собака (on the internets nobody knows you're a dog), то я еще могу представить такую ситуацию. А если ты человек, то не могу. То есть вот ты дебажил код, потом ВНЕЗАПНО впал в кому и получил амнезию, а потом еще твой код ВНЕЗАПНО задеплоился в продакшн каким-то волшебным образом. Извини, но нет. Алсо, по такой логике ты можешь поставить брейкпоинт И ЗАБЫТЬ ЧТО ТЫ ЕГО ПОСТАВИЛ И ПРОГРАММА В ИДЕ НЕ РАБОТАЕТ И ПОЧЕМУ-ТО ОСТАНАВЛИВАЕТСЯ ДЕБАГЕР СЛОМАЛ ТЕБЕ РЕЛИЗ ААААА ну камон
>вот как ты интроспектировать чужую скомпиленную либу будешь Чужую и без исходников - никак, тут только традиционные способы. Речь именно о разработке (интерактивной разработке), не о реверс-инжиниринге или абьюзе бинарных артефактов.
>пока что я вижу интроспекцию как вызов print(a.x) в коде Ну по сути все эти инструменты это и есть glorified debug print. Просто удобный, с трассировкой, визуальным браузером значений, ну и повторюсь, суть(с)(тм) в том, что ты подключен к выполняющейся программе и можешь в ее контексте выполнять любой код.
>>2464474 >Каким образом? Если ты собака (on the internets nobody knows you're a dog), то я еще могу представить такую ситуацию. А если ты человек, то не могу. То есть вот ты дебажил код, потом ВНЕЗАПНО впал в кому и получил амнезию, а потом еще твой код ВНЕЗАПНО задеплоился в продакшн каким-то волшебным образом. Извини, но нет. Алсо, по такой логике ты можешь поставить брейкпоинт И ЗАБЫТЬ ЧТО ТЫ ЕГО ПОСТАВИЛ И ПРОГРАММА В ИДЕ НЕ РАБОТАЕТ И ПОЧЕМУ-ТО ОСТАНАВЛИВАЕТСЯ ДЕБАГЕР СЛОМАЛ ТЕБЕ РЕЛИЗ ААААА ну камон запросто пропишешь три брейкпоинта через пару дней вернешься удалишь два а про третий забудешь не недооценивай человеческий фактор в иде есть список брейкоинтов и кнопка продолжить а еще автофокус на сработавшем брейкпоинте
>Речь именно о разработке (интерактивной разработке), не о реверс-инжиниринге или абьюзе бинарных артефактов не ну если ты разрабатываешь hello world то такое может еще и проканает но если ты делаешь что то серьезнее то часто используешь либы и копание в их кишках иногда бывает необходимо особенно если туго с документацией или тебе нужно какое то специфичное поведение а еще в либах могут быть баги
>ы подключен к выполняющейся программе и можешь в ее контексте выполнять любой код прям во время ее работы на серваке
Насколько оправдано использовать лисп в интерпрайзе? Видел не ироничные примеры использования хаскеля в проектах для бекэнда. Оправдывали это высокой стабильностью, удобной расширяемой системой типов и простым рефакторингом (см. metalamp). Какие профиты дает лисп? Есть ли для лиспа развитые фреймворки?
inb4: НЕ ПИШИТЕ ПРО КЛОЖУ. КЛОЖА ЭТО ЖАБА, А НЕ ЛИСП
>>2465510 >В Grammarly мы используем множество языков программирования для разработки наших сервисов: кроме языков для JVM и Javascript'а мы также пишем на Erlang, Python и Go
>Клоуны с зоопарком языков и технологий, где лисп приплели до кучи
>>2465984 Ни на каком языке никто серьезно не программирует. Так, иногда иронично напишут немного кода, чтобы потом на мемесы разобрать. А все работает на кодовой базе алгола и фортрана из 60-х.
>>2464561 >не недооценивай человеческий фактор Это не человеческий фактор, это отсутствие производственных процессов и какого бы то ни было релиз-инжиниринга.
>в иде есть список брейкоинтов и кнопка продолжить а еще автофокус на сработавшем брейкпоинте При чем тут иде? Можно пользоваться иде, но не пользоваться дебаггером, а можно пользоваться дебаггером, но не пользоваться иде. Энивей, ты точно также можешь получить список всех выставленных трассеров и брейкпоинтов в коде, думаю не надо объяснять как.
>но если ты делаешь что то серьезнее то часто используешь либы С открытым исходным кодом, але. Чет ты вообще плаваешь, анон.
>прям во время ее работы на серваке Ну да, в том числе.
>>2465978 >Go же специально делали как эрланг для императивщиков Абсолютно никакой связи, учи матчасть хоть не знаю википедию прочитай про эти два сабжа.
алсо сомневаюсь, что пайк был в курсе про ерланг на момент своего высера, лол
>>2471096 В нем нет ничего от кложуры. Это общелисп плюс наработки сообщества минус атавизмы. В целом неплохо, но требует доработки напильником. Я даже когда-то пытался использовать в одном своем проекте, но потом оказалось, что в этом нет смысла, ванильный общелисп с любимым набором батареек удобнее
>>2395633 (OP) Так пасаны! Нет времени обеснять! Почитаем оп-ссылки потом. Накидайте мне хеллоувордл на любом из лиспообразных языков, который: 1. Компилируется в нативный код. 2. Кроссплатформеннен. 3. Выводит нативное графическое окно с текстом хеллоуворлд и кнопкой ОК, по нажатию на кнопку приложение закрывается. 4. Скомпилированное приложение состоит из одного бинарника и зависит только от системных либ (в т.ч. (актуально для линукса) от текущей графической либы рабочего стола). 5. Чтобы выполнить предыдущие пункты потребуется минимум теложвижений: скачать только один СДК, создать только один файл с кодом, выполнить только одну команду компиляции. Могут ли лиспоязыки в такую задачу?
>>2479055 > IUP Загуглил. Это для си-господ же вроде как. Враппера на лиспосемейство я с наскока не увидел. >>2479070 Куда вставлять эту строчку? Ты можешь быть менее загадошным?
>>2395633 (OP) ОП, какого хуя в шапке нету пикрил? Я всегда заходил на двач за списком литературы, но эту вещь пришлось гуглить. Из-за вас порожнячников двач для меня теряет ценность, как источник инфы. Если что, пикрил годная вещь. Но двачеры, почему-то, предпочитают жрать говно от авторов, не имеющих представления о написании книг.
>>2494744 Ну у меня не воспроизводится, даже до .1 специально обновился сейчас. Попробуй с чистым башрц, попробуй в зш, попробуй другой эмулятор терминала, етк. А так вообще поставь например вс код какой-нибудь и не парься. https://clojure.org/guides/editors
>>2539282 Открытая антологическая база знаний, как её блятб. Которая уже 40 лет разрабатывается. Видел ещё презентацию как челы белки крутили и все это на CL + cpp
Читаю учебник по хаскелю, и там каждая функция написана в стиле foo bar = yoba bar where yoba = ... Это нормально, что у меня от такого лицо скрючивается? Можно ведь по-человечески: foo bar = let yoba = ... in yoba bar Или я просто не просветлился в должной степени и из меня лезут мерзкие процедурно-императивные привычки?
>>2553383 не знаю(это шутка какая-то? я не понял) вот нашел в другом месте, что оказывается ето не только у меня так, ето оно так у всех. но какого хуя? объясни пожалуйста
Твои оправдания, почему до сих пор не деплоишь лисп в интерпрайс-грейд микросервис-ориентед клауд-реди кубернетис-инеблед континиус-деливери-интегрейшен-профайлинг виз-сервис-меш гитопс скейлебл инфраструктуру?
Сап, двач, задание - перевернуть строку без реверса. Код: >(defn rev [lst n] (if (> n 0) ( (rev (drop-last (conj (apply list lst) (last lst))) (- n 1)) ) ) )
(rev [1 2 3] (count [1 2 3]))
Ошибка: >Cannot invoke "clojure.lang.IFn.invoke()" because the return value of "clojure.lang.IFn.invoke(Object, Object)" is null
Но ведь разве функция не возвращает измененный объект и не работает по типу: >def func(obj, n): if(n>0): func(obj, n-1) ? Делаю для изучения, буду благодарен за ответ.
И вот еще: (defn j [lst] (doseq [i (for [i (range (count lst))] (inc i))] (if (not= 0 (mod i 2)) (println (nth lst i)) ) )) код выводит нечетные позиции в списке. Добавляю строку принта для дебага: > (println i "%2 !=0") (println (nth lst i)) и второй принт выводит другие значения. Вызов увеличивает i? Это с хакерранка, если что. Извиняюсь за разметку.
>>2560047 Для начала следуй установленному соглашению о форматировании кода https://github.com/bbatsov/clojure-style-guide, а не вот этот вот пиздец: >) >) >) Если человек с такой базовой штукой разобраться не может, то понятно, что мало кто захочет ему отвечать, согласись.
Далее - разберись с понятием сложности алгоритма, и чем отличается линейная сложность от константной, например. После этого прочитай доки к функциям drop-last, last - и подумой, какую ебучую сложность имеет твоя реализация в этом посте (т.е. сколько раз ты проходишься по списку).
>>2560117 Ты зачем-то вызываешь результат rev как функцию. Твой rev не возвращает функцию, поэтому непонятно, зачем ты это делаешь и что ты хотел сделать. Возможно, ты просто не разобрался в синтаксисе и поставил лишние скобки. Если так, то пройди сначала https://maria.cloudэто для детей, но для начала отлично зайдет, займет минут 15, алсо там сообщения об ошибках сделаны более понятными для ньюфага
Далее, у тебя неправильный алгоритм и ненужный аргумент n. Разбирайся. Напиши сначала рекурсивную версию, потом версию с хвостовой рекурсией и аккумулятором (используй loop/recur), потом версию через reduce.
Алсо, при работе в репл (repl = read-eval-print-loop) тебе не нужно дополнительно преобразовывать в строку и печатать результат, он автоматически печатается самим реплом (вызов println ненужен).
>>2560324 Без понятия, что ты спрашиваешь. Один принтлн у тебя выводит i и какую-то строку, другой - i'ный элемент списка. Понятно, что это не одно и то же.
Короче, рекомендую для начала разобраться в основах, пока у тебя изрядная каша в голове.
Часто слышол, что лиспы использовались и до сих пор используются для НАСТОЯЩЕГО искусственного интеллекта, а вот это все новомодные нейроночки это не то и не тру. Подскажите, где можно подробнее прочитать, про этот самый искусственный интеллект, который на лиспах??
>>2572156 Для начала прочитай файл с настройками в формате JSON, затем замени все скобки на круглые, затем начинай выполнять задания в этих самых круглых скобках:
>>2571942 Настолько Ъ, что все финансирование отъебнуло на несколько лет. Гугли John McCarthy -> MIT AI Lab Нечеткая логика и без лишпа прекрасно обходится, это не то.
>>2395633 (OP) В чем суть REPL? Максимально неудобная штука. Код писать удобно в IDE, в нужном месте, выполнять код лучше с полной перезагрузки приложения, иначе можно столкнуться с тем что в REPL работает а при перезагрузке уже нет, а это главнее. Что то менять и вычислять во время выполнения позволяет любой отладчик.
>>2578316 > В чем суть REPL? Максимально неудобная штука. Это IDE из 60-х. > выполнять код лучше с полной перезагрузки приложения, Дампили память на диск, потом грузили. Это быстро, кроме шуток. > Что то менять и вычислять во время выполнения позволяет любой отладчик. А отладчик тоже в REPL.
Мне его советовали вместо шемы когда я начал увлекаться программирование для себя, но дальше так и не пошло, как писал свои рогалики на питоне и скрипты для себя, так и пишу, но несколько глав на хтдп прошел и мало что понял, даже сикп был понятнее с его примитивами. Может дело в подаче материала.
В чем в конечном итоге профит этой книжки и насколько она актуальна в 23м? И не надо меня посылать читать заглавие
Да мне просто интересно в чем её сакральный смысл и чему она в итоге учит, что она даст на выходе и насколько она актуальна в 23м году и насколько применима эти Шесть шагов разработки функции в реальных задачах и энтерпрайзе.
Сикп и его смысл мне понятен, он не устареет, он еще и прикладной к тому же.
>>2579522 Я застрял на "function composition". Вроде бы всё чётко так и легко, потом просто тупик. Вот тут, мол, надо применять function composition. Что? Как? Откуда? Один куцый пример приведён, которого мне совсем не хватило. Если в треде есть пояснительная бригада, целиком проглотившая HtDP, то прошу пояснить сей феномен.
>>2578316 >В чем суть REPL? В интерактивной разработке (сокращает feedback loop -> повышает скорость разработки).
>Код писать удобно в IDE Так репл - это часть иде.
>выполнять код лучше с полной перезагрузки приложения Особенно это лучше, когда компиляция проекта занимает хотя бы 5 минут. Еще лучше, когда тебе нужно после запуска восстанавливать состояние (например при разработке гуи).
>можно столкнуться с тем что в REPL работает а при перезагрузке уже нет Можно, но перед коммитом \ при сохранении у тебя прогоняются тесты на чистом образе, так что даже когда такая ситуация возникнет (редко), ты все равно это сразу увидишь.
>Что то менять и вычислять во время выполнения позволяет любой отладчик. Не совсем. Ну вот репл - это и есть такая модель выполнения языка, которая позволяет иметь отладчик на стероидах, к которому можно удаленно подключаться из иде и иметь полный доступ ко всему языку, ко всему исполняющемуся образу и ко всему состоянию приложения. Иными словами, отношение тут обратное: отладчик - это такой кастрированный репл, криво прикрученный сбоку.
>>2578322 >прочесть что то такое Потому что это "что то" в твоем примере - это нечитабельное говно. Лисповый синтаксис однозначен, легко читается, легко редактируется, легко обрабатывается программно, позволяет иметь простую систему лисп-макросов. Это объективные (инженерные) преимущества. А на другой чаше весов - мне скобочки не нравяцца)) и прочий гуманитарный дебилизм. Выбирай сам, что тебе ближе по уму.
>>2592120 >легко обрабатывается программно Неправда, можно написать foobar который будет читать код далее и использовать скобки по своему усмотрению.
>Лисповый синтаксис однозначен Неправда, см.выше
>легко читается Неправда, попробуй взять этот пример, где всего лишь умножение 3 элементов массива, и перепиши на лиспе. Это простейший мега-читаемый код, только умножение на Х заменил.
>позволяет иметь простую систему лисп-макросов Простая = убогая.
>А на другой чаше весов - мне скобочки не нравяцца)) Если это создает реальные трудности, то это недостаток.
Слишком глупый вопрос, чтобы задавать его где-то ещё, но он для меня прям животрепещущий.
Почему ФПшники так любят сокращать имена переменных, до того, что возникает путаница и по контексту сложно догадаться, о чём идёт речь.
В качестве примера, я вчера начал играться с OCaml и там вместо "element" или хотя бы "elem" в официальной доке пишут elt, а "lst" так вообще означает list of elements.
Для логических операторов они вообще прихуячили lsl lsr asr, вместо общепринятых <<, >>, для asr - хуй знает.
Предположение одно: они пишут высококачественный код (лол) на лету, причём пишут его так быстро, что им нужно постоянно сокращать переменные, чтобы быстрее писать и глазами парсить написанное.
>>2592992 Математикам подражают. Те тоже любят сокращать все до пидорских однобукв. Раньше это было оправдано - доска и лист бумаги не резиновый, а сейчас уже нет, но моск уже одеревенел.
С++ макака со стажем, хочу вкатиться в коммон лисп фор фан и профит, у меня вопрос. Почитал книжку, открыл емакс, освоил фундаментальные вещи. Что дальше? Не было просветления, на которое я надеялся.
Функциональный стиль без состояний и минимальные эффекты, да круто, но это просто хороший стиль. Фишки как изменение функции при работе программы, супер, быстрые разработка, отладка. Функции как объекты первого класса, замыкания, хорошо. Макросы, я ещё не могу судить об этом, т.к. нет опыта, но возможность дополнения языка конечно радует.
Может фишка в создании своих мм... языков предметной области ? Что я не понял/пропустил?
>сокращать имена переменных Потому что это улучшает читаемость. Чем меньше скоуп идентификатора - тем короче имя. Чем больше скоуп - тем дескриптивнее и подробнее имя. Для стандартных вещей - соглашение по стандартным именам. То же самое в общем-то в си\голанге\расте, например, просто у ФП свои стандартные вещи и соглашения по их именованию. Ну например при деструктуризации списка принято писать x:xs и так далее.
Например, в clojure: coll - collection s - string f, g, h - function & more - varargs m - map k, v - key, value
>>2593770 Коммон лисп - не особо функциональный. С таким же успехом можно жс назвать функциональным. За функциональщиной в кложу. инб4: без статик тайпинга и монадного ио ето не фп ряя
Основные фишки - клос, сигналы и рестарты, макросы, интерактивная разработка. Попробуй написать какой-нибудь гуевый пет-проект. Посоветовал бы игрушку написать, но не знаю, как у кл нынче дела с графическими библиотеками.
>>2592992 >Потому что это улучшает читаемость. Чем меньше скоуп идентификатора - тем короче имя. Чем больше скоуп - тем дескриптивнее и подробнее имя. Для стандартных вещей - соглашение по стандартным именам. Так всё стало на свои места. Спасибо.
Я за свободный вечер прочитал первую главу оф. refman и сразу перескачил на 5 главу, ибо быстрее всего хочу дойти до идеи GADT'ов и пощупать получше систему типов, а потом сравнить её с системой ТС. Жаль, что дваче по окамлу последний индексированный тред утонул в 2019, а язык тем временем развивается, в декабре вышла 5 мажорная версия, в которой добавили новую среду выполнения для SMP и effect handler'ы для написания всяких параллельных штук.
>>2594393 Пробовал на "буханке" по карельским боротам ездить? Неудобно, сложно, трясёт, зато как привыкнешь - и вокруг красота, природа, спокойствие. Такое умиротворение сразу. И плевать на всех этих ослов на тойотах, которые только на шоссе кайф от езды способны получать.
>>2594373 Развиваться-то он развивается, только эти мудаки до сих пор не могут выкинуть говностдлиб и заменить ее на коре (кстати, рил ворлд окамл тоже новый вышел в этом году). И вместо системы сборки у них дюна.
А так да, спустя эн лет запилили наконец мультитрединг, тащем-то нормальный рантайм теперь.
>>2594357 > lsl lsr asr > Это как раз общепринятое именования битоебских операторов. > общепринятое Специфичное для арма. Пдп11: asl asr ash Мипс, спарк, альфа: sll srl sra Хуй86: shl shr sar
>>2613036 Запили распределенную опердень с датомиком и засунь ее в кубы, потом можешь апплаиться в хелфсамурай (если ты хайлоад-синьор-помидор-9000-айкью)
>>2613584 А кложура годится для хуйлоада? Я прост не в курсах. Гориз масштабирование только или и вертикальное? Реактивную работу с субд умеет? Неблокирующий асинхронный веб?
Я знаю как все это в жяве делоть. Но про кложуру сдышал только что это лиспоскобочки
>>2613584 Та же самая идея. У дураков идеи похожи. Пишешь лапшу на dsl в одном файле. Указываешь какая часть кода на сервере исполняется какая на клинте.
Поясните за гомоиконичность. Правильно понял, что язык поддерживающий гомоиконичность имеет AST, которое по структуре один в один повторяет написанный код? В чем профиты? И еще вопрос, что за тип данных такой - символ? Встречал его в других языках, но как-то не задумывался в чем его прикол
>символ Если у твоего языка ад-хок синтаксис, то у тебя в грамматике просто класс "идентификатор", а если тебе нужно first-class представление программы в виде данных, то тебе желательно иметь тип, чтобы идентификаторы представлять
>>2642078 Акцент не на вебде (в рисовании окошек и менюшек через clog ничего сложного и интересного), а на "а-ля смолтолк". У него интересная концепция, где ДЕ не как набор программ, оконный менеджер и меню пуск, а как среда отображения, манипуляции и композиции объектов. Посмотри видосик в описании, он всё рассказывает и показывает. >нанятого за 17к рублей Намекнул бы кто этой компании из 1 программиста, что это маловато даже за такую заурядную хуиту. Макаки, верстающие на тильде статичные одностраничники, и то в пару раз больше запрашивают.
>>2642618 Я понял идею, но пока вижу тормоза и отсутствие реального применения, как это применять эффективно? Смогли бы МЕЛТОР нанять за 7к программиста которое сделает им все в два раза быстрее?
>>2642818 Какой стабильности или реального применения ты ожидал? Это сырой прототип, чувак только экспериментирует. Что не отменяет охуенности проекта, потому что у него есть ясное видение своей задумки. >МЕЛТОР Решительно не понимаю, если ты понял идею, то нахуя приплёл этот круд с закосом под икспи. Но если знаком лично с этим одним программистом, то поинтересуйся, действительно ли он оценивает свою работу дешевле сидения за кассой в пятерочке.
>>2643523 >skija\humbleui >jvm 😬 Если уж выбирать из двух зол, то пусть остаётся веб. >но ведь тот же гном3 тоже знаете ли своего рода а-ля смолток. Если только внутри. Да и то там скорее дотнет.
>>2578322 >почему лисперы не сделают нормальный синтаксис, и хоть немного выразительный, что бы можно было просто написать и прочесть что то такое >matrix = Matrix[i x j] x Matrix[i x j+1] x BMatrix[k+y+(i/j)]; Почему? Потому что уже сделали https://github.com/phantomics/april (defun matrix-multuply (A B) (april-c "+.×" A B))
>>2651011 Если рассматривать в общем -- несомненно, как и любой полный по Тьюрингу язык. Только не стоит забывать о десятом правиле Гринспена. Но если немного погрузиться в детали, то по крайней мере одно принципиальное отличие таки найдётся. В моём примере april/april-c -- макросы, и разбор и транспиляция в лисп APL-кода происходит на стадии их раскрытия. Таким образом в готовом бинаре получается уже скомпилированный APL. В твоём же примере без модификации инструментария полностью скомпилированный бинарь не получить.
>>2652140 >Ну можно сделать Можно. Конечно, можно. Я даже тебе наводку дам https://camlp5.readthedocs.io/en/latest/ Когда наиграешься с подстановкой велловорлдов седом и соберешься идти дальше, тебе придётся переизобрести примерно такую штуку и в процессе заодно осознать, что даже хороший препроцессор не ровня макросистеме. Но это уже другая история Ждём тебя с готовым
Господа, приветствую, а есть ли что-то похожее на емакс, но не такое уебищное bloatware? Я когда вижу тысячи ненужной херни в ТЕКСТОВОМ РЕАКТОРЕ, то меня трясти начинает.
Пишу уже наверное вторую или третью неделю бота для телеги (в вольное от работы время разумеется) на кложуре. Вот отсутствие типов - крайне хуёво. Я хоть и работаю на петухоне, но там аннотация, вся хуйня. А в кложуре из трех функций постоянно падаю на какой-нибудь хуйне. Написал функцию - 10 раз исправил ошибки, только тогда заработала.
Я помню когда учил го, несколько был поражён - запустил бота, 3 раза упал до запуска, 1 раз на null poiner - все, нахуй. Бот работает железобетонно, нахуй. Хоть лом на башке верти.
Вот и как жить? Идешка не подсказывает. Откуда должно взяться 500% ттм? Дохуя об этом слышу но так и не понял откуда это взялось
>>2681612 >Алсо, реквестирую ресурсы по кишкам SBCL. Их нет. Разработчики не утруждают себя документированием кишок, ибо не предполагают стабильного апи и вообще нехуй туда лезть.
>>2681641 Хорошо, тогда не настолько кишкам. Как пример: в мануале SBCL говорится, что ты можешь сменить функцию чтения пользовательского ввода. А сама функция даже не называется. И хуелиард такого. ЧЗХ?
>>2681642 Хз, видимо предполагается, что если действительно можешь, то сможешь и в исходниках найти, где и что там подкручивается. А ты что хочешь-то? Репл потюнить? Есть же sb-aclrepl и cl-repl. Вторым я и сам пользуюсь
>>2681654 Да, что-то типа. Я тут писал два-три треда назад. Хотел CLI утилиту сделать, но писать такую с нуля заёбывает. Хочу чуть-чуть изменить обработку ввода + некоторые новые функции + reader macro (чтобы эти новые функции можно было вызывать по типу @eto yoba, а не (eto yoba)). А потом просто засейвить образ в исполняемый файл и в хуй не дуть.
Откопал свой пет, после N месяцев пинания пиписек на работе.
>>2681410 Хз, очень редко торможусь на ошибках, которые бы могла словить система типов (тем более а-ля го или джава). Зато вот когда после кложуры пишешь на го, то часто зарываешься на дохуя времени из-за того, что вместо наиболее логичной формы данных приходится делать нечто, что влезет в тайпчекер.
Попробуй писать спеки или хотя бы просто примеры входа\выхода для функций (по ним потом можно автосгенерить спеки).