LINUX.ORG.RU

Нужен ли кому-то Common Lisp в IDEA?

 , , ,


0

5

Думаю, для разминки скиллов в Яве может быть интересно сделать связку между IDEA и SLIME. Пока не уверен, что из этого что-нибудь выйдет, но у меня уже есть положительный опыт написания IDE для лиспа «с нуля» на базе SWANK, клиент написан на tcl (URL у меня в профиле). Здесь, видимо, объём работы должен быть гораздо меньше.

Также я не совсем уверен, что это нужно мне самому.

Всё же tcl - это ещё и гуй, который легковесен и по мне так гораздо приятнее Java (не могу смотреть без слёз, как IDEA тормозит). И заодно ещё вопрос: насколько хорош CUSP и насколько тяжело может оказаться перевести CUSP на IDEA.

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

★★★★★

Последнее исправление: den73 (всего исправлений: 3)

Ответ на: комментарий от den73

У меня был встроенный в лисп лексер SQL.

Квадратные скобки подсветятся, а то, что между ними считается неразбираемым (так же как строки SQL, например).

monk ★★★★★
()
Ответ на: комментарий от feofan

У меня есть противоположный опыт. Патч приняли в тот же день.

Это чудо :-) Другим повезло меньше :-) На сегодняшний же день их репозиторий насчитывает 44 пулл реквеста и 95 иссуес :-) Самый старший пул реквест датирован 6 января 2014 года :-) Т.е. более 3-х лет назад :-) Толку с такого открытого проекта, которому плевать на труд добровольцев? :-) Подумаешь, ну посидел какой-то васян пару-тройку дней, поделал патч, отправил :-) Пусть теперь посидит года 3, подождёт :-) Софт то свободный, опен сорсный :-) Никто никому ничего не должен, никто ни за что не отвечает :-) Круто, да? :-) Лол :-) Приятнее и гораздо эффективнее иметь дело с коммерческим поставщиком на коммерческой основе :-) Платишь деньги - получаешь нужный софт :-) Всё просто, понятно, эффективно и продуктивно в отличии от :-)

anonymous
()
Ответ на: комментарий от monk

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

den73 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Есть ещё slynk. Мой патч в Slime тоже не приняли. Поэтому я форкнул slime и поддерживаю свои патчи к asdf.

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Если Perl и Хаскель так плохо читаются Явой, следует ли ожидать, что их плагины за раскраской тоже обращаются к самим этим языкам?

За раскраской — нет. https://github.com/rikvdkleij/intellij-haskell

Считается, что раскраска должна понимать только стандартную библиотеку. Для CL выглядит так: https://github.com/orthecreedence/highlight-lisp/blob/master/highlight-lisp.js

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

Вот, например, решили мы, что в определениях должны выделять слово-определитель (defun/defmethod/...) одним цветом, определяемый элемент — другим, аргументы — третьим. А потом кто-то определяет defun* на котором код выглядит как

(defun* sum ((a real) (b real))
   (:returns real)
   (+ a b))

Кстати, LorCode тоже делает раскраску кода, причём достаточно корректную.

Так вот: real здесь чем считать? Просто символом, ключевым словом, типом? Про то, что это тип, кроме как в описании defun* нигде не узнать, даже если видно определение макроса defun*.

monk ★★★★★
()
Ответ на: комментарий от den73

Есть ещё slynk. Мой патч в Slime тоже не приняли. Поэтому я форкнул slime и поддерживаю свои патчи к asdf.

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

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

anonymous
()
Ответ на: комментарий от den73

Да, но в SQL есть своё понятие о строках и эскейпах в этих строках

Это неправильный eDSL. Правильный eDSL в CL строки использует лисповые. В общем, аналогичный пример для Си (который тоже сводит с ума большинство парсеров) я приводил.

monk ★★★★★
()
Ответ на: комментарий от anonymous

На сегодняшний же день их репозиторий насчитывает 44 пулл реквеста и 95 иссуес :-) Самый старший пул реквест датирован 6 января 2014 года :-) Т.е. более 3-х лет назад :-)

Почитал первые 4 из открытых пулл реквестов. В обсуждении там нормальное общение с отправившим. Как правило, реализация просто делается по-другому.

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

monk ★★★★★
()
Ответ на: комментарий от monk

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

А в балабольстве, высокомерии и в надувании щёк их нельзя обвинять? :-)

anonymous
()
Ответ на: комментарий от monk

