История изменений
Исправление ados, (текущая версия) :
Конечный автомат?
Это похоже на другой языка. Тогда trick переименовывается в switch-state и получается что-то вроде:
(build-finite-state-machine
:init-state construct
:states
((construct (some)
(if (very-bad? some)
(switch-state 'good-bye)
(switch-state (if (bad? some)
'fix
'show)
some)))
(good-bye ())
(fix (some)
(switch-state 'show some))
(show (some))))
В результате получается объект, из которого событие из цикла gtk берёт соответствующую лямбду. Дополнительные потоки исполнения не требуются.
Исправление ados, :
Конечный автомат?
Это похоже на другой языка. Тогда trick переименовывается в switch-state и получается что-то вроде:
(build-finite-state-machine
:init-state construct
:states
((construct (some)
(if (very-bad? some)
(switch-state 'good-bye)
(switch-state (if (bad? some)
'fix
'show)
some)))
(good-bye ())
(fix (some)
(switch-state 'show some))))
В результате получается объект, из которого событие из цикла gtk берёт соответствующую лямбду. Дополнительные потоки исполнения не требуются.
Исправление ados, :
Конечный автомат?
Это похоже на другой языка. Тогда trick переименовывается в switch-state и получается что-то вроде:
(build-finite-state-machine
:init-state construct
:states
((construct (some)
(if (very-bad? some)
(switch-state 'good-bye)
(switch-state (if (bad? some)
'fix
'show)
some)))
(good-bye ())
(fix (some)
(switch-state 'show some))))
В результате получается объект, из которого событие из цикла gtk берёт соответствующую лямбду. Всё получается в одном потоке исполнения.
Исходная версия ados, :
Конечный автомат?
Это похоже на другой языка. Получается что-то вроде:
(build-finite-state-machine
:init-state construct
:states
((construct (some)
(if (very-bad? some)
(switch-state 'good-bye)
(switch-state (if (bad? some)
'fix
'show)
some)))
(good-bye ())
(fix (some)
(switch-state 'show some))))
В результате получается объект, из которого событие из цикла gtk берёт соответствующую лямбду. Всё получается в одном потоке исполнения.