Difference between revisions of "Num instance for functions"

From HaskellWiki
Jump to navigation Jump to search
(Formatting)
(BASIC blog post)
(6 intermediate revisions by 2 users not shown)
Line 16: Line 16:
 
<haskell>2 :: Integer</haskell>
 
<haskell>2 :: Integer</haskell>
 
! :-)
 
! :-)
  +
  +
== 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 ==
 
== See also ==
   
  +
* The [[applicative-numbers]] package, which generates numeric class instances for arbitrary [[applicative functor]]s (including functions).
 
* http://www.haskell.org/pipermail/haskell-cafe/2006-November/019374.html
 
* 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/2006-October/019105.html
 
* http://www.haskell.org/pipermail/haskell-cafe/2001-February/001531.html
 
* http://www.haskell.org/pipermail/haskell-cafe/2001-February/001531.html
  +
* http://augustss.blogspot.com/2009/02/regression-they-say-that-as-you-get.html
 
   
 
[[Category:Humor]]
 
[[Category:Humor]]
 
[[Category:Proposals]]
 
[[Category:Proposals]]
  +
[[Category:FAQ]]
  +
[[Category:Style]]

Revision as of 11:53, 4 May 2011

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