3 ms·
What are the major differences to CLOS?
by Rochus 2y ago
What are the major differences to CLOS?
- lispm 2y agoThe answer is mostly about CLOS and not about LOOPS. Update: my remark was about an earlier posted content, which had an "AI" generated answer. That text has been removed.
- Rochus 2y agoThe book unfortunately doesn't mention CLOS, nor does it give any hints about the differences. But the focus of the book is obviously on Lisp Object-Oriented Programming, not on Expert Systems. A comparison with CLOS is therefore apparent.
- mepian 2y agoThe only way to improve GenAI-slop comments is to delete them, please stop polluting HN. EDIT: The comments I was referring to got sneakily edited. Another thing that is not nice to do.
- deleted 2y ago[deleted]
- Rochus 2y agoProviding an answer would have been more helpful. EDIT: still no helpful contribution, just nagging.
- Rochus 2y agoAnd what are the major differences between LOOPS and CommonLOOPS (besides Interlisp vs CL)?
- multjoy 2y ago[flagged]
- lispm 2y agoThat's discussed in this paper: CommonLoops: merging Lisp and object-oriented programming https://dl.acm.org/doi/pdf/10.1145/28697.28700 https://dl.acm.org/doi/pdf/10.1145/28697.28700 CommonLoops was proposed by Xerox to be the OOP system of Common Lisp in the standardization process. It was then decided to design a new system called Common Lisp Object System (CLOS), starting with a merge of the features of New Flavors (MIT/Symbolics) and CommonLoops (Xerox). Xerox implemented CLOS by modifying its CommonLoops implementation, during the standardization process. Thus Portable CommonLoops (PCL) was eventually the prototype CLOS + MOP implementation.
- Rochus 2y agoThanks, will have a look at it.
- multjoy 2y ago[flagged]
- lispm 2y agoLOOPS (Lisp object-oriented programming systems) is written in Interlisp for the Interlisp-D environment, was a Xerox product and is from around 1981. CLOS (Common Lisp Object System) is a general OOP standard extension for Common Lisp. A specification was proposed in 1987/88. CLOS was included in the Common Lisp standard and widely implemented by various implementations. Both were a "system" -> meaning that it is available and programmable also at runtime. LOOPS is an actual piece of software with a GUI, which integrates into the Interlisp-D development environment. LOOPS was based on message sending, classes, methods, interactive changes to the object system. CLOS does not use message sending, but calling generic functions with multi-methods and multiple dispatch. LOOPS supports Access-oriented Programming with Active Values. Demons can act based on access to objects. CLOS has no direct support for that. Maybe partial (-> :before & :around &:after methods in CLOS). LOOPS includes a rule-system. CLOS systems have that as extensions. It's not a part of CLOS itself. LOOPS includes graphical & menu tools to browse and edit objects. CLOS systems have some of that as extensions, depending on the implementation. LOOPS was a programming system for knowledge-based systems, like Expert Systems. CLOS was not designed for that, but such programming systems were also developed for Common Lisp, some using CLOS. Example: KnowledgeWorks from LispWorks. LOOPS was later rewritten as CommonLOOPS for Common Lisp. The software "Portable Common LOOPS" (PCL) then was further developed into a portable (and widely ported) and complete prototype implementation of CLOS + MOP.
- Rochus 2y agoThanks. I'm mostly interested in the OO features. I assumed that LOOPS was essentially an OO extension of Interlisp (and thus a precursor of CLOS) due to the title. Does it really do "message sending", or is it rather like Smalltalk, which does "normal" method dispatch and call, but where the term "message sending" is use for this?
- lispm 2y agoThe answer would depend on what you think "message sending" is and why you think Smalltalk does not support "message sending".