Plaster

common-lisp
(let ((vars '(second minute hour day month year weekday)) start-time end-time) (setf start-time (get-universal-time)) (loop for i from 1 to 10 do (sleep (random 1.3))) (setf end-time (get-universal-time)) (progv vars (multiple-value-list (decode-universal-time (- end-time start-time))) (loop :for v :in vars :do (format t "~:(~s~)~10t: ~s~%" v (symbol-value v)))))