Конечно, он неправильный, но когда надо ежедневно писать SQL-запросы десятками (часть из них с метаМП), лишняя пара кавычек напрягает не на шутку, погружая в quoting hell ещё на один круг.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от anonymous

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

Лисп слишком широк. И в некоторых своих ипостасях становится несовместим сам с собой. Например, если попробовать совместить в одном проекте hu.dwim.def и budden-tools. Новички часто предлагают то, что не вписывается в существующую структуру проекта.

Есть некий «стандартный» CL. Где всё расширение делается только библиотеками. Если что-то успешно делается в рамках ANSI CL, то применяется именно этот вариант. Расширение синтаксиса только в [...]. Описание систем в ASDF. Использование расширений отдельных компиляторов через портируемые библиотеки (cl-mop, trivial-garbage, bordeaux-thread и т.д.). Любая попытка отклонится от него — всё равно, что в рамках Си использовать Cello.

monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от anonymous

Слава Богу, что не принимают патчи. Я вот сижу в Яве по уши и version hell тут во весь рост. Ни одного плагина к идее 7-летней давности мне запустить не удалось.

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Конечно, он неправильный, но когда надо ежедневно писать SQL-запросы десятками (часть из них с метаМП), лишняя пара скобок напрягает не на шутку, погружая в quoting hell ещё на один круг.

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

monk ★★★★★
()
Ответ на: комментарий от monk

Лисп слишком широк. И в некоторых своих ипостасях становится несовместим сам с собой. Например, если попробовать совместить в одном проекте hu.dwim.def и budden-tools. Новички часто предлагают то, что не вписывается в существующую структуру проекта.

Тогда у лиспа не просто большие, а очень большие проблемы :-) Кому нужно связываться с таким языком, который «несовмистим сам с собой»? :-) Ну правда, кому это надо, кроме пенсионеров для хобби? :-)

anonymous
()
Ответ на: комментарий от den73

Слава Богу, что не принимают патчи. Я вот сижу в Яве по уши и version hell тут во весь рост. Ни одного плагина к идее 7-летней давности мне запустить не удалось.

Лол :-) А Linux 2.6.18 не пробовал запускать? :-) Как там дела, интересно? :-) Серьёзно, никогда не думал о том, чтобы запускать плагины 7-летней давности в IDEA :-) Мне такие проблемы неведомы и вообще ни к чему :-)

anonymous
()
Ответ на: комментарий от monk

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

elyadow
()
Ответ на: комментарий от timdorohin

Ты уж определись, либо самую лучшую ide для лиспа, либо не emacs.

ugoday ★★★★★
()
Ответ на: комментарий от anonymous

Приятнее и гораздо эффективнее иметь дело с коммерческим поставщиком на коммерческой основе :-) Платишь деньги - получаешь нужный софт :-) Всё просто, понятно, эффективно и продуктивно в отличии от :-)

Такие теории обычно выдают люди, чей опыт взаимодействия с интерпрайзом ограничивается покупкой oem windows.

ugoday ★★★★★
()
Ответ на: комментарий от anonymous

А в балабольстве, высокомерии и в надувании щёк их нельзя обвинять? :-)

На себя бы лучше посмотрел.

anonymous
()
Ответ на: комментарий от anonymous

У самого хоть беспроблемный вариант есть? Что ты сам предпочитаешь? Только обсирать выбор других?

anonymous
()
Ответ на: комментарий от ugoday

Такие теории обычно выдают люди, чей опыт взаимодействия с интерпрайзом ограничивается покупкой oem windows.

Кстати, от oem windows толку в сто крат больше, чем от слайма с емаксами :-) А с помощью коммерческой IDEA можно сделать софт, который будет востребован реальными людьми, а не задротами в касках :-) Практика показывает, что ничего серьёзного на Лиспе так и не создано :-) Особенно, с помощью слайма с эсбэцеелем :-) Просто нет такого софта на лиспе, с которого был бы толк :-) А с коммерческих продуктов, хоть даже и с Windows OEM, с IDEA, с той же Visual Studio толк есть :-) Даже от LispWorks есть толк, ибо коммерческий софт от тех, кто этим зарабатывает, а не от высокомерных балаболов, которые просто «наслаждаются скобками» :-)

anonymous
()
Ответ на: комментарий от anonymous

У самого хоть беспроблемный вариант есть? Что ты сам предпочитаешь? Только обсирать выбор других?

