c1983 Xerox CorporationThe LOOPS Manual(December, 1983)by Daniel G. Bobrow (Xerox PARC)Mark Stefik (Xerox PARC)Abstract. LOOPS adds data, object, and rule oriented programming to the procedure orientedprograming of Interlisp. In object oriented programming, behavior is determined by responses ofinstances of classes to messages sent between these objects, with no direct access to the internalstructure of an object. This approach makes it convenient to define program interfaces in terms ofmessage protocols. Data oriented programming is a dual of object oriented programming, wherebehavior can occur as a side effect of direct access to (permanent) object state. This makes it easyto write programs which monitor the behavior of other programs. Rule oriented programming is analternative to programming in LISP. Programs in this paradigm are organized around recursivelycomposable sets of pattern-action rules for use in expert system design. Rules make it convenientfor describing flexible responses to a wide range of events. LOOPS is integrated into Interlisp, andthus provides access to the standard procedure oriented programming of Lisp, and use of theextensive environmental support of the Interlisp-D system Our experience suggests that programs are easier to build in a language when there is an availableparadigm that matches the structure of the problem. The paradigms described here offer distinctways of partitioning the organization of a program, as well as distinct ways of viewing thesignificance of side effects. LOOPS provides all these paradigms within a single environment. Thismanual is intended as the primary documentation for users of LOOPS. It describes the concepts andthe programming facilities, and gives examples and scenarios for using LOOPS. î ·ï gpqôFîçïPrôžî#`ïMsôiî)DïH|î*+ïFHî“ïDî bïAßî Àï<étuôÙquôÚð8î Àï:ûô£ð]ô¤î Àï9 ô¹ðKôºî Àï7ô‘quð'ô’ð)î Àï51ô­ðJô®î Àï3Cô“ô”ðIî Àï1Uôƒð]ô„î Àï/hô¥ð$ô¦ð;î Àï-zôœðbî Àï+Œôšð>qu ô›î Àï)žôÓðWôÔî Àï'°ôð;î Àï$îô—ðbî Àï#ô¥ð*ô¦ð6î Àï!ôððGôñî Àï%ô—quð$ô˜î Àï7ô‡ð/ôˆ quî ÀïôðGquÿ · =ÞFºMATH  TIMESROMAN HELVETICA HELVETICA  TIMESROMAN  TIMESROMAN Fÿÿj/›þ[¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿloopsmanual0.bravoSannellaDecember 7, 1983 2:48 PM