# Re: Function

Date: Tue, 15 Jan 2008 06:55:25 -0800 (PST)

Message-ID: <ca0c26c3-42b2-4273-a2b6-0e689de352b6_at_v67g2000hse.googlegroups.com>

On Jan 15, 6:25 am, mAsterdam <mAster..._at_vrijdag.org> wrote:

*> Jan Hidders wrote:
**>
*

> [snip]

*>
**> >> (cdt glossary:)
**>
**> >> > [Function]
**> ...
**> >> > Math
**> >> > A binary mathematical relation with at most
**> >> > one b for each a in (a,b).
**>
**> > This "at most one b for each a in (a,b)" makes me cringe!
**>
**> Irritation about the status quo is a starting point
**> to many improvements. I am sure the "Software" subentry (you
**> snipped it) makes functional programming adepts curl
**> their toes as well - I'll keep it until somebody provides
**> a better text.
**>
**> > Moreover, it
**> > seems to describe partial functions, which is not what is usually
**> > understood under "function". I would make that:
**>
**> > "A binary mathematical relation over two sets D and C that associates
**> > with each element in D exactly one element in C."
**>
**> I like it.
**> I'll post a proposal for replacement in my answer to Vladimir.
**> To the native english speakers: is 'that' correct in Jan's sentence?
*

Yes.

There are different kinds of things that variously get called functions:

total functions, partial functions, multifunctions, aggregate functions

Often "function" by itself means "total function" but sometimes it doesn't.

It seems the difference between a total function and a partial
function is

just in what we want to call the domain. Division over the domain
(integer, integer) is partial; division over the domain (integer,
nonzero integer)

is total. What's up with that?

Some things out there produce more than one result, or a stream of results. Sometimes these are called multifunctions and sometimes generators.

Then we have things like sum() avg() etc. Aggregate functions.

Marshall Received on Tue Jan 15 2008 - 15:55:25 CET