Beispiel Bedarfsauswertung

nats = nf 0 ; nf n = n : nf (n+1)
head (x:xs) = x ; tail (x:xs) = xs
Obwohl nats unendlich ist, kann Wert von head (tail (tail nats)) bestimmt werden:
   = head (tail (tail (nf 0)))
   = head (tail (tail (0 : nf 1)))
   = head (tail (nf 1))
   = head (tail (1 : nf 2))
   = head (nf 2)
   = head (2 : nf 3)
   = 2
es wird immer ein äußerer Redex reduziert

(Bsp: nf 3 ist ein innerer Redex)



Johannes Waldmann 2014-07-10