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 _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell