@@ -5,6 +5,8 @@
5module Automaton where
5module Automaton where
7import Signal (lift,foldp)
7import Signal (lift,foldp)
9+import Maybe (Just, Nothing)
9data Automaton a b = Step (a -> (Automaton a b, b))
11data Automaton a b = Step (a -> (Automaton a b, b))
@@ -69,7 +71,7 @@ empty = ([],[])
69enqueue x (en,de) = (x::en, de)
71enqueue x (en,de) = (x::en, de)
70dequeue q = case q of
72dequeue q = case q of
71 ([],[]) -> Nothing
73 ([],[]) -> Nothing
72− (en,[]) -> enqueue ([], reverse en)
74+ (en,[]) -> dequeue ([], reverse en)
73 (en,hd::tl) -> Just (hd, (en,tl))
75 (en,hd::tl) -> Just (hd, (en,tl))
75-- Computes the running average of the last `n` inputs.
77-- Computes the running average of the last `n` inputs.