Rechnen mit Strömen (II)

data Stream a 
   = Cons { head :: a, tail :: Stream a }

zipWith :: (a -> b -> c) 
        -> Stream a -> Stream b -> Stream c
zipWith f (Cons x xs) (Cons y ys) = 
   Cons (f x y) (zipWith f xs ys)

f = Cons 0 (Cons 1 (zipWith (+) f (tail f)))

geschlossener (algebraischer) Ausdruck für erzeugende Funktion?



Johannes Waldmann 2015-12-11