Open larsbrinkhoff opened 7 years ago
Lyle Bickley has looked into running SHRDLU in ITS. He'd like it to be able to display graphics on a 340 display.
Checked in the code on a branch lars/shrdlu.
Renamed the files according to FILE INFO.
Reference to the semi-mythical MIT tape archive:
I often get requests from people who want a running version, and always ask them to let me know if they find one. And there it was back at MIT all the time! (I had looked on AI, but not MC).
Well, it was on backup tape and CENT@AI retrieved it for some reason.
Another version here:
https://github.com/PDP-10/its-vault/tree/master/files/shrdlu
Seemingly, it can display on a 340. There's a call to DISINI, and calls to DISARR looks like they are 340 display lists. DISARR maybe is defined in LAP code.
@lbickley, are you working on SHRDLU? Did you get any reply from Winograd?
Hello @lbickley,
I tested the display slave from Lisp, and it wasn't an immediate success:
*(load "lisp; slave")
;Loading SLAVE 8
127303
(disini)
PDP6 NOT AVAILABLE TRYING PDP10 SLAVE
BADPI;(ILOPR;) 212>>0
Hi Lars,
On Mon, 10 Dec 2018 09:17:08 +0000 (UTC) Lars Brinkhoff notifications@github.com wrote:
Hello @lbickley,
I tested the display slave from Lisp, and it wasn't an immediate success:
*(load "lisp; slave") ;Loading SLAVE 8 127303 (disini) PDP6 NOT AVAILABLE TRYING PDP10 SLAVE BADPI;(ILOPR;) 212>>0
Glad you tried before I did ;)
You know a LOT more about how to interpret (and "fix") the error than I do!
Cheers, Lyle
-- 73 NM6Y Bickley Consulting West Inc. http://bickleywest.com
"Black holes are where God is dividing by zero"
This is now fixed, see #1461.
How about rather than trying to run the old (1973) SHRDLU Lisp code on a recent (1986) Maclisp, we instead try to run it on a Maclisp of similar vintage? With some luck, there may be working binaries. If the match is close, SHRDLU should run more or less as is.
CC @lbickley
That went rather well.
@larsbrinkhoff Does it complete the sample dialogs (both the variant on Winograds page and the one from the book)? Do the visualizations fit the what the robot said it did?
This is the SHDRDLU; TS TWDEMO program. I'm not sure if there is an interactive mode; it seems to replay a fixed script.
I sat half way through the demo and compared against this: http://hci.stanford.edu/~winograd/shrdlu/, and it seemed to match verbatim.
There's some kind of timing problem: when the robot moves things around, it's very fast. I suppose there's a delay which is too short when run on the emulator.
So I guess ^S quits instead of going into the command mode?
The book contains more parsing tests of ownership, such as "I own" and "I like", which don't appear on the website. If you get a prompt running, it would be nice to test the full book dialog to assess the completeness of that SHRDLU version.
Lars,
As I wrote you privately, this is absolutely terrific!!! Hooray!
On Sun, 28 Jul 2019 02:26:05 -0700 Lars Brinkhoff notifications@github.com wrote:
That went rather well.
-- 73 NM6Y Bickley Consulting West Inc. https://bickleywest.com
"Black holes are where God is dividing by zero"
Trying to load SHRDLU from source files.
==================================================
THE FOLLOWING ARE SHRDLU'S SWITCHES WITH THEIR
DEFAULT VALUES. FOR EACH SWITCH:
TO KEEP - TYPE <CAR-RET>
TO CHANGE - TYPE <DOT> FOLLOWED BY NEW VALUE
FOR ENLIGHTENMENT - TYPE ?
TO QUIT - TYPE <ALTMODE>
==================================================
WANT-DISPLAY NIL ===>
@turbo, I don't have the book. Is it the 1972 Understanding Natural Language?
Yes. Google Books should have it. Otherwise I can scan you the pages the week after next week. Even the thesis had slight differences from the final book IIRC.
Lars Brinkhoff notifications@github.com schrieb am So., 28. Juli 2019, 18:25:
@turbo https://github.com/turbo, I don't have the book. Is it the 1972 Understanding Natural Language?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PDP-10/its/issues/147?email_source=notifications&email_token=AB5G35YYATVB3QMYT5IXLODQBXB65A5CNFSM4CYRBGYKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD27B3UI#issuecomment-515775953, or mute the thread https://github.com/notifications/unsubscribe-auth/AB5G35YXATITL67FKQQ3AZLQBXB65ANCNFSM4CYRBGYA .
Thanks, please do scan those pages.
SHRDLU; MANUAL 1 says "BIG NUMBER LISP 229" was used to run SHRDLU at CMU.
I tried to assemble the file LISP; LISP 229DC. It seems these symbols need to be expunged: MAP,FIX,.FUNCT,COMMEN,EDIT,.ARRAY. Even so I get "Multiply defined" for propably every symbol defined in the program.
More notes.
People who might be able to assist:
Attached is one archive of a few mails with more debugging info and other demo dialogs. There's also an elusive text amalgamation of other emails somewhere in one of the code archives which goes into more detail on MACLISP and SHRDLU versions but I can't find it now. I think it's called MAIL
Edit: [Shrdlu] Bug list.txt
contains some test cases for I like...
declarations.
Sutterfield on display routines:
The original display code is missing, says Keldon... So I'm wondering.. surely some part of the program still exists that CALLS that missing display stuff? I mean, yeah, the actual code that displays the world is probably not something we're interested in, but we want to know what part of code calls, or used to call, the display stuff. I guess the thing to worry about initially is finding a way to have Java work with Lisp. I bet Ralph Wilkerson would have some advice on that... I'll mail him.
LISP; LISPTTY 229DC says this Lisp version was compiled with MIDAS 104. I tried 108, but got an MPV.
Also tried MIDAS 135, which seems to do the job with just EXPUNGE COMMEN. There is one error, but maybe harmless.
@turbo, scanning will not be necessary. i got a PDF now.
Hello @mrkeldon, @greg-sharp, @davemcdonald,
Please read this GitHub issue for information about running the original SHRDLU on ITS, using a PDP-10 emulator. 340 display is included.
I wonder who's behind this page?
http://maf.directory/misc/shrdlu.html
This quote is from Dave McDonald:
In the rush to get [SHRDLU] ready for his thesis defense [Terry] made some direct patches to the Lisp assembly code and never back propagated them to his Lisp source... We kept around the very program image that Terry constructed and used it whenever we could. As an image, [SHRDLU] couldn't keep up with the periodic changes to the ITS, and gradually more and more bit rot set in. One of the last times we used it we only got it to display a couple of lines.
I tested SHRDLU running under ITS 724 from 1972, but it behaved the same way.
Trying to compile a list of directories related to SHRDLU:
Also SYS; TS LISP and JONL; TSCOMP *.
Some pre compiled binaries to try:
File | Timestamp | Size |
---|---|---|
SHRDLU; MOBY DUMP | 1971 | |
SHRDLU; MOBY DUMP | 1972-03-18 | 79 |
SHRDLU; MOBY DMP1 | 1972-03-18 | 79 |
SHRDLU; TW DUMP | 1972-04-08 | 70 |
ANDEE; TS SHRDLU | 1972-12-13 | 128 |
ANDEE; TS SHRDL1 | 1973-02-13 | 111 |
DDM; SHRDLU WHRS | 1973-03-06 | 104 |
SYS; TS SHRDLM | 1973-07-05 | 79 |
SHRDLU; 105 1 | 1973-11-08 | 116 |
SHRDLU; 105 2 | 1973-11-26 | 111 |
SHRDLU; 106 1 | 1974-08-26 | 24 |
SHRDLU; SHRDLU 107 | 1974-11-11 | 40 |
SHRDLU; SHRDLU 108 | 1974-11-11 | 40 |
Note the considerably smaller file sizes in 1974.
Well, SHRDLU 106 is not a valid binary file, and 107 and 108 just say
SHRDLU has gone away till the new memory arrives and it can be debugged. Sorry, gripe to DDM
SHRDLU; 105 1 seems promising. When I answer Y to the question about the display, I do get a block world on the 340. "PICK GREEN BLOCK." seems to be accepted as input, but then starts cons lists until memory runs out.
SHRDLU VERSION 105 - CREATED 11/7/73
DO YOU WANT THE DISPLAY (TYPE Y OR N)
Y
(LOADING INITIAL DISPLAY)
PDP6 NOT AVAILABLE TRYING PDP10 SLAVE
TYPE "? " FOR HELP TYPE "GO " TO ENTER READY STATE
>>> GO
READY
PICK GREEN BLOCK.
[1]
;GC DUE TO LIST SPACE
;24531[10%] LIST, 7165[35%] FIXNUM, 13745[99%] FLONUM WORDS FREE
I had success with this interaction from the demo dialog:
GRASP THE PYRAMID.
[1]
[3] I DON'T KNOW WHICH PYRAMID YOU MEAN.
READY
However, most other things I try run into the ANS-AFTERFORMULATION-PAUSE UNBOUND VARIABLE problem. Or sometimes this:
GRASP THE RED PYRAMID.
[1]
ISTENSE -- NO TENSE
"An Interview withTERRY ALLEN WINOGRADOH Conducted by Arthur L. Norberg on 11 December 1991 Stanford, CA"
https://conservancy.umn.edu/bitstream/handle/11299/107717/oh237taw.pdf
This passage suggest SHRDLU never was very reliable:
Well, implementation and product are two stages. That is, implementation was always there as the coin of the realm. Implementation meant something you could show off. It didn't mean something that somebody else could use. So - I mean, my thesis was certainly that way. I mean, you know, the famous dialogue with SHRDLU where you could pick up a block, and so on, I very carefully worked through, line by line. If you sat down in front of it, and asked it a question that wasn't in the dialogue, there was some probability it would answer it. I mean, if it was reasonably close to one of the questions that was there in form and in content, it would probably get it. But there was no attempt to get it to the point where you could actually hand it to somebody and they could use it to move blocks around. And there was no pressure for that whatsoever. Pressure was for something you could demo.
Some relevant AI memos:
Lars,
I forwarded this to Terry Winograd. I'm sure it'll make him smile :)
On Tue, 05 Dec 2023 23:13:06 -0800
Lars Brinkhoff @.***> wrote:
Some relevant AI memos:
- AI memo 181 "PROGRAMMAR - A Language for Writing Grammars, Winograd, November 1969
- AI memo 203 "Micro-Planner Reference Manual", Sussman and Winograd, July 1970
- AI memo 241 "An A.I. Approach to English Morphemic Analysis", February 1971
- AI memo 203A "Micro-Planner Reference Manual" (Update), Sussman, Winograd, Charniak, December 1971
- AI memo 282 "Grammar for the People: Flowcharts of SHRDLU's Grammar", Rubin, March 1973
- AI memo 286 "The FINDSPACE Problem", Sussman, May 1973
-- 73 NM6Y Bickley Consulting West https://bickleywest.com
"Black holes are where God is dividing by zero"
Source code here: