Num instance for functions

From HaskellWiki
Revision as of 13:10, 17 April 2007 by Lemming (talk | contribs) (Formatting)
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

! :-)


See also