Hi,

[email protected] wrote:
I feel it would be very natural to have in haskell something like
    g::Float->Float
    --define g here
    h::Float->Float
    --define h here
    f::Float->Float
    f = g+h --instead of f t = g t+h t
    --Of course, f = g+h is defined as f t = g t+h t

One approach to achieve this is to define your own version of +, using the equation in the last comment of the above code snippet:

  (g .+. h) t = g t + h t

Now you can write the following:

  f = g .+. h

You could now implement .*., ./. and so on. (I use the dots in the operator names because the operator is applied pointwise). The implementations would look like this:

  (g .+. h) t = g t + h t
  (g .*. h) t = g t * h t
  (g ./. h) t = g t / h t

This is a bit more low-tech than the proposals in the other answers, but might be good enough for some applications.

  Tillmann

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to