Confuso sobre diagramas de switches Yampa

Existem alguns diagramas de switches Yampa em:

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

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

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

(e assim por diante).

Eu descobri que oswitch, o único diagrama com descrição, é o mais fácil de entender. Os outros parecem difíceis de seguir os símbolos semelhantes para ler os diagramas. Por exemplo, para tentar ler orSwitch com os símbolos usados noswitch talvez:

Seja um SF recursivo que sempre recebe um sinal do tipo 'in' e retorna um sinal do tipo 'out'. Comece com um SF inicial do mesmo tipo, mas alguém fora da função switch (o quadrado [?]) Também pode passar um novo SF por meio de um Event (o tipoEvent (SF in out) na assinatura) enquanto a condição estiver satisfeita (para o '?' antes da praça [cond]). No caso do evento, o Yampa usaria o novo SF em vez do existente. Esse processo é recursivo, já que '?' (não é possível obtê-lo no diagrama, exceto que a assinatura do rSwitch parece recursiva).

E depois de olhar para a fonte derSwitch, parece que ele usaswitch alternar para o mesmo init SF recursivamente enquanto ot é acionado (de acordo com o descrito no diagrama, embora eu não veja qual é ot seria disparado no código fonte).

No Yampa Arcade, explica odpSwitch com o código e o exemplo. E o artigo sobre o jogo 'Frag' também usadpSwitch. No entanto, orSwitch parece ausente neste tutorial. Então, eu realmente não sei usarr- ou ok-comutadores seriais e em que casos precisaríamos deles.

questionAnswers(1)

yourAnswerToTheQuestion