reverse

Eine Liste in umgekehrter Reihenfolge erhält man mit reverse.

> (reverse (quote (c b a)))
(a b c)


Die Funktion reverse basiert auf if, null?, first, rest und cons:

(setq reverse
  (letrec
    ((reverse-help
      (lambda (l r)
        (if
          (null? l)
          r
          (reverse-help (rest l) (cons (first l) r))))))
    (lambda (l) (reverse-help l nil))))