[Prev][Next][Index][Thread]

Re: simple method dispatch question



P T Withington <ptw@callitrope.com> writes:

> What you want to do was easy to do in Flavors, where you could specify that
> your generic function used PROGN method combination, which meant that you
> called _all_ the applicable methods, not just the most applicable.  But this
> feature was discarded Dylan (and CLOS?) as being too baroque.

CLOS has retained the PROGN method combination. You can even specify
the order to be most signifant method first or last. Even when staying
in ANSI CL without using MOP extensions, you could get the same effect
with using COMPUTE-APPLICABLE-METHODS in an :around method or by
defining your own method combination.

One person's baroque is another person's useful built in, I guess? C++
has a design goal of limiting "distributed fat" and of not forcing
people to pay for something they don't use. One of the prices of that
is off course to force people to build higher level utilities
themselves over and over again (patterns). CLOS has more of these
facilities built in, which contributes to a overhead that drives
designs away from too small objects and too small functions. Dylan is
somewhat in the middle of this continuum.

Are there any papers available on how much use Dylan compilers can
make of this extra leeway in comparison to CLOS? I know of the work of
the Cecil people and of Baker's CLOStrophobia paper.

-- 
Lieven Marchand <mal@bewoner.dma.be>
Lambda calculus - Call us a mad club



Follow-Ups: References: