(defun figure-finance-charge (average-daily-balance daily-periodic-rate days-in-cycle) (* average-daily-balance daily-periodic-rate days-in-cycle)) (defun print-statement (start-date closing-date starting-balance transactions) (setq start-date (time:parse-universal-time start-date)) (let ((balance starting-balance)) (defun print-statement-entry (date msg balance &optional (stream t)) (format stream "~&~a ~a~40t~d" (date-string date) msg balance)) (defun date-string (universal-time) (multiple-value-bind (nil nil nil day month nil) (decode-universal-time universal-time) (concatenate 'string (time:month-string month :short) (format nil " ~2,'0d" day))))