MarkusRaab hat gefragt ob es möglich ist mit funktionaler Programmierung auch ein neues Array zu erzeugen.
Lösung in Python:
def creator (f,c,n):
if n==1:
return c
else:
return creator (f, lambda x: f(c(x)), n-1)
f=creator (lambda y: y + [1], lambda x:x, 5)
print f([])
Lösung in Lisp
(define (creator f c n)
(cond ((= n 0)
c)
(else
(creator f
(f c)
(- n 1)))))
((creator (lambda (x)
(lambda (y) (x (cons 'a y))))
(lambda (x) x)
7)
'())