From: Thomas A. Russ
Subject: Re: defgeneric, defstruct and no CLOS
Date: 
Message-ID: <ymivez4qjsz.fsf@sevak.isi.edu>
Pascal Bourguignon <····@mouse-potato.com> writes:

> 
> verec <·····@mac.com> writes:
> 
> > I'm again a bit confused. Basically, what I want to do, is to be
> > able to define a single "function" name, reused (ie: "redefined")
> > for various combinations of arguments such that I can:
> >
> > (draw conclusion)
> > (draw bank-account)
> > (draw shape)
> 
> A misconception.
> 
> All the methods of the same generic function must implement the same
> generic function, only for different type of arguments.
> 
> 
> Drawing a conclusion, drawing a bank account and drawing a shape are
> three totally different concepts, three different functions and should
> be named differently.  At least, they cannot be methods to the same
> generic function.

I agree.  The fact that these various different activities happen to use
the same English verb could be considered a "bug" in the English
language.  A simple argument that these really are different concepts is
to note that if you choose your verb from languages other than English,
you would not end up using the same word for each of these verb senses.

So, it would be a good idea to not introduce the confusion present in
the use of multiple senses in natural language into your own interface
design.  You should give each different sort of generic function its own
name.

Depending on other considerations, you could do this in Common Lisp by
using packages or by using different names inside a single package.

-- 
Thomas A. Russ,  USC/Information Sciences Institute
From: verec
Subject: Re: defgeneric, defstruct and no CLOS
Date: 
Message-ID: <436fd92e$0$38041$5a6aecb4@news.aaisp.net.uk>
On 2005-11-07 20:34:04 +0000, ···@sevak.isi.edu (Thomas A. Russ) said:

> Pascal Bourguignon <····@mouse-potato.com> writes:
> 
>> 
>> verec <·····@mac.com> writes:
>> 
>>> I'm again a bit confused. Basically, what I want to do, is to be
>>> able to define a single "function" name, reused (ie: "redefined")
>>> for various combinations of arguments such that I can:
>>> 
>>> (draw conclusion)
>>> (draw bank-account)
>>> (draw shape)
>> 
>> A misconception.
>> 
>> All the methods of the same generic function must implement the same
>> generic function, only for different type of arguments.
>> 
>> 
>> Drawing a conclusion, drawing a bank account and drawing a shape are
>> three totally different concepts, three different functions and should
>> be named differently.  At least, they cannot be methods to the same
>> generic function.
> 
> I agree.  The fact that these various different activities happen to use
> the same English verb could be considered a "bug" in the English
> language.  A simple argument that these really are different concepts is
> to note that if you choose your verb from languages other than English,
> you would not end up using the same word for each of these verb senses.
> 
> So, it would be a good idea to not introduce the confusion present in
> the use of multiple senses in natural language into your own interface
> design.  You should give each different sort of generic function its own
> name.
> 
> Depending on other considerations, you could do this in Common Lisp by
> using packages or by using different names inside a single package.


"'When I use a word,' Humpty Dumpty said in rather a scornful tone, 'it 
means just what I choose it to mean -- neither more nor less.'"
-- Lewis Carroll in Alice in Wonderland.

As a French-English bilingual, I'm quite aware of the differences in evocation
power of a given word depending on its surroundings, context, cultural
differences.

That's precisely why mathematicians have no problem assigning different 
meanings
to the same word (or think of it: the same single letter!) depending on 
the context.

For example, if you use the word "Liberty", which is extremely close in
meaning to its French counterpart "Liberté", I know that you are probably
willing to convey something a bit different to mere "freedom", for which
a Fench speaker would probably steer more towards "independance"

Next time you get a word "on the tip of your tongue" experience, you will
probably have to recognize that while you know full well the _idea_ that
you want to express, the word just escapes you. Which I take as a proof
that that ideas are "word-less", which in turn allows me to wholeheartedly
agree with Humpty Dumpty :-)

-- 
JFB  ()