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

SHRDLU #147

Open
larsbrinkhoff opened this issue Dec 5, 2016 · 25 comments

Comments

@larsbrinkhoff
Copy link
Member

commented Dec 5, 2016

@larsbrinkhoff larsbrinkhoff added the todo label Dec 5, 2016

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jan 29, 2018

Lyle Bickley has looked into running SHRDLU in ITS. He'd like it to be able to display graphics on a 340 display.

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Feb 5, 2018

Checked in the code on a branch lars/shrdlu.

Renamed the files according to FILE INFO.

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Feb 5, 2018

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.

@larsbrinkhoff larsbrinkhoff referenced this issue May 15, 2018
15 of 23 tasks complete
@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented May 15, 2018

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.

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jun 19, 2018

@lbickley, are you working on SHRDLU? Did you get any reply from Winograd?

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Dec 10, 2018

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   
@lbickley

This comment has been minimized.

Copy link

commented Dec 10, 2018

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Dec 28, 2018

This is now fixed, see #1461.

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jul 28, 2019

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

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jul 28, 2019

That went rather well.
shrdlu

@turbo

This comment has been minimized.

Copy link

commented Jul 28, 2019

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

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jul 28, 2019

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.

@turbo

This comment has been minimized.

Copy link

commented Jul 28, 2019

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.

@lbickley

This comment has been minimized.

Copy link

commented Jul 28, 2019

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jul 28, 2019

Trying to load SHRDLU from source files.

  • :CWD SHRDLU
  • I haven't been able to assemble any old LISP.
  • Start the 1973-06-12 SYS; TS LISP. It'll announce itself as LISP 229DC.
  • Type ^Q to have it read .LISP. (INIT)
  • Need to link from COMMON; GRIND to IRA; GRIND >
  • Need link from COMMON; E LAP to COMLAP; ELAP >, or FASL?
  • Need RBRN; GRAPH LAP
  • RBRN; GRAPH LAP has damaged sections, so it won't load.
  • It's just RBRN; GRAPH 26 compiled by "LISP COMPILER 261"
  • Start JONL; TSCOMP 275
  • Type RBRN; GRAPH 26 to get a new GRAPH LAP
  • Start LISP 229DC again.
  • Everything loads. Get ((SHRDLU)) at the end.
  • Type (SHRDLU)
================================================== 
 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       ===>
@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jul 28, 2019

@turbo, I don't have the book. Is it the 1972 Understanding Natural Language?

@turbo

This comment has been minimized.

Copy link

commented Jul 28, 2019

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jul 28, 2019

Thanks, please do scan those pages.

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jul 28, 2019

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.

@turbo

This comment has been minimized.

Copy link

commented Jul 28, 2019

More notes.

People who might be able to assist:

  • Keldon Jones (keldon@ont.com) and Greg Sharp (mike8s2@hotmail.com) of the original CL port project
  • Dave McDonald (davidmcdonald@alum.mit.edu) said "Somewhere in my basement is a file with all the all the request letters... I've got hard copy of all of the original that was Lisp source and of all our rewrites..."

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.

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jul 28, 2019

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.

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jul 28, 2019

@turbo, scanning will not be necessary. i got a PDF now.

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jul 28, 2019

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.

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Jul 30, 2019

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.

@larsbrinkhoff

This comment has been minimized.

Copy link
Member Author

commented Aug 12, 2019

I tested SHRDLU running under ITS 724 from 1972, but it behaved the same way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.