This is the mail archive of the guile@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: setf.scm [Multimethods]


>>>>> "Per" == Per Bothner <bothner@cygnus.com> writes:

Per> The argument for multi-methods is that they provide a language-builtin
Per> framework making it easier to solve certain programming problems.
Per> If in practice I need to use the MOP in addition, that argument fizzles.

I cannot see that if the default multimethods does not do quite what
you want, and you adjust the language so that they now do it exactly
what you need, that these adjusted multimethods are not as usefull and
as proper a language feature as if it didn't need any adjustment.

A program would still be using multimethods, even if the language the
program was written in is not quite the default language. But the
style or pattern of using multimethods did not change. Perhaps you
could say that the program stayed the same, but the language was
changed, in a welldefined and welldescribed way.

In fact, if one tries to develop and promote various patterns, I would
think it would make sense to get these patterns as closely integrated
into the language as possible, and having a generic concept adjusted
to the concrete problem, I would think of this as a good thing.

How would you propose mapping the design pattern of multiple dispatch
into a language with only single dispatch methods?


---------------------------+--------------------------------------------------
Christian Lynbech          | Telebit Communications A/S                       
Fax:   +45 8628 8186       | Fabrik 11, DK-8260 Viby J
Phone: +45 8628 8177 + 28  | email: chl@tbit.dk --- URL: http://www.telebit.dk
---------------------------+--------------------------------------------------
Hit the philistines three times over the head with the Elisp reference manual.
                                        - petonic@hal.com (Michael A. Petonic)