К уже поднимавшемуся вопросу об активных структурах данных.

> -- Непейвода, Скопин Основания программирования, п. 13.4.1 писал(а):
> Конечно, реализовывать аналитические вычисления можно самыми разнообразными способами. Можно упрятать реализацию всех нужных преобразований в каком-либо прикладном пакете (как это сделано, например, в Maple) и даже не заметить, что мы имеем дело с сентенциальными по сути своей задачами. Однако этот путь ведёт лишь к таким решениям, которые нужны "здесь и сейчас": программист, к примеру, не сможет подсказать программе символического дифференцирования, что она имеет дело с неким частным случаем, для которого можно резко сократить перебор вариантов. Когда требуется проводить подобные преобразования систематически, удобнее снабдить перерабатываемые данные дополнительными атрибутами, направляющими вычисления в нужное русло. Иными словами, полезно  (выделение авторов - И.Е.). А это - привнесение в программу, обрабатывающую такие данные, элементов сентенциального стиля, пусть даже без использования подходящей языковой поддержки. Преимущества, которые при этом появляются, непосредственно следуют из того, что данный вид обработки является сентенциальным по своей сути, требующим адекватных средств реализации.

Сентенциальным стилем называется прогр-е в терминах "широких", "умных" трансформаций данных по правилам, типа Рефала или Пролога (хотя они совершенно непохожи по принципам и механизмам).

Интересно. Info21 пришёл к активным структурам в символьных задачах. Я с другого бока - от задач трансляции (как раз Рефал-транслятор на КП).

(Кстати, фанатам ФП повод поразмыслить, почему Оберон тут катит не хуже Хаскелей.... Природа задач-то тут не функциональная (это только кажется, что если слово "функция", так сразу на порядок "математичнее"), так что язык в данном случае только материал для реализации. Так что лучше ему быть проще, чтоб ненужными побочными эффектами не сбивал с генеральной линии...)

Прошу воспринимать как мысли вслух...