Уважаемый, я никого не обсираю :-) Это не по моей части :-) Просто имею своё собственное видение :-) С таким же успехом я могу поговорить и высказаться и про цепепе, например :-) Кстати, давно не было темы, кто бы поднял :-) Лол :-)

anonymous
()
Ответ на: комментарий от anonymous

Даже от LispWorks есть толк, ибо коммерческий софт от тех, кто этим зарабатывает

PS. Интересно было бы посмотреть на лисперов, чтобы они делали без такого щедрого подарка от LispWorks, как HyperSpec в отрытом доступе :-) Листали бы известную книжку от Грэма, вероятно :-) Лол :-)

anonymous
()
Ответ на: комментарий от anonymous

Листали бы известную книжку от Грэма, вероятно

Грем сам презирает коммон лисп, между прочим:

Historically, Lisp has been good at letting hackers have their way. The political correctness of Common Lisp is an aberration. Early Lisps let you get your hands on everything.

A hacker's language needs powerful libraries and something to hack. Common Lisp has neither. A hacker's language is terse and hackable. Common Lisp is not.

The good news is, it's not Lisp that sucks, but Common Lisp.

source 〔Being Popular 2001-05-30 By Paul Graham.

http://xahlee.info/comp/Common_Lisp_quotations.html

actionpattern
()
Ответ на: комментарий от actionpattern

Грем сам презирает коммон лисп, между прочим:

Интересно, он его стал «презирать» до того, как продал свой Viaweb, написанный на лиспе, за много миллионов, или уже после этого :-) Судя по дате, уже после продажи :-) Т.е., получается, когда стал миллионером? :-)

anonymous
()
Ответ на: комментарий от anonymous

получается, когда стал миллионером?

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

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

actionpattern
()
Ответ на: комментарий от anonymous

Интересно, он его стал «презирать» до того, как продал свой Viaweb, написанный на лиспе, за много миллионов, или уже после этого :-) Судя по дате, уже после продажи :-)

И тут нужно понимать что для Viaweb он использовал CLisp который шустрее других умел работать С IO за счет собственой С-шной природы:) Но засчет ее же он и наменее hackable из всех прочих Common Lisp-ов. По сравнению с нынешним SBCL просто небо и земля:) Так вот из непонимания реальности рождаются дутые мифы на Лоре:(

antares0 ★★★★
()
Ответ на: комментарий от anonymous

чтобы они делали без такого щедрого подарка от LispWorks, как HyperSpec в отрытом доступе :-)

Который есть по факту тонкая диверсия против свободных СL-ов. Ибо в самом LispWorks-е реализованы все части Commln Lisp the Language, 2nd ed, даже те которые из-за разногласий кометета стандартизации не вошли в стандарт и следовательно отсутствуют в HyperSpec. Итого свободные реализации CL много лет были чуть-чуть попроще комерческих:( Сейчас это врочем выравнивается.

antares0 ★★★★
()
Последнее исправление: antares0 (всего исправлений: 1)
Ответ на: комментарий от den73

Создано, просто ты не про всё знаешь :)

Кроме шуток про алиен текнолоджис :-) Если так подумать, какой юзабельный софт приемлемого качества создан с помощью SBCL? :-) Может быть какая-нибудь СУБД? :-) Или гипервизор виртуализации? :-) Или текстовый редактор на худой конец? :-) А может быть какой-нибудь отладчик? :-) Или какую-нибудь CAD систему? :-) Ну хоть что-нибудь :-) Нет ведь ничего из этого :-) Лол :-)

anonymous
()
Ответ на: комментарий от elyadow

Быстрее чего это мог работать с IO CLisp?

Быстрее прочих. Полную выборку Грэм не приводил:( C другой стороны одно из первых интервью с кем-то из ITA в конце 90-ых ... Там они про опыт с Hurlecin и CMUCL. Они тоже вместо нативного лиспового IO грузили в память внешним С-шным кодом и цепляли к образу лиспа через MMAP/FFI и прочие указатели. Даже на сейчас есть нативное встроеное в SBCL IO. А есть fast-io библиотечка c маленько другой производительностью.

antares0 ★★★★
()
Последнее исправление: antares0 (всего исправлений: 2)
Ответ на: комментарий от anonymous

софт приемлемого качества создан с помощью SBCL? :-) Может быть какая-нибудь СУБД? :-)

Какая-то бигдата выбила европейский грант.

antares0 ★★★★
()
Ответ на: комментарий от antares0

