аналитические функции такие хорошие.. только вот операции над графами нельзя представить в виде аналитических функций... или можно?
ну, то есть, классический пример это разворачивание окна, его можно плавно интерполировать координатами и размером. а вот, к примеру, включение или отключение сетевухи низзя...
в 4D диаграммах события получаются вертикальными штрихами, но в то же время встает вопрос упорядочивания событий, т.к. время наступления события (рассчитанное или измеренное) всегда имеет конечную точность, и скорее всего даже для точечных событий имеет смысл рассматривать какую-то функцию распределения, вроде гауссианы, которая отражает вероятность наступления события в каждый данный момент времени..
как-то так.. мда. голова болит, мысли путаются. кому-то еще в голову такое приходило?
* это вопрос не только про решение конфликтов и\или упорядочивание, это про программирование вообще, потому что он мешает строить машины потоков данных, оно же functional reactive systems
** надо это в двух случаях: для сокращения времени реакции системы до "меньше полной латенси" и для сглаживания изменений
классический пример: в шутере игрок нажимает на курок, ему на клиенте начинают проигрывать выстрел, пакет летит в сервер. сервер считает результат, клиент тем временем рисует летящие кровь\осколки (ни к чему не обязывающие), и потом рисуется резльутат попадания (запускается анимация смерти или не запускается)
если клиентский симулятор ошибся, то нам надо откатить результат... и вот для этого желательно бы уметь плавно интерполировать между правильным и неправильным результатами.
более радикальный пример: есть у нас на сервере и на клиенте агент, отвечающий на сообщения. программист на сервере написал новую версию обработчика и нажал "коммит". при этом хочется что-то красивое делать на клиенте, в тот момент когда одна версия обработчика заменяется другой. не AST же интерполировать, в самом деле? (вот это как раз операции над графами, да).
еще пример: есть HTML страница, в нее догружаются картинки, или окно ресайзится, и надо повторно лейаутить это дело
* еще на почитать: Genuinely Functional GUIs by Conal Elliott