Hi,<div><br></div><div>If you are feeling adventurous enough, you can define a num instance for functions:<div><br></div><div><font face="&#39;courier new&#39;, monospace">{-# LANGUAGE FlexibleInstances #-}</font></div><div>

<font face="&#39;courier new&#39;, monospace"><br></font></div><div><font face="&#39;courier new&#39;, monospace">instance Num a =&gt; Num (a -&gt; a) where</font></div><div><font face="&#39;courier new&#39;, monospace">    f + g = \ x -&gt; f x + g x</font></div>

<div><font face="&#39;courier new&#39;, monospace">    f - g = \ x -&gt; f x - g x</font></div><div><font face="&#39;courier new&#39;, monospace">    f * g = \ x -&gt; f x * g x</font></div><div><font face="&#39;courier new&#39;, monospace">    abs f = abs . f</font></div>

<div><font face="&#39;courier new&#39;, monospace">    signum f = signum . f</font></div><div><font face="&#39;courier new&#39;, monospace">    fromInteger = const . fromInteger</font></div><div><font face="&#39;courier new&#39;, monospace"><br>

</font></div><div><font face="&#39;courier new&#39;, monospace">ghci&gt; let f x = x * 2</font></div><div><font face="&#39;courier new&#39;, monospace">ghci&gt; let g x = x * 3</font></div><div><font face="&#39;courier new&#39;, monospace">ghci&gt; (f + g) 3</font></div>

<div><font face="&#39;courier new&#39;, monospace">15</font></div><div><font face="&#39;courier new&#39;, monospace">ghci&gt; (f+g+2) 2</font></div><div><font face="&#39;courier new&#39;, monospace">17</font></div><div><br>

</div><div>HTH,</div><div>Ozgur <br><br><div class="gmail_quote">On 19 March 2012 16:57,  <span dir="ltr">&lt;<a href="mailto:sdiyazg@sjtu.edu.cn">sdiyazg@sjtu.edu.cn</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

By arithmetic I mean the everyday arithmetic operations used in engineering.<br>
In signal processing for example, we write a lot of expressions like f(t)=g(t)+h(t)+g&#39;(t) or f(t)=g(t)*h(t).<br>
I feel it would be very natural to have in haskell something like<br>
   g::Float-&gt;Float<br>
   --define g here<br>
   h::Float-&gt;Float<br>
   --define h here<br>
   f::Float-&gt;Float<br>
   f = g+h --instead of f t = g t+h t<br>
   --Of course, f = g+h is defined as f t = g t+h t<br>
</blockquote></div><br>
</div></div>