Rekursionsmuster (Prinzip)

jeden Konstruktor durch eine passende Funktion ersetzen.

data List a = Nil | Cons a (List a) 
fold ( nil :: b ) ( cons :: a -> b -> b ) 
   :: List a -> b
Rekursionsmuster instantiieren = (Konstruktor-)Symbole interpretieren (durch Funktionen) = eine Algebra angeben.
length  = fold 0   ( \ _ l -> l + 1 ) 
reverse = fold Nil ( \ x ys ->      )



Johannes Waldmann 2013-02-01