LINUX.ORG.RU

Вызов лисперам.

 


2

5

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

Я часто вижу на ЛОРе утверждения наподобие такого: «Лисп-макросы дают возможность создавать DSL под задачу, а саму задачу решать на языке предметной области». Дальше обычно следуют выводы: благодаря этому лиспер во много раз производительнее программиста на С, С++, Java, Python и прочих non-Lisp языках. Сразу disclaimer: я тут ни на чьей стороне, мне самому интересно посмотреть, как работает этот подход. В частных беседах добиться особо ничего не удалось, разве что «я тут писал DSL для разбора лисповых DSL, чтобы можно было DSLить, пока DSL разбирается; а eDSLей так вообще было не счесть». Поэтому предлагаю решить предельно конкретную задачу, в которой, кстати, есть острая нужда.

Есть такой замечательный дистрибутив Gentoo, наверняка многие им пользуются. У него прекрасная концепция, но есть большая проблема с пакетным менеджером portage. Он — «невыносимо тормозной», а его разработчики "не хотят лезть в это адское спагетти из пистона и баша". Перевожу на профессиональный язык: portage имеет проблемы с производительностью и поддерживаемостью. Вероятно, отчасти из-за неудачного выбора языков реализации.

ЛОРовцы уже кинули клич на предмет переписывания portage на С/С++, но как мне показалось, делишки идут неважно. Давайте поможем общему делу? Мне кажется, задача просто идеальная:

1. Не «Hello, World», но и не система управления ядрёным реактором. Судя по утверждениям лисперов, такое должно занять от одного вечера до нескольких дней. Таким образом, проверяем claim о производительности лиспера;
2. Исходный продукт испытывает проблемы с перфомансом. Проверяем claim о том, что лисп не тормознее сишечки, а также claim, что на лиспе проще реализовать правильные алгоритмы и структуры данных;
3. Предметная область — пакеты, метаданные, содержимое, зависимости, сборка и установка. Предельно ясная и самодостаточная. Проверяем claim о DSL и решении задачи на языке предметной области.

Итак, ТЗ — реализовать Gentoo portage на лиспе вашей мечты, The Right Way(TM). Приз — всенародное признание, сотни нефти и гарем из 99 девственниц подросшая репутация лиспа :) Впрочем, пацаны вроде даже собирались скидываться на условную «бутылку Жигуля». Кстати, призываю Chaser_Andrey в свидетели.

Ну, что? Challenge accepted?


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

На слабо никто писать не будет.

Где я сказал «на слабо»? Цель — принести пользу сообществу и поднять репутацию лиспа.

вот тебе примеры менеджеров зависимостей

Можешь показать, где там DSL?

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

Можешь показать, где там DSL?

А кто тебе сказал, что они там должны быть? Влажные фантазии не в счет.

Есть ещё такая вещь — «принести пользу сообществу».

Пользу приносят своему сообществу. С какого ли хрена я должен приносить пользу сообществу, в которое я не вхожу?

А тут как раз шанс

Ох, сижу я такой на ЛОРе и все жду пока мне кто-то шанс блеснуть предоставит.

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

А кто тебе сказал, что они там должны быть? Влажные фантазии не в счет.

Ну вот сами лисперы и утверждают. Дескать, лиспер на каждую задачу пишет DSL, и решает задачу уже на нём. Якобы за счёт этого и продуктивность заебатая.

С какого ли хрена я должен приносить пользу сообществу, в которое я не вхожу?

Значит, этот топик не для вас. Спасибо за участие!

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