Пиша функция за рекурсивно изброяване и някъде имам проста грешка.
Ето какво трябва да се случи:
(enum 1 0.5 2.5)
> (1.0 1.5 2.0 2.5)
Ето кода:
(define enum
(lambda (start step stop)
(if (not (<= stop start))
(cons start (enum (+ start step) step stop))
('(stop))
)))
Редактиране:
Грешката, която получавам (от Impromptu (http://impromptu.moso.com.au/)) е:
> (print (enum 0 0.5 2.5))
:ERROR: position:(0) in function "enum"
illegal function
Trace: enum