[Haskell-cafe] Matlab Style Logic Operations ala V1.*(V2>0) on Vectors and Matrices with HMatrix ??
Henning Thielemann
lemming at henning-thielemann.de
Sun Dec 26 00:52:40 CET 2010
On Sat, 25 Dec 2010, gutti wrote:
> this line works :
>
> matrixfunction x y = liftMatrix2 (zipVectorWith(\a1 a2 -> if a2>=0 then a1 else 0)) x y
>
> but when I use this line :
>
> matrixfunction f x y = liftMatrix2 (zipVectorWith f) x y
>
> how can / do I have to define f in a seperate line a way, that it works and
> gives the same result ?
The same way you have literally replaced
(\a1 a2 -> if a2>=0 then a1 else 0)
by 'f' at the right hand side, you can use that phrase as argument to the
parameter 'f':
matrixfunction (\a1 a2 -> if a2>=0 then a1 else 0) x y
The lambda expression (\ ...) really is just a notation for a function.
More information about the Haskell-Cafe
mailing list