Num instance for functions

From HaskellWiki
Revision as of 11:53, 4 May 2011 by Marcot (talk | contribs) (BASIC blog post)
Jump to navigation Jump to search

Some people have argued, that Num instances of (->) would be nice in order to add functions nicely, say for

f, g :: Num a => b -> a

you would define

(f+g) x = f x + g x

With an according definition of fromInteger

fromInteger = const

numeric literals would also denote constant functions. This allows

f+2  ==  \x -> f x + 2
.

Even nicer, the mathematically established notation of omitting the multiplication dot

2(x+y) :: Integer

will now be parsed by a Haskell compiler to the most obvious meaning

2 :: Integer

! :-)

Note

This article is in category Proposals in order to show people that this idea was already proposed, but that one should think twice implementing it. There should be a category Counterproposals.


See also