Num instance for functions

From HaskellWiki
Revision as of 08:51, 3 September 2010 by Lemming (talk | contribs) (Category:Style)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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