I’ve been reading a bit about Terry Winograd’s SHRDLU program and found this note:
[ Henrik Prebensen ] ([hp@hum.ku.dk](mailto: hp@hum.ku.dk)) wrote [Blockhead], a SHRDLU-like program written in Turbo Prolog with a graphical interface and documented in the book “The Advanced User’s Guide to Turbo Prolog”. Rudimentary blocks world programs are a common demo of natural language programming in Prolog, such as this code included in POPLOG.
Unfortunately, the link to Blockhead has rotted away and I can’t find anything about it online. I was wondering if anyone can point me either to Blockhead or a similar piece of software mimicking or re-implementing SHRDLU’s functionality in Prolog.
I’m primarily interested in SHRDLU’s natural language parser. I had a look at Terry Winograd’s thesis and a companion document that lays out the structure of the grammar in flowcharts. It might be possible to re-implement the original parser from these flowcharts (as indeed some people have done in the past) but that’s a long-ish term project and my immediate purposes would be better served by an existing implementation that can run in Swi-Prolog with a bit of modification (or more). I’d be grateful if anyone knows of anything like that (and would be willing to tell me about it).
Thanks, that’s interesting. Unfortunately I don’t speak German, but I’ll have a look to see if I can find a version of the paper in English. It’ll be nice to read.
I’m really looking for working code though. I had a look at the Poplog code mentioned in the article and it starts with a grammar in a peculiar lisp-like syntax that is easy to translate to a DCG, so I did. Would anyone be interested in it? Should I just dump it here for future reference?
I think you found what you wanted but just in case: here’s a link with code to a version of SHRDLU in LISP.
FWIW: I’ve been working on a similar type of system, but I have used the English Resource Grammar for converting Natural Language to predicates and then implemented the predicates in SWI Prolog. A demo of it running is here, background on how it was built is here.