I am a beginner in scheme. I used to do programs like these in using letrec and binding using lambda.
(define (drop l n)
(letrec ((iter (lambda(ls x)
(cond ((null? ls) ls)
((> x 1) (cons (car ls) (iter (cdr ls) (- x 1))))
(else (iter (cdr ls) n)))))) (iter l n)))
(define factorial
(lambda (n)
(letrec ((iter
(lambda (product counter)
(if (> counter n)
product
(iter (* counter product)
(+ counter 1))))))
(iter 1 1)))
But i recently found that the valuation authorities in our college doesn't allow the use of the construct 'lambda'. Is there anyway that similar problems could be done without using lambda? Please suggest any other alternatives.