This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: (Meta) Guile and direction


Jost Boekemeier <jostobfe@calvados.zrz.TU-Berlin.DE> writes:

> What's the difference between a class and a module?
> Technically there is *no* difference.  Classes and modules
> belong to different domains, that's all.
> 
> 
> At least to me it doesn't make sense to access class components
> with:
> 
>    (slot-ref (slot-ref (slot-ref a 'b) 'c) 'd)
> 
> but module components with:
> 
>    a:b:c:d
> 
> (or so; CLOS is incredibly idiosyncratic.)

In C++:

a->b->c->d

vs

a::b::c::d

(this is the same contrast, but at least Common LISP has the decency
to separate these two concepts)

> One more thing: When you reject the a:b syntax, you must also reject
> the generalized set! syntax.  The syntax (set! a:b val) is much better
> than (set! (b a) val) simply because set! changes bindings, not
> objects.  Ask Matthias Felleisen, if you don't know what I mean. :)

One more thing: When you reject the a::b syntax, you must also reject
the generalized = operator. The syntax a::b = val is much better than
a->b = val..... Is that so? :)

-- 
How to eff the ineffable?

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]