A short derivation:
An obvious solution is: Use a lambda abstraction:
appPair (\x -> (x b) * velocityC) (cos,sin)
or (using function composition)
appPair ((* velocityC) . (\x -> x
b)) (cos,sin)
or (explictly using the application operator $):
appPair ((* velocityC) . (\x -> x $
b)) (cos,sin)
Now the lambda abstraction can be removed
appPair ((* velocityC
) . ($ b)) (cos,sin)
Regards,
David
Am 01.12.2012 23:31, schrieb Christopher Howard:
Can application of an expression (to a function) be treated like a
function itself? In my specific case, I started with this expression:
code:
--------
(cos b * velocityC, sin b * velocityC)
--------
But I have a compulsive hatred of duplication. I happened to have this
function handy called appPair:
code:
-------
appPair f (a, b) = (f a, f b)
appPair (* velocityC) (cos b, sin b)
-------
Better, but the b identifier is still duplicated. Is there some way I
could have...
code:
--------
appPair (?) (cos, sin)
--------
...shifting the application of b into the (* velocityC) expression,
without modifying my appPair function?
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners