Self-adjusting computation refers to a model of computing where computations can automatically respond to changes in their data. [...] Perhaps the most important idea in self-adjusting computation is the treatment of computation as a "first-class" mathematical and computational object that can be remembered, re-used, and adapted to changes in its environment. Another important idea is the use of type systems that can separate "changeable" computations from "stable" or "invariable" computations that do not and cannot change. Another crucial idea is the realization of the first-class nature of computation in efficient algorithms that represent a computation in the form of a dynamic dependency graph. Such a graph can be constructed and updated efficiently, via a change-propagation algorithm, in response to changes to the computation data. ‎· не стою твоих вдохновлений
во-первых, мне почему-то вспоминается РЕФАЛ ‎· гроб белых фермеров
во-вторых, я не совсем понимаю, чем the treatment of computation as a "first-class" mathematical and computational object that can be remembered, re-used отличается от обычной идеи first-class functions в функциональных языках ‎· гроб белых фермеров
ну РЕФАЛ это же хорошо, я был фанат РЕФАЛА ‎· не стою твоих вдохновлений
и да, SAC имеет явное отношение к partial evaluation и supercompilation ‎· не стою твоих вдохновлений
отличия от first-class functions (насколько я понял, быстро просмотрев абстракты) в том, что видна внутренняя структура вычисления, то есть из чего вычисление состоит (рекурсивно), и зависимости подвычислений от данных, и соответственно можно это вычисление специализировать / частично вычислять, можно его планировать к выполнению в зависимости от доступности / формы данных, и т.п. кроме того, они в части работ рассматривают effectful computations ‎· не стою твоих вдохновлений
Думаю, spreadsheets занимают достойное место среди примеров? ‎· 9000
по крайней мере, в около-обсуждениях занимали, да, в дисерах пока не видел ‎· не стою твоих вдохновлений
да, я собственно забыл написать, откуда дровишки. читал я серию постов Ярона нашего Мински, https://blogs.janestreet.com/incrementality-and-the-web/ и https://blogs.janestreet.com/self-adjusting-dom/ (а вчера он ещё написал https://blogs.janestreet.com/self-adjusting-dom-and-diffable-...) и вот там-то, в том числе в комментах ‎· не стою твоих вдохновлений