Hacker News new | ask | show | jobs
by christopherdone 6151 days ago
I don't think this is really what is meant in SICP. It's not that the function takes in inputs, it's that the program itself is a language evaluator. Consider the following program:

    (define (add-squares x y)
      (+ (* x x) (* y y)))
This is a program which evaluates a squares-adding language in which we have a limited number of expressions. Such as:

    (add-squares 2 4)
    (add-squares (add-squares 4 3) 5)
etc.