Personal tools

Num instance for functions

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(note about category)
(BASIC blog post)
 
(5 intermediate revisions by 2 users not shown)
Line 21: Line 21:
 
This article is in category Proposals in order to show people that this idea was already proposed,
 
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.
 
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]]

Latest 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

! :-)

[edit] 1 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.


[edit] 2 See also