From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.1 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1758615491; bh=8nXxl4INNzIgEKQ0Ml6ge8ArEqqO2sTb+b2oY/6trkI=; h=In-Reply-To:From:Date:References:To:Subject:Message-ID; b=T0mM/bjq3efF6q9WericPtVD7RJ9pAlCiW/YEYInGRDEFjWOD7WBywa3k4VF07kLg ZRIrqFMmJNa+VkAdw/V9lP6lfiT0jMuzElwyw9pFA50gTfsgJ92VbnD6H8s3+bSxW0 KmfVCZfJcAtFvNPiZFIwW9WuipMXIVIVtg2z3m4k= Authentication-Results: mail-nwsmtp-smtp-production-main-59.klg.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <3e6a9e45-0790-4e3d-b7a8-04035f7643c0@yandex.ru> Date: Tue, 23 Sep 2025 11:18:11 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: community@lists.altlinux.org References: <02997b7a-ea96-498b-8bf4-510004c158a5@yandex.ru> <20250923060638.GJ19218@imap.altlinux.org> <5054225.31r3eYUQgx@zerg.malta.altlinux.ru> Content-Language: en-US From: Alexander Lubyagin In-Reply-To: <5054225.31r3eYUQgx@zerg.malta.altlinux.ru> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Comm] =?utf-8?b?0J7RgtC70LDQtNC+0YfQvdC+0LUg0LvQvtCz0LjRgNC+0LI=?= =?utf-8?b?0LDQvdC40LUg0LzQvtC00YPQu9C10LkgYWx0ZXJhdG9y?= X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2025 08:18:15 -0000 Archived-At: List-Archive: List-Post: 23.09.2025 09:27, Sergey V Turchin пишет: >> Если alteratord был перезапущен -- значит, у конкретного модуля >> нет реализации для конкретного вывода (попытки обобщить вывод >> для gui и веба обдумывались, но в итоге были отброшены; > Нет. Просто, остались неокончены. AFAIK Inger не переставал работать над > сведением обоих UI в один в своё время, но не доделал. После него оказалось > некому этим заниматься. Вопрос немного в сторону. А почему для определения обработчиков событий (/ui//ajax.scm) выбрано задание списочной структуры на Scheme (Guile)? Ведь древовидную структуру можно определить на любом скриптовом языке, поддерживающем ООП (к примеру). Да и просто в текстовом файле. А бэкенд нынче модно писать на Python. Правда, я не знаю, насколько он безопаснее Scheme, т.к. под трассировщиком "сыплет" много лишнего мусора при вызове своих библиотек. Возможно, Scheme в этом смысле "чище" работает. А вместо Питона для бэкенда (если выбирать его) я бы брал какую-то его минимализированную версию, из которой выкинуты "опасные" функции. Основная кодовая база, как я вижу, компилируется в бинарники /usr/lib/alterator/interfaces/guile/*.go Рассуждая таким образом, я пришёл к мысли, что Scheme как раз не позволяет делать "опасные" вещи типа os.system(), а обращается "с миром" только через прописанные в interfaces/ интерфейсы. Из книжек по нему я нашёл: - Eisenberg, Abelson. Programming in Scheme (MIT, 1988); - An Introduction to Scheme and its Implementation (1997); - Concrete Abstractions An Introduction to Computer Science Using Scheme - Max Hailperin, Barbara Kaiser, and Karl Knight (1999); - Programming With Hygienic Macros - R K Dybvig (1992); - SICP (1996); - Simply Scheme Introducing Computer Science 2d ed - Brian Harvey , Matthew Wright (1999); - Teach Yourself Scheme in Fixnum Days -  Dorai Sitaram (2004); - The Little Schemer 4th Ed (1986, 1996); - The Seasoned Schemer - Daniel P. Fridman. P. S. Было бы также интересно поглядеть на версии alterator <= 1.0.1, на которые ссылается alterator/changelog.old Хорошо, что есть alterator/doc/internals/*.html (там есть даже todo.html и evolution.html)