It is more blessed to represent data declaratively than to build it into code.
(define *cardinals* '((one 1) (two 2) (three 3)))(define (number-value word) (safe-cadr (assq word *cardinals*)) )
versus:
(define (number-value word) (case word ((one) 1) ((two) 2) ((three) 3) (else #f) ))
Adding number words in Spanish will require changing the table in the first version, but changing code in the second version.
Rule: Design your programs to be easy to change. Tables are usually easier to change than code.
Contents    Page-10    Prev    Next    Page+10    Index