[Haskell-cafe] calling a variable length parameter lambda
nrolle at web.de
Wed May 6 11:41:42 EDT 2009
best solution for me so far.
2009/5/6 Victor Nazarov <asviraspossible at gmail.com>:
> 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
More information about the Haskell-Cafe