Homomorphismen von Listen

Homomorphie-Sätze

  1. für jeden Hom exist. Zerlegung in map und reduce -- und das reduce kann man flexibel parallelisieren!

    Bsp: length = reduce (+) . map (const 1)

    map: parallel ausrechnen, fold: balancierter Binärbaum.

  2. jeder Hom. kann als foldl und als foldr geschrieben werden

  3. (Umkehrung von 2.) Wenn eine Funktion sowohl als foldl als auch als foldr darstellbar ist, dann ist sie ein Hom. --

    und kann (nach 1.) flexibel parallelisiert werden



Johannes Waldmann 2011-06-29