(defmacro blist (&rest args) (if (null? args) (quote '()) `(cons (ash ,(car args) 3) (blist ,@(cdr args))) ) ) (let ((my-list (blist 24 16 32 56 72 1234 -34 25 654))) (format #t "~A~%" my-list) (sort my-list (lambda ((x int) (y int)) (< x y))) (format #t "~A~%" my-list) )