Despina README by Jim Davies (jimmydavies@usa.net) To run despina: Install Sirrine2. copy despina.lisp here. make a directory called despina. copy these files to the despina directory: README examples.lisp loader.lisp model-k.lisp integers.lisp math-facts.lisp model-tm.lisp Run Emacs. Get a shell in there (Esc-x shell) following is a transcript from running it. Type what you see and try to replicate the behavior. {elvis:jimmyd:!} pwd /net/ha14/jimmyd/maxwell/sirrine/0.5-sirrine/sirrine2b05/despina {elvis:jimmyd:!} cd .. {elvis:jimmyd:!} lispworks LispWorks: The Common Lisp Programming Environment Copyright The Harlequin Group Limited 1987--1995 Saved by root as lispworks-3-2-2, at 30 Jul 1997 17:28 Version 3.2.2 User jimmyd on elvis ; Loading text file /net/ha14/jimmyd/.lispworks CL-USER 7 > (load "despina.lisp") ; Loading text file despina.lisp ; Loading text file shell/loader.lisp ; Loading text file shell/config.lisp ; Loading text file shell/sui/loader.lisp ; Loading text file shell/sui/sui.lisp ; Loading text file shell/auxiliary.lisp ; Loading text file shell/syntax.lisp ; Loading text file shell/terms.lisp ; Loading text file shell/interpreter.lisp ; Loading text file shell/blame.lisp ; Loading text file shell/repair.lisp ; Loading text file shell/demo.lisp ; Loading text file shell/acme/loader.lisp ; Loading text file despina/loader.lisp ; Loading text file despina/model-tm.lisp ; Loading text file despina/model-k.lisp ; Loading text file despina/examples.lisp ; Loading text file despina/integers.lisp ; Loading text file despina/math-facts.lisp ; Loading text file start.lisp ; Loading /usr/local/lispworks-3.2.2/load-on-demand/ccl/xp-fancyformat.wfasl on demand... ; Loading fasl file /usr/local/lispworks-3.2.2/patches/formatter/0001/0001.wfasl ; Loaded public patch FORMATTER 1.1 COMPILER> Compiling all model elements #P"/net/ha14/jimmyd/maxwell/sirrine/0.5-sirrine/sirrine2b05/despina.lisp" CL-USER 8 > (main-demo) SUI> Running task SOLVE-MATH-PROBLEM-TASK Hit enter to continue DEMO> Initial knowledge state: ********************************************************************** * Knowledge State: * FIRST-INTEGER-TASK-CONCEPT: DESPINA::TWO * MATH-OPERATOR-TASK-CONCEPT: DESPINA::PLUS * SECOND-INTEGER-TASK-CONCEPT: DESPINA::TWO ********************************************************************** DEMO> Hit enter to continue INTERPRETER> Doing task SOLVE-MATH-PROBLEM-TASK INTERPRETER> Doing mmethod RETRIEVE-MATH-FACT INTERPRETER> Doing task RETRIEVE-MATH-FACT-TABLE-TASK INTERPRETER> Task RETRIEVE-MATH-FACT-TABLE-TASK fails INTERPRETER> Mmethod RETRIEVE-MATH-FACT fails INTERPRETER> Doing mmethod COUNT-UP-METHOD INTERPRETER> Doing task SET-SUM-TASK SYSTEM> Doing procedure: SET-SUM-PROCEDURE SYSTEM> Input FIRST-INTEGER: DESPINA::TWO SYSTEM> Procedure SET-SUM-PROCEDURE succeeds SYSTEM> Output SUM: DESPINA::TWO INTERPRETER> Task SET-SUM-TASK succeeds INTERPRETER> Doing task SET-HOW-MANY-SO-FAR-TASK SYSTEM> Doing procedure: SET-HOW-MANY-SO-FAR-PROCEDURE SYSTEM> Procedure SET-HOW-MANY-SO-FAR-PROCEDURE succeeds SYSTEM> Output HOW-MANY-SO-FAR: DESPINA::ZERO INTERPRETER> Task SET-HOW-MANY-SO-FAR-TASK succeeds INTERPRETER> Doing task SET-COUNT-UP-TO-TASK SYSTEM> Doing procedure: SET-COUNT-UP-TO-PROCEDURE SYSTEM> Input SECOND-INTEGER: DESPINA::TWO SYSTEM> Procedure SET-COUNT-UP-TO-PROCEDURE succeeds SYSTEM> Output COUNT-UP-TO-INTEGER: DESPINA::TWO INTERPRETER> Task SET-COUNT-UP-TO-TASK succeeds INTERPRETER> Doing task CONFIRM-HOW-MANY-SO-FAR-EQUALS-COUNT-UP-TO-TASK SYSTEM> Doing procedure: HOW-MANY-SO-FAR-EQUALS-COUNT-UP-TO-P-PROCEDURE SYSTEM> Input HOW-MANY-SO-FAR-TASK-CONCEPT: DESPINA::ZERO SYSTEM> Input COUNT-UP-TO-TASK-CONCEPT: DESPINA::TWO SYSTEM> Procedure HOW-MANY-SO-FAR-EQUALS-COUNT-UP-TO-P-PROCEDURE fails INTERPRETER> Task CONFIRM-HOW-MANY-SO-FAR-EQUALS-COUNT-UP-TO-TASK fails INTERPRETER> Doing task INCREMENT-SUM-TASK INTERPRETER> Task INCREMENT-SUM-TASK succeeds INTERPRETER> Doing task INCREMENT-HOW-MANY-SO-FAR-TASK Stack overflow {stack size 16000}. 1 (continue) Extend stack by 50% 2 Extend stack by 300% 3 (abort) Return to level 0. 4 Return to top-level loop. 5 Return from multiprocessing. Type :c followed by a number to proceed or type :? for other options CL-USER 9 : 1 > :c 2 INTERPRETER> Task INCREMENT-HOW-MANY-SO-FAR-TASK succeeds INTERPRETER> Doing task CONFIRM-HOW-MANY-SO-FAR-EQUALS-COUNT-UP-TO-TASK SYSTEM> Doing procedure: HOW-MANY-SO-FAR-EQUALS-COUNT-UP-TO-P-PROCEDURE SYSTEM> Input HOW-MANY-SO-FAR-TASK-CONCEPT: DESPINA::ONE SYSTEM> Input COUNT-UP-TO-TASK-CONCEPT: DESPINA::TWO SYSTEM> Procedure HOW-MANY-SO-FAR-EQUALS-COUNT-UP-TO-P-PROCEDURE fails INTERPRETER> Task CONFIRM-HOW-MANY-SO-FAR-EQUALS-COUNT-UP-TO-TASK fails INTERPRETER> Doing task INCREMENT-SUM-TASK INTERPRETER> Task INCREMENT-SUM-TASK succeeds INTERPRETER> Doing task INCREMENT-HOW-MANY-SO-FAR-TASK INTERPRETER> Task INCREMENT-HOW-MANY-SO-FAR-TASK succeeds INTERPRETER> Doing task CONFIRM-HOW-MANY-SO-FAR-EQUALS-COUNT-UP-TO-TASK SYSTEM> Doing procedure: HOW-MANY-SO-FAR-EQUALS-COUNT-UP-TO-P-PROCEDURE SYSTEM> Input HOW-MANY-SO-FAR-TASK-CONCEPT: DESPINA::TWO SYSTEM> Input COUNT-UP-TO-TASK-CONCEPT: DESPINA::TWO SYSTEM> Procedure HOW-MANY-SO-FAR-EQUALS-COUNT-UP-TO-P-PROCEDURE succeeds INTERPRETER> Task CONFIRM-HOW-MANY-SO-FAR-EQUALS-COUNT-UP-TO-TASK succeeds INTERPRETER> Mmethod COUNT-UP-METHOD succeeds INTERPRETER> Task SOLVE-MATH-PROBLEM-TASK succeeds DEMO> Hit enter to continue DEMO> Resulting knowledge state: ********************************************************************** * Knowledge State: * SUM-TASK-CONCEPT: DESPINA::FOUR * FIRST-INTEGER-TASK-CONCEPT: DESPINA::TWO * MATH-OPERATOR-TASK-CONCEPT: DESPINA::PLUS * SECOND-INTEGER-TASK-CONCEPT: DESPINA::TWO ********************************************************************** SUI> Task SOLVE-MATH-PROBLEM-TASK succeeds Hit enter to continue NIL CL-USER 10 >