1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-08 03:49:36 +00:00
Files
PDP-10.its/src/shrdlu/data.7
Eric Swenson 8794a3e050 Update SHRDLU and MicroPlanner to run on newer Maclisp.
Note: SHRDLU only works with the visual block rendering on pdp10-ka with the
Type 340 display enabled.  Even then, there is some issue that causes the
SLAVE interface to the Type 340 display to fail, with an error indicating that
the 340 is not available.  This is still to be tracked down.

Without the Type 340 display, SHRDLU should work reasonably well.  It fails at
some things that the DEMO apparently succeeded in doing.  It is not clear why,
but likely the demo was created at one point, and the SHRDLU sources were updated
after that point, breaking some things.

SHRDLU can be invoked with :SHRDLU;SHRDLU.

Once you invoke SHRDLU, you'll see output similar to this:

SHRDLU VERSION 1000   LOADED 2024-07-21 IN BLISP 2156

REFER
COMMENTS AND QUESTIONS TO DDM

VERSION
RECONSTRUCTED BY EJS

-IF YOU ARE NEAR A DEC-340
     DO YOU WANT THE DISPLAY (TYPE " Y  " OR " N  " )

If you are running the pdp10-ka emulator, have enabled the DPY device, and want
to see the display, answer "Y". Otherwise, answer "N".

Then, after some more output you will see:

YOU ARE NOW IN A READ-EVAL-PRINT LOOP

TYPE " GO  " TO ENTER READY STATE

>>>

You are now in command mode and can type various commands, such as "SHOW".
You can also type "GO" to enter ready mode.  It is in ready mode that you can
issue commands like "pick up a big red block.", to which SHRDLU should
respond "OK.".  Note that commands should be ended with a period (".").
Questions should be ended with an exclamation mark ("?"). An example question
might be:  "what is in the box?".

