This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
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?