Verwirrt über Diagramme von Yampa-Schaltern
Es gibt einige Diagramme von Yampa-Schaltern unter:
http://www.haskell.org/haskellwiki/Yampa/switch
http://www.haskell.org/haskellwiki/Yampa/rSwitch
http://www.haskell.org/haskellwiki/Yampa/kSwitch
(und so weiter).
Ich habe das gefundenswitch
, das einzige Diagramm mit Beschreibung, ist am einfachsten zu verstehen. Den anderen scheint es schwer zu fallen, den ähnlichen Symbolen zu folgen, um die Diagramme zu lesen. Zum Beispiel, um zu versuchen, das zu lesenrSwitch
mit den in derswitch
vielleicht:
Sei ein rekursiver SF, dem immer ein Signal vom Typ 'in' zugeführt wird und der ein Signal vom Typ 'out' zurückgibt. Beginnen Sie mit einem anfänglichen SF des gleichen Typs, aber jemand außerhalb der Schalterfunktion (das Quadrat? [Cond]) kann auch einen neuen SF über ein Ereignis (den Typ) übergebenEvent (SF in out)
bei der Unterschrift), während die Bedingung erfüllt ist (für das '?' vor dem [cond] -Quadrat). Im Falle des Ereignisses würde Yampa den neuen SF anstelle des bestehenden verwenden. Dieser Prozess ist rekursiv seit '?' (Kann es nicht aus dem Diagramm erhalten, außer die Signatur des rSwitch scheint rekursiv zu sein).
Und nachdem ich in die Quelle geschaut haberSwitch
es sieht so aus als ob es benutzt wirdswitch
rekursiv auf das gleiche Init SF umzuschalten, während dast
wird abgefeuert (nach dem was im Diagramm beschrieben ist, obwohl ich nicht sehe was das Besondere istt
würde im Quellcode ausgelöst werden).
In der Yampa Arcade erklärt es diedpSwitch
mit dem Code und Beispiel. Und die Zeitung über das Spiel "Frag" verwendet auchdpSwitch
. DierSwitch
scheint in diesem Tutorial abwesend zu sein. Also weiß ich wirklich nicht, wie man es benutztr-
oder derk-
serielle Schalter, und in welchen Fällen würden wir sie brauchen.