ANSI Common Lisp    3 Evaluation and Compilation    3.7 Destructive Operations    3.7.2 Transfer of Control during a Destructive Operation
3.7.2.1   Examples of Transfer of Control during a Destructive Operation
The following examples illustrate some of the many ways in which the
implementation-dependent nature of the modification can manifest
itself.
 
 (let ((a (list 2 1 4 3 7 6 'five)))
   (ignore-errors (sort a #'<))
   a)
  (1 2 3 4 6 7 FIVE)
OR (2 1 4 3 7 6 FIVE)
OR (2)
 (prog foo ((a (list 1 2 3 4 5 6 7 8 9 10)))
   (sort a #'(lambda (x y) (if (zerop (random 5)) (return-from foo a) (> x y)))))
  (1 2 3 4 5 6 7 8 9 10)
OR (3 4 5 6 2 7 8 9 10 1)
OR (1 2 4 3)
 
 
  |