Ich verwende eine Version der Fibonacci-Funktion g implementieren, wo:Wie eine unendliche Liste von Funktionen in Haskell
g :: Integer -> Integer -> Integer
g i n | i==0 = 0
| i==1 = n
| i>1 = (n*((g (i-1) n) + (g (i-2) n)))
... so dass Gin den Wert gi (n) und die partiellen Definition ist gi ist gi
Ich möchte jetzt eine unendliche Liste von Funktionen definieren: gs :: [ Integer -> Integer ]
, so dass (gs !! i) is gi
.
Ich möchte 5 $ [ g 3 | g <- gs]
nehmen, um mir [0,3,9,36,135]
geben.
Kann mir jemand helfen, diese unendliche Liste zu definieren?
Beachten Sie, dass Ihre Funktion ziemlich ineffizient ist, und den Aufbau einer Liste von Funktionen daraus ergeben eine Liste ineffizienter Funktionen. (Ich frage mich, warum Sie so eine Liste wollen ... Ich fürchte, das könnte ein XY-Problem sein ...) – chi