t3x.org / sketchy / library / substitute.html
SketchyLISP
Reference
  Copyright (C) 2007
Nils M Holm

substitute

Conformance: SketchyLISP Extension

Purpose: Substitute variables in forms.

Arguments:
X - form to process
A - association list

Implementation:

(define (substitute x a)
  (let ((v (assoc x a)))
    (cond (v (cdr v))
      ((pair? x)
        (cons (substitute (car x) a)
              (substitute (cdr x) a)))
      (else x))))

Example:

(substitute '(i + ii - iii) '((i . 1) (ii . 2) (iii . 3))) 
=> (1 + 2 - 3)

See also:
replace.