Num instance for functions
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
- The applicative-numbers package, which generates numeric class instances for arbitrary applicative functors (including functions).
- http://www.haskell.org/pipermail/haskell-cafe/2006-November/019374.html
- http://www.haskell.org/pipermail/haskell-cafe/2006-October/019105.html
- http://www.haskell.org/pipermail/haskell-cafe/2001-February/001531.html