(return-from myloop 'done) (print iteration))) In a fashion similar to C, the macros case, ccase, ecase, typecase, ctypecase and etypecase define switch statements. (let ((my-value 5)) (case my-value (1 (print "one")) (2 (print "two")) ((3 4 5) (print "three four or five")) (otherwise (print "any other value")))) (let ((my-value 5)) (typecase my-value (list (print "a list")) (string (print "a string")) (number (print "a number")) (otherwise (print "any other type")))) See also Goto Line number Switch statement References Source code Control flow Programming language concepts