;; A list containing the values of single-letter Roman numerals. (setf *roman-number-list* '((I 1) (V 5) (X 10) (L 50) (C 100) (D 500) (M 1000))) ;; Converts a single Roman numeral letter into its equivalent decimal value. (defun letter-to-decimal (letter) (car (cdr ((lambda (lst f) (cond ((null lst) ()) ((eq (car (car lst)) letter) (car lst)) (t (funcall f (cdr lst) f)))) *roman-number-list* (lambda (lst f) (cond ((null lst) ()) ((eq (car (car lst)) letter) (car lst)) (t (funcall f (cdr lst) f))))))))