From: Michael Shigorin <mike@altlinux.org> To: community@lists.altlinux.org Subject: Re: [Comm] Отладочное логирование модулей alterator Date: Tue, 23 Sep 2025 14:51:05 +0300 Message-ID: <20250923115104.GL19218@imap.altlinux.org> (raw) In-Reply-To: <3e6a9e45-0790-4e3d-b7a8-04035f7643c0@yandex.ru> On Tue, Sep 23, 2025 at 11:18:11AM +0300, Alexander Lubyagin wrote: > Вопрос немного в сторону. А почему для определения обработчиков > событий (<module>/ui/<name>/ajax.scm) выбрано задание списочной > структуры на Scheme (Guile)? Scheme выбрали как встраиваемый вариант LISP, поскольку изначально альтератор был проектом на C++ со скриптовыми привязками -- насколько помню, как раз из-за того, что на лиспе единообразны код и базовые структуры данных, то есть сериализация и метапрограммирование естественны для языка (с этим, правда, вылезли и неожиданные побочные эффекты, когда sbolshakov@ перебирал движок через глушитель, пока нужные ему правки добиралсь в очередной выпуск; в итоге inger@ запретил обычные присваивания и сделал API с геттерами/сеттерами). > Ведь древовидную структуру можно определить на любом скриптовом > языке, поддерживающем ООП (к примеру). Да и просто в текстовом > файле. А бэкенд нынче модно писать на Python. Ну вон модные и пишут -- на python с dbus. Не понимая и того, что отдельная шина управления -- это тоже фича, а не бага (сравнивать тут стоит с IPMI, причём dedicated). > Правда, я не знаю, насколько он безопаснее Scheme, т.к. под > трассировщиком "сыплет" много лишнего мусора при вызове своих > библиотек. Возможно, Scheme в этом смысле "чище" работает. За всё это время в альтераторе при стороннем аудите была найдена ровно одна уязвимость (алгоритмическая); тогда же исправлена (уже очень давно). > А вместо Питона для бэкенда (если выбирать его) я бы брал > какую-то его минимализированную версию, из которой выкинуты > "опасные" функции. Основная кодовая база, как я вижу, > компилируется в бинарники > /usr/lib/alterator/interfaces/guile/*.go Да; с портированием байткодовой машинки в виде guile 1.8 на эльбрус возникли нетривиальные проблемы в 2017 году, но с тех пор и сам guile переехал на libgc, и апстрим libgc принял поддержку e2k (более того, заинтересовался). > Рассуждая таким образом, я пришёл к мысли, что Scheme как раз > не позволяет делать "опасные" вещи типа os.system(), а > обращается "с миром" только через прописанные в interfaces/ > интерфейсы. Из книжек по нему я нашёл: Гляньте http://altlinux.org/scheme :) > - SICP (1996); Есть и на русском: http://r-5.org/files/books/computers/languages/lisp/Harold_Abelson_Gerald_Sussman_Julie_Sussman-SICP-RU.pdf > P. S. > Было бы также интересно поглядеть на версии alterator <= 1.0.1, на > которые ссылается alterator/changelog.old > Хорошо, что есть alterator/doc/internals/*.html (там есть даже todo.html > и evolution.html) Это надо смотреть альтовые дистрибутивы ~2001 года, хотя если мне не изменяет склероз -- то из них первая итерация альтератора входила в ИВК Кольчугу и имела весьма ограниченное хождение. -- Michael Shigorin http://altlinux.org/elbrus
next prev parent reply other threads:[~2025-09-23 11:51 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-09-22 17:34 Alexander Lubyagin 2025-09-23 6:06 ` Michael Shigorin 2025-09-23 6:27 ` [Comm] " Sergey V Turchin 2025-09-23 8:18 ` [Comm] " Alexander Lubyagin 2025-09-23 8:29 ` [Comm] " Sergey V Turchin 2025-09-23 11:51 ` Michael Shigorin [this message] 2025-09-23 11:32 ` [Comm] " Michael Shigorin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20250923115104.GL19218@imap.altlinux.org \ --to=mike@altlinux.org \ --cc=community@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Community general discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 community community/ http://lore.altlinux.org/community \ mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com public-inbox-index community Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.community AGPL code for this site: git clone https://public-inbox.org/public-inbox.git