Какая-то бигдата выбила европейский грант.

Просил же без шуток про секрет текнолоджис :-) А тут опять какая-то конспирология :-)

anonymous
()
Ответ на: комментарий от anonymous

какой юзабельный софт приемлемого качества создан с помощью SBCL?

Нет ведь ничего из этого

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

anonymous
()
Ответ на: комментарий от anonymous

Просил же без шуток про секрет текнолоджис :-) А тут опять какая-то конспирология :-)

Я просто конкретного названия не помню к сожалению. Исходники автор все рано не даст:( А презентация этого дела пробегала.

antares0 ★★★★
()
Ответ на: комментарий от elyadow

Плохо искал. CLisp и есть полная выборка на самом деле.

Ну приведи уж фразу раз споришь. А то у меня по памяти все строго наоборот:(

antares0 ★★★★
()
Ответ на: комментарий от anonymous

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

Так вот чем зарабатывают лисперы — платными доказательствами существования никому не известного и пригодного софта на нём? :-) Лол :-)

anonymous
()
Ответ на: комментарий от anonymous

Кто зарабатывает? На какие деньги? Кому это надо?

Ты то сам сколько можешь заплатить? Или до тебя ещё не дошло что подобную инфу тебе никто бесплатно в рот не положит?

anonymous
()
Ответ на: комментарий от anonymous

Ты то сам сколько можешь заплатить? Или до тебя ещё не дошло что подобную инфу тебе никто бесплатно в рот не положит?

За что платить? :-) За доказательство пригодности SBCL для создания сложного и пригодного для серьёзных нужд ПО? :-) За это надо ещё и платить? :-) Лол :-)

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

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

Балабол сейчас ты :-) Все знают, что нет софта на SBCL :-) Да что там SBCL, покажи хоть что-нибудь внятное на Common Lisp :-) Обойдись хотя бы раз без распальцовок и надувания щёк :-) Просто покажи :-) Вот я могу сослаться, скажем, на гипервизор, написанный на C++ - VirtualBox :-) Твой ход :-) Хоть что-нибудь назови :-)

anonymous
()
Ответ на: комментарий от monk

Плагин перла, похоже, парсит перл самостоятельно.

Я не согласен с тем, что раскраска должна раскрашивать только стандарт. Это неэффективно. В любой известной мне нормальной среде (в т.ч. SLIME и LW) автоматически выставляются отступы для любых макросов. Фичи подсвечиваются. Более того, нужно уметь видеть и раскрашивать неопределённые функции, неверно заданные кейворды и прочая, и прочая.

Есть некий «стандартный» CL. Где всё расширение делается только библиотеками. Если что-то успешно делается в рамках ANSI CL, то применяется именно этот вариант. Расширение синтаксиса только в [...]. Описание систем в ASDF. Использование расширений отдельных компиляторов через портируемые библиотеки (cl-mop, trivial-garbage, bordeaux-thread и т.д.).

Да, есть такое течение. Оно нужно, я так думаю, для легаси. Чтобы CL развивался, нужно вносить в язык что-то новое. Хотя бы сделать более мощные литералы строк (CL уже изрядно отстал от современности) и вводить поддержку этих литералов средой разработки.

Тот же bordeaux-thread - это весьма убогая библиотека. ЕМНИП даже swank больше знает про треды, чем bordeaux-threads. А есть и portable-threads.

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Касаемо темы - пока у меня осталось тяжёлое ощущение от мира IDEA и его плагинов. Какой-то он невнятный, что ли. Пока раскопал свой clcon и вроде придумал, как сделать для него раскраску.

den73 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Ты безнадёжен

Вот видишь, так и не назвал :-) Лишь щёки надул, хотя просил же, без всего этого :-) Потому что ничего и нет :-) Лол :-)

anonymous
()
Ответ на: комментарий от monk

Про то, что это тип, кроме как в описании defun* нигде не узнать

А почему бы это именно здесь и не узнать, в чем проблемы?

alienclaster ★★★
()
Ответ на: комментарий от actionpattern

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

А ты видел функционал viaweb?

Это был 1997 год, там и просто «интернет-магазин» на домене .com был супер-стартапом, не говоря уже о конструкторе магазинов, которых до сих пор нормальных еще надо поискать :D А те что есть - хоть в каком-то минимально вменяемом варианте начали появляться спустя 15 лет (на секундочку) после viaweb и гребут бабло мешками.

alienclaster ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.