Funktional Praktikum 1
Funktional Teil 1 ;;load lisp files (load "more-functional.lisp") 1. Iteration (defun range (a &optional (b nil) (c 1)) (cond ((null b) (funcall 'range 0 a c)) (t (cond ((< (* a c) (* b c)) ;;mit c multiplizieren um Bedingung umzukehren wenn c negativ (cons a (funcall 'range (+ a c) b c))) (t nil))))) (defun repeat (times value) (mapcar (lambda (n) value) (range times))) * (repeat 5 'hello) (HELLO HELLO HELLO HELLO HELLO) (defun repeatedly (times fun) (mapcar fun (range times))) Lösung