previous | index | next

Processing the Query

Queries are processed by matching them with predefined patterns.

For example, the query

          (who is the director of the godfather)
matches the pattern
          (who is the director of ...)
When a pattern is matched, an associated action is taken, namely, run a procedure.

For our example, the procedure to run is

          (lambda (title)
            (movies-satisfying
                our-movie-database
                (lambda (movie)
                   (equal? (movie-title movie) title))
                movie-director))
on the argument
          (the godfather).

previous | index | next