Re: Function

From: Marshall <>
Date: Tue, 15 Jan 2008 06:55:25 -0800 (PST)
Message-ID: <>

On Jan 15, 6:25 am, mAsterdam <> 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?


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

Original text of this message