[Haskell-cafe] calling a variable length parameter lambda expression

Victor Nazarov asviraspossible at gmail.com
Wed May 6 05:55:02 EDT 2009


On Tue, May 5, 2009 at 8:49 PM, Nico Rolle <nrolle at web.de> wrote:

> Hi everyone.
>
> I have a problem.
> A function is recieving a lambda expression like this:
> (\ x y -> x > y)
> or like this
> (\ x y z a -> (x > y) && (z < a)
>
> my problem is now i know i have a list filled with the parameters for
> the lambda expression.
> but how can i call that expression?
> [parameters] is my list of parameters for the lambda expression.
> lambda_ex is my lambda expression
>
> is there a function wich can do smth like that?
>
> lambda _ex (unfold_parameters parameters)
>

Why not:

lam1 = \[x, y] -> x > y
lam2 = \[x, y, z, a] -> (x > y) && (z < a)

doLam :: Ord a => ([a] -> Bool) -> [a] -> Bool
doLam lam params = lam params

So, this will work fine:

doLam lam1 [1, 2]
doLam lam2 [1,2,3,4]

-- 
Victor Nazarov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090506/901c0aef/attachment.htm


More information about the Haskell-Cafe mailing list