Re: Message Passing with GOOPS

2015-06-26 Thread Marko Rauhamaa
"Pascal J. Bourguignon" : > Marko Rauhamaa writes: > >> Similarly, in my mind, objects don't have slots, they interact. > > You are right. Slots are an implementation detail. Notice that you > have them in all (common) OO systems. But the difference with CLOS, > with the MOP, (I don't know if GOO

Re: Message Passing with GOOPS

2015-06-26 Thread Pascal J. Bourguignon
Marko Rauhamaa writes: > GOOPS also, surprisingly, seems to be decades behind in trying to > present objects as collections of slots. > > I once heard this story. The French king had a royal ball in honor of > the birthday of the French queen. When some lordly guests presented > their gift, a pai

Re: Message Passing with GOOPS

2015-06-26 Thread Michael Tiedtke
On 26/06/2015 10:18, Ralf Mattes wrote: ... This is a first "raw" definition where the parameter /message/ has to be a quoted symbol. (define-method (call (receiver ) message . arguments) (apply (slot-ref receiver message) arguments)) The class definition still looks like traditional GOO

Re: Message Passing with GOOPS

2015-06-26 Thread Marko Rauhamaa
Ralf Mattes : > Guile's GOOPS is a (rather impressive) clone of CLOS, the Common Lisp > Object System. I such a system functions/methods don't "belong" to a > class. > > [...] > > Message passing only exists in object systems where methods belong to > a class/object. Generic functions don't "belo

Re: Message Passing with GOOPS

2015-06-26 Thread Ralf Mattes
On Wed, Jun 24, 2015 at 10:21:44PM +0200, Michael Tiedtke wrote: > (use-modules (oop goops)) > > GOOPS has some nice features (you can even use unexported methods with > generics in 1.8) but there is no message passing paradigm. Guile's GOOPS is a (rather impressive) clone of CLOS, the Common Li

Re: Message Passing with GOOPS

2015-06-25 Thread Michael Tiedtke
On 25/06/2015 11:07, Marko Rauhamaa wrote: Michael Tiedtke : Nice! What about (define-class () ...)? In GOOPS every primitive type is (or should be) a class that can be used with multiple inheritance. It's enough to (use-modules (oop goops)). My "simpleton" doesn't have classes. It's *objec

Re: Message Passing with GOOPS

2015-06-25 Thread Marko Rauhamaa
Michael Tiedtke : > Nice! What about (define-class () ...)? In GOOPS every > primitive type is (or should be) a class that can be used with > multiple inheritance. It's enough to (use-modules (oop goops)). My "simpleton" doesn't have classes. It's *object* oriented, not *class* oriented. > Then

Re: Message Passing with GOOPS

2015-06-24 Thread Michael Tiedtke
On 25/06/2015 00:07, Marko Rauhamaa wrote: Michael Tiedtke : Perhaps it's better to recreate a clean object model without 3,000 lines of C code like GOOPS. But then GOOPS really creates the illusion of an object oriented environment with a MOP ... I'd stay away from GOOPS -- it's a leap away f

Re: Message Passing with GOOPS

2015-06-24 Thread Marko Rauhamaa
Michael Tiedtke : > Perhaps it's better to recreate a clean object model without 3,000 > lines of C code like GOOPS. But then GOOPS really creates the illusion > of an object oriented environment with a MOP ... I'd stay away from GOOPS -- it's a leap away from functional programming, IMO. Here's

Message Passing with GOOPS

2015-06-24 Thread Michael Tiedtke
(use-modules (oop goops)) GOOPS has some nice features (you can even use unexported methods with generics in 1.8) but there is no message passing paradigm. Objective-C has /tell/ Racket has /send/ but Guile/GOOPS is missing /call/. This is a first "raw" definition where the parameter /message