Запутался в схемах выключателей Yampa

Вот некоторые схемы выключателей Yampa по адресу:

http://www.haskell.org/haskellwiki/Yampa/switch

http://www.haskell.org/haskellwiki/Yampa/rSwitch

http://www.haskell.org/haskellwiki/Yampa/kSwitch

(и так далее).

Я обнаружил, чтоswitchЕдинственная диаграмма с описанием - самая простая для понимания. Другие, кажется, трудно следовать аналогичным символам, чтобы прочитать диаграммы. Например, чтобы попытаться прочитатьrSwitch с символами, используемыми вswitch может быть:

Будьте рекурсивным SF, который всегда получает сигнал типа «in» и возвращает сигнал типа «out». Начните с исходного SF того же типа, но кто-то за пределами функции переключения (квадрат? [Cond])) также может передать новый SF через Событие (типEvent (SF in out) в подписи) в то время как условие выполнено (для «?» перед квадратом [cond]). В случае события Yampa будет использовать новый SF вместо существующего. Этот процесс является рекурсивным, так как '?' (не может получить это из диаграммы, за исключением того, что подпись rSwitch кажется рекурсивной).

И после того, как я смотрю в источникrSwitchПохоже, это использоватьswitch переключиться на тот же инициал SF рекурсивно, покаt срабатывает (в соответствии с тем, что описано на диаграмме, хотя я не вижу, что особенноеt будет запущен в исходном коде).

В аркаде Yampa это объясняетdpSwitch с кодом и примером. И статья об игре «Frag» также используетdpSwitch, Тем не менееrSwitch кажется, отсутствует в этих уроках. Так что я действительно не знаю, как использоватьr- илиk-последовательные коммутаторы, и в каких случаях они нам понадобятся.

Ответы на вопрос(1)

Ваш ответ на вопрос