[Haskell-beginners] foldl on Bool:s

goforgit . teztingit at gmail.com
Fri Sep 25 18:10:50 UTC 2015


Thanks I got it now :)

On Thu, Sep 24, 2015 at 9:45 PM, Kostiantyn Rybnikov <k-bx at k-bx.com> wrote:

> Hi.
>
> Your function gets passed numbers one by one in the place of x, and its
> previous result in the place of acc, and it returns a Bool. Initial value
> in place of acc parameter ("previous result") is put as False (since you
> begin with answer "no" to question "is it elem?").
>
> Hope this helps.
> 24 вер. 2015 19:04 "goforgit ." <teztingit at gmail.com> пише:
>
>> Reading http://learnyouahaskell.com/higher-order-functions
>>
>> I understand that with the function
>>
>> sum' :: (Num a) => [a] -> a
>> sum' = foldl (+) 0
>>
>> the call
>>
>> ghci>>> sum' [1,2,3]
>>
>> will be evaluated as
>>
>> 0 + 1 + 2 + 3 = 6
>>
>> But what about the function
>>
>> elem' :: (Eq a) => a -> [a] -> Bool
>> elem' y ys = foldl (\acc x -> if x == y then True else acc) False ys
>>
>> and calling it with
>>
>> ghci>>> elem' 3 [1,2,3]
>>
>> How is that evaluated to True by foldl in elem'?
>>
>> Thanks in advance for any explanation to this!
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>
>>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150925/4dafd2aa/attachment.html>


More information about the Beginners mailing list