Skip to content
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

Merged
merged 2 commits into from
Jul 25, 2024
Merged

Added SHRDLU and MicroPlanner. #2318

merged 2 commits into from
Jul 25, 2024

Conversation

eswenson1
Copy link
Member

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)

@eswenson1 eswenson1 self-assigned this Jul 22, 2024
@eswenson1 eswenson1 requested a review from larsbrinkhoff July 22, 2024 22:31
@eswenson1
Copy link
Member Author

Note: In order to use the type 340 display, you need an updated LISP;SLAVE FASL. See this PR for the fix: #2319

@larsbrinkhoff
Copy link
Member

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.

@eswenson1
Copy link
Member Author

eswenson1 commented Jul 23, 2024

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)?

@larsbrinkhoff
Copy link
Member

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.

@eswenson1
Copy link
Member Author

@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)
@larsbrinkhoff
Copy link
Member

I fixed xshrdl and approved.

@eswenson1 eswenson1 merged commit 8794a3e into master Jul 25, 2024
14 checks passed
@larsbrinkhoff larsbrinkhoff deleted the ejs/shrdlu_plnr branch January 13, 2025 06:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants