home *** CD-ROM | disk | FTP | other *** search
- This is a minimal expert system, intended as a vehicle for discussing the
- unification and inference algorithms, and as an example of using functional
- programming for artificial intelligence applications.
-
- One particularly interesting feature is the use of the request/response stream
- and lazy table techniques to allow the inference algorithm to ask questions and
- get answers from the user while in the middle of a search.
-
- Of course, compared to the use of logic programming for such a task, the
- algorithms have to be much more explicit and the program will run much slower,
- because unification and inference aren't built-in (although they could be). On
- the other hand, the program is purely declarative, whereas expert system
- programs written in logic programming languages are usually very far from
- declarative (and very far from being understandable or provable).
-
- The program was translated and adapted from the version in:
-
- Functional programming with Miranda
- Ian Holyer, Pitman 1991
-
- It can be interpreted with gofer (using project file `expert.prj') or it can be
- compiled with gofer, hbc or ghc (using `Makefile').
-
- Ian Holyer
- March 1993
-