@@ -55,17 +55,16 @@ init' s f = Step (\x -> let (s',out) = f x s
5555count : Automaton a Int
5656count = init 0 (\_ c -> c + 1)
5757
58−{-
5958type Queue t = ([t],[t])
6059empty = ([],[])
61−enqueue x (en,de) = (x:en, de)
60+enqueue x (en,de) = (x::en, de)
6261dequeue q = case q of
6362 ([],[]) -> Nothing
6463 (en,[]) -> enqueue ([], reverse en)
6564 (en,hd::tl) -> Just (hd, (en,tl))
6665
6766-- Computes the running average of the last `n` inputs.
68−average : Int -> Automaton Float Float
67+average : Int -> Automaton (Number a) (Number a)
6968average k =
7069 let step n (ns,len,sum) =
7170 if len == k then stepFull n (ns,len,sum)
@@ -76,7 +75,7 @@ average k =
7675 Just (m,ns') -> let sum' = sum + n - m
7776 in ((enqueue n ns', len, sum'), sum' / len)
7877 in init' (empty,0,0) step
79−-}
78+
8079{-- TODO(evancz): move this code to the Form library so people can find it.
8180
8281data DragState = Listen | Ignore | DragFrom (Int,Int)