t3x.org / sketchy / library / reverse.html
SketchyLISP
Reference
  Copyright (C) 2006
Nils M Holm

reverse

Conformance: R5RS

Purpose: Reverse the order of members of a list.

Arguments:
A - list

Model:

(define (reverse a)
  (cond ((null? a) a)
    (#t (append (reverse (cdr a))
                (list (car a))))))

Implementation:

(define (reverse a)
  (letrec
    ((_reverse (lambda (a b)
      (cond ((null? a) b)
        (#t (_reverse (cdr a) (cons (car a) b)))))))
    (_reverse a '())))

Example:

(reverse '(a b c d e f)) 
=> (f e d c b a)

See also:
append, length, map, equal?, list?.