-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added SHRDLU and MicroPlanner. #2318
Conversation
9b405a1
to
5f174f0
Compare
Note: In order to use the type 340 display, you need an updated LISP;SLAVE FASL. See this PR for the fix: #2319 |
Didn't you make some (bug) fixes to the original files? For posterity, it would be good to have those edits as commits in the git history. |
Yes, lots of fixes. So you want me to commit the original versions of the files in one commit and then rename/update them to my versions in a second commit? I may have to abandon this PR and create a new one for that because I have no clue how to do that after the fact. Or can I simply commit the original sources on top of what is there now (with original version numbers)? |
Yes, that's what I want. I would rather we don't open another pull request but reuse this one. If you send all the original files, I can do the git time travel. |
5f174f0
to
4954463
Compare
@larsbrinkhoff are you going to approve this PR soon? I’d like to get this merged because I have a bunch more fixes I’d like to commit (in a separate PR). |
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)
f88221a
to
0f8c8b8
Compare
I fixed xshrdl and approved. |
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.