LINUX.ORG.RU

История изменений

Исправление 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 берёт соответствующую лямбду. Всё получается в одном потоке исполнения.