[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Question (difference between [Function] and [Method])
- To: info-dylan@cambridge.apple.com, funato@shpcsl.sharp.co.jp
- Subject: Re: Question (difference between [Function] and [Method])
- From: alms@cambridge.apple.com (Andrew LM Shalit)
- Date: Thu, 12 Nov 1992 16:36:18 -0500
At 1:43 PM 11/12/92 +0000, Nobuhiko Funato wrote:
> Dylan book anonotates one of some categories for each function symbol
> description. E.g. [Function], [Method], [Generic Function], [G.F. Method]...
>
> I hope those categories will be introduced in p.16 (Manual Notation),
> or in p.19 (Language Overview),
>
> In fact, it is still not clear for me the distinction between [Function]
> and [Method]. My understanding is:
>
> [Generic Function] The specified generic function is bound to that symbol
>
> [G.F. Method] A generic function according to the specified method
> is bound to that symbol
>
> [Method] The specified method, so-called lambda closure of which
> parameters' types are specialized, is bound to that symbol
> (Method dispatch won't be occured, when the symbol is
> evaluated)
>
> [Function] (How different from [Method] ? How is it defined ?)
>
> Please teach me the difference, though it may be an elementary question.
> Thanks.
The classifications in the current manual are inconsistent. They're
scheduled to be cleaned up in the next version of the language design.
That said, here are the categories:
Generic Function The variable contains a generic function. The
attached description describes the protocol of
the generic function as a whole.
GF Method The variable contains a generic function. The
attached description describes the behavior of
a particular method in the generic function (i.e.,
the behavior of the generic function when called
with a particular set of arguments)
Method The variable contains a method. No generic function
dispatch involved.
Function It is unspecified whether the variable contains a
generic function or a method.
As I said, the current manual does not use these consistently.