↑↑↓↓←→←→ⒷⒶ Войти !bnw Сегодня Клубы

Лисперы!
Почему нет низкоуровневого языка на s-выражениях с лиспомакрами?

#EZ9OBZ / @kuzy000 / 3669 дней назад

https://github.com/deplinenoise/c-amplify брошено-покинуто, например.
#EZ9OBZ/YZW / @kuzy000 / 3669 дней назад
О, очередной пылкий вьюноша со «скобочным вебом»! Ну, попробуй реализуй скобочный веб, чо. Только сперва тебе придется написать свой валидирующий pull-парсер для S-выражений. Стандартный лисповый ридер не вернет AST, пока не распарсит все до последней скобки, а в вебе надо начинать интерпретировать по возможности сразу же. Затем ты напишешь разборщик и валидатор своих DSL-аналогов HTML и CSS и начнешь реализовывать рендерер. В этот момент обнаружится, что для лиспа нет качественных биндингов к современным GUI-тулкитам. Сперва ты возьмешься за cffi-cairo и cl-cairo2, но выяснится, что они заточены под старые версии Cairo и не работают. Ты станешь допиливать Cairo-биндинги, но однажды решишь, что Cairo семантически чужд лисп-парадигме и возьмешься писать свою кросс-платформенную библиотеку для поддержки высокопроизводительной векторной графики. Затем ты реализуешь аналог протокола HTTP, только на S-выражениях (назовем его SXTP), потому что HTTP с его убогими URL'ами и методами семантически чужд лисп-парадигме. После этого встанет вопрос о написании веб-сервера, поддерживающего SXTP. Попутно ты напишешь template engine, аналоги XPath, XSLT, а также ORM и MVC-фреймворк. В этот момент выяснится, что традиционные SQL-базы данных семантически чужды лисп-парадигме, и ты начнешь разрабатывать собственную лисп-ориентированную БД. В этот момент ты поймешь, что Common Lisp перегружен и недостаточно выразителен, его стандарт раздут, а макросы негигиеничны; что Scheme слишком минималистична и академична; что остальные диалекты лиспа либо маргинальны, либо требуют .NET/JVM. Тут тебе в голову придет идея создать собственный лисп. Ты потратишь несколько лет на разработку стандарта, реализацию языка и переписывание всего вышеперечисленного на твоем новом языке. После этого окажется, что все ужасно тормозит. И это, разумеется, исключительно по той причине, что операционные системы стандарта POSIX семантически чужды лисп-парадигме. Ты начнешь разрабатывать LISP OS. В процессе разработки выяснится, что эффективная LISP OS для x86/ARM/MIPS не может быть создана в принципе, так как их семантика чужда лисп-парадигме. Ты возьмешься за изучение System C, Verilog, VHDL и в один прекрасный день создашь лисп-машину на FPGA. В этот момент мозаика чудесным образом сложится. У тебя будут лисп-машина, лисп-OS, лисп-сервер и лисп-браузер. Ты восторженно оглянешься вокруг, и обнаружишь, что половина человечества уже переселилась на Gliese 581, а оставшаяся половина забыла про HTML/CSS/etc., как про страшный сон, и давно пользуется квантовыми компьютерами и квантовыми сетями. Но все это уже будет не важно. У тебя ведь будет лисп-браузер и полноценная замена HTML/CSS на S-выражениях. Да и жить тебе останется не так и долго, потому что к этому моменту ты уже будешь дряхлым стариком.
#EZ9OBZ/P9Z / @ninesigns / 3669 дней назад
@4da Баян жи.
#EZ9OBZ/V3H / @kuzy000 --> #EZ9OBZ/P9Z / 3669 дней назад
Можно на любом лиспе сделать программу, которая будет генерировать код на низкоуровневом языке. Или даже транслировать в машкод и тут же исполнять.
#EZ9OBZ/ZOH / @fix / 3669 дней назад
@fix Можно на любом языке сделать программу, которая будет генерировать код на низкоуровневом языке. Или даже транслировать в машкод и тут же исполнять. fixed
#EZ9OBZ/7S3 / @kuzy000 --> #EZ9OBZ/ZOH / 3669 дней назад
@kuzy000 Это. Но тебе же хочется на s-выражениях с лиспомакрами?
#EZ9OBZ/NZQ / @fix --> #EZ9OBZ/7S3 / 3669 дней назад
@fix Я имел ввиду что-то вроде этого: https://github.com/deplinenoise/c-amplify , но не так топорно.
#EZ9OBZ/EGH / @kuzy000 --> #EZ9OBZ/NZQ / 3669 дней назад
@kuzy000 Нетленная классика.
#EZ9OBZ/BML / @lord --> #EZ9OBZ/V3H / 3669 дней назад
потому что УЖЕ есть жаваскрипт
#EZ9OBZ/299 / @krkm / 3669 дней назад
@autism Самый популярный язык РФ и государственный язык Житхуба.
#EZ9OBZ/F8S / @kb --> #EZ9OBZ/299 / 3668 дней назад
@kb ент
#EZ9OBZ/V2E / @krkm --> #EZ9OBZ/F8S / 3668 дней назад
@kuzy000 было
#EZ9OBZ/IIZ / @krkm --> #EZ9OBZ/DLZ / 3668 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.