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

Nico Rolle nrolle at web.de
Wed May 6 11:41:42 EDT 2009


super nice.
best solution for me so far.
big thanks.
regards

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 mailing list