fork download
  1. ; list homework
  2.  
  3. (define (len xs)
  4. (if (null? xs) 0
  5. (+ (len (cdr xs)) 1)))
  6.  
  7. (display (len '(1 2 3 4 5))) (newline)
  8.  
  9. (define (len-aux xs len)
  10. (if (null? xs) len
  11. (len-aux (cdr xs) (+ len 1))))
  12.  
  13. (define (len xs) (len-aux xs 0))
  14.  
  15. (display (len '(1 2 3 4 5))) (newline)
  16.  
  17. (define (rev-aux xs zs)
  18. (if (null? xs) zs
  19. (rev-aux (cdr xs) (cons (car xs) zs))))
  20.  
  21. (define (rev xs) (rev-aux xs '()))
  22.  
  23. (display (rev '(1 2 3 4 5))) (newline)
Success #stdin #stdout 0.02s 50288KB
stdin
Standard input is empty
stdout
5
5
(5 4 3 2 1)