Я пишу рекурсивную функцию перечисления, и у меня где-то простая ошибка.
Вот что должно произойти:
(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