On Monday 31 January 2005 04:24, Jeremy Gibbons wrote:
Despite being a fan of generic programming, I have my doubts about this kind of automatic lifting. It works fine in "ordinary mathematics", because there is no fear of confusion - one hardly ever deals with functions as entities in their own right.
May I please beg to differ? When I studied math, things were quite different, at least. I remember whole branches of mathematics completely dedicated to dealing with "functions as entities in their own right". One notable example is Functional Analysis, of which I happen to know a little. And, as far as I remember, we used notation which reflected this, i.e. nobody wrote 'f(x)' when actually they meant just 'f', which is the same as '\x -> f x', which in math is usually written 'x |-> f(x)'.
(Witness "sigma sin(x) dx", involving a term sin(x) and a dummy variable x, rather than the more logical "sigma sin", involving the function.)
The notations for 'integral' and 'differential quotient' stem from a time when dealing with functions as entities in their own right was indeed not yet a common concept in mathematics, i.e. earlier than 1900. BTW, 'sigma sin' is not a function. Ben