Declaratieve Talen/Oplossing Oneindige rij
Een oplossing
infinite :: t -> ([t]->t) -> [t] infinite b f = b:(infinite2 [b] f) where infinite2 voorstuk f = let res = f voorstuk in res:(infinite2 (voorstuk ++ [res]) f)
De clou is het begin van de rij bijhouden in een parameter.
M'n inspiratie kwam uit de Fibonacci-rij op p.26
Alternatief
infinite::t->([t]->t)->[t] infinite x f = x:inf [x] f where inf r f = f r : inf ((f r):r) f
Roald 12 jan 2010 22:37 (UTC)