Hacker News new | ask | show | jobs
by lispm 614 days ago
LOOPS was one of the early frameworks for AI programming (-> for Knowledge-based Systems -> especially Expert Systems) in Lisp, which also made use of the new graphical user interface of the Interlisp-D Lisp Machine from Xerox. Interlisp-D was a combination of operating system and development environment, and was developed for the same computers, which also ran Smalltalk. Both were image-based and managed the source code in the development environment.

Remarkable is the fully interactive way of working in the REPL (Lisp's Read Eval Print Loop) and through the GUI, including live editing all classes/etc. via menus. LOOPS extended Interlisp with various ways to do object-oriented programming and a rule-system.

There is also a "friendly primer" for Xerox LOOPS, from mid 1980s. https://bitsavers.org/pdf/xerox/interlisp-d/198510_Koto/3102...

Note that LOOPS is an early OOP System, it's not a about iteration in a loop.

2 comments

I was at a presentation on LOOPS in London given by Dan Bobrow and Mark Stefik, they were pitching it as an equivalent framework to KEE or ART as you describe. They had a good showcase application called Truckin' [1] that made good use of all the features of LOOPS.

[1] https://www.markstefik.com/?page_id=359

Yes!, that Truckin’ demo was awesome. I had a 1108 Xeorx Lisp Machine, and ran InterLisp-D on it the first 18 months I had it, then switched to running Common Lisp. Such a fantastic development environment!
Some more background https://larrymasinter.net/stefik-loops.pdf and https://www.markstefik.com/?page_id=334

I think LOOPS was limited by only being available on Interlisp-D related systems. Common LOOPS was supposed to be portable, but I remember it only in the context of the CLOS development as a stepping stone, but not as a product or environment like LOOPS.

I ran Common LOOPS in AKCL on a 386 PC. It was just an object system for programming, it didn't have a Frame System or Rule Engine as well like LOOPS.

My previous environment had been Franz Lisp on the Atari ST. My copy of the Franz sources was missing flavors so I wrote my own object system for it that looked a bit like New Flavors but with a frame system built in as well. My binding to GEM from Lisp made use of the object system as well and the repl was in a GEM window.

[just in case it saves anyone else some confusion: §s in the bitsavers scan are out of order]