MicroPlanner can be invoked with :SHRDLU;PLNR.  As a simple test of MicroPlanner,
you can enter these expressions (marked with "==>" -- don't type that).  If the
(THVAL ...) form results in printing "(FALLIBLE TURING)" then you know that basic
goal reaching works.

>>>  TOPLEVEL
LISTENING  THVAL
==> (THASSERT (HUMAN TURING))
((HUMAN TURING))
==> (DEFPROP THEO1 (THCONSE (X) (FALLIBLE $?X) (THGOAL (HUMAN $?X))) THEOREM)
THEO1
==> (THASSERT THEO1)
THEO1
==> (THVAL (THGOAL (FALLIBLE TURING) (THTBF THTRUE)) NIL)
(FALLIBLE TURING)
2024-07-25 13:26:38 -07:00

191 lines
3.3 KiB
Groff
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
;################################################################
;
; DATA >
;
; initial microplanner data base for the blocks world
;
;################################################################
(THFLUSH THASSERTION)
(SETQ ATABLE (QUOTE ((:B1 (110 100 0) (100 100 100))
(:B2 (110 100 100) (100 100 100))
(:B3 (400 0 0) (200 200 200))
(:B4 (640 640 1) (200 200 200))
(:B5 (500 100 200) (100 100 300))
(:B6 (0 300 0) (200 300 300))
(:B7 (0 240 300) (200 200 200))
(:B10 (300 640 0) (200 100 400))
(:BW1 (570 570 0) (10 400 300))
(:BW2 (570 570 0) (400 10 300))
(:BW3 (570 1200 0) (400 10 300))
(:BW4 (1200 570 0) (10 400 300))
(:BOX (600 600 0) (400 400 1)))))
(SETQ DISPLAY-AS (QUOTE
((:B1 !DISPLAY !BLOCK (110 100 0) (100 100 100) RED)
(:B2 !DISPLAY !PYRAMID (110 100 100 ) (100 100 100) GREEN)
(:B3 !DISPLAY !BLOCK (400 0 0) (200 200 200) GREEN)
(:B4 !DISPLAY !PYRAMID (640 640 1) (200 200 200) BLUE)
(:B5 !DISPLAY !PYRAMID (500 100 200) (100 100 300) RED)
(:B6 !DISPLAY !BLOCK (0 300 0) (200 300 300) RED)
(:B7 !DISPLAY !BLOCK (0 240 300) (200 200 200) GREEN)
(:B10 !DISPLAY !BLOCK (300 640 0) (200 100 400) BLUE)
(:HAND !DISPLAY !HAND (40 0 0) (0 0 0) WHITE)
(:TABLE !DISPLAY !TABLE (0 0 0) (1000 1000 0) BLACK)
(:BOX !DISPLAY !BOX (600 600 0) (376 376 300) WHITE)) ))
(THDATA)
((!IS :B1 !BLOCK))
((!IS :B2 !PYRAMID))
((!IS :B3 !BLOCK))
((!IS :B4 !PYRAMID))
((!IS :B5 !PYRAMID))
((!IS :B6 !BLOCK))
((!IS :B7 !BLOCK))
((!IS :B10 !BLOCK))
((!IS !RED !COLOR))
((!IS !BLUE !COLOR))
((!IS !GREEN !COLOR))
((!IS !WHITE !COLOR))
((!IS !BLACK !COLOR))
((!IS !RECTANGULAR !SHAPE))
((!IS !ROUND !SHAPE))
((!IS !POINTED !SHAPE))
((!IS :SHRDLU !ROBOT))
((!IS :FRIEND !PERSON))
((!IS :HAND !HAND))
((!AT :B1 (100 100 0)))
((!AT :B2 (100 100 100)))
((!AT :B3 (400 0 0)))
((!AT :B4 (640 640 1)))
((!AT :B5 (500 100 200)))
((!AT :B6 (0 300 0)))
((!AT :B7 (0 240 300)))
((!AT :B10 (300 640 0)))
((!SUPPORT :B1 :B2))
((!SUPPORT :B3 :B5))
((!SUPPORT :B6 :B7))
((!CLEARTOP :B2))
((!CLEARTOP :B4))
((!CLEARTOP :B5))
((!CLEARTOP :B7))
((!CLEARTOP :B10))
((!MANIP :B1))
((!MANIP :B2))
((!MANIP :B3))
((!MANIP :B4))
((!MANIP :B5))
((!MANIP :B6))
((!MANIP :B7))
((!MANIP :B10))
((!SUPPORT :TABLE :B1))
((!SUPPORT :TABLE :B3))
((!SUPPORT :BOX :B4))
((!SUPPORT :TABLE :B10))
((!SUPPORT :TABLE :B6))
((!SUPPORT :TABLE :BOX))
((!AT :BOX (600 600 0)))
((!IS :BOX !BOX))
((!IS :TABLE !TABLE))
((!CONTAIN :BOX :B4))
((!SHAPE :B1 !RECTANGULAR))
((!SHAPE :B3 !RECTANGULAR))
((!SHAPE :B2 !POINTED))
((!SHAPE :B4 !POINTED))
((!SHAPE :B5 !POINTED))
((!SHAPE :B6 !RECTANGULAR))
((!SHAPE :B7 !RECTANGULAR))
((!SHAPE :B10 !RECTANGULAR))
((!COLOR :B1 !RED))
((!COLOR :B2 !GREEN))
((!COLOR :B3 !GREEN))
((!COLOR :B4 !BLUE))
((!COLOR :B5 !RED))
((!COLOR :B6 !RED))
((!COLOR :B7 !GREEN))
((!COLOR :B10 !BLUE))
((!COLOR :BOX !WHITE))
((!COLOR :TABLE !BLACK))
((!CALL :SHRDLU SHRDLU))
((!CALL :FRIEND YOU))
NIL
(SETQ HANDAT (SETQ HANDAT2 (QUOTE (40 0 0))))
(SETQ THTIME 0)
(THFLUSH HISTORY)
(ERRSET (STARTHISTORY))
(SETQ PLAN NIL)
(MAPC (QUOTE (LAMBDA (X Y) (PUTPROP X (LIST Y) (QUOTE COLOR))))
(QUOTE (:B1 :B2 :B3 :B4 :B5 :B6 :B7 :B10))
(QUOTE (CB1 CB2 CB3 CB4 CB5 CB6 CB7 CB10)))
(IOC V)