Send Beginners mailing list submissions to
        beginners@haskell.org

To subscribe or unsubscribe via the World Wide Web, visit
        http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
        beginners-requ...@haskell.org

You can reach the person managing the list at
        beginners-ow...@haskell.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."


Today's Topics:

   1.  foldr with short circuit and accumulator (Chul-Woong Yang)
   2. Re:  foldr with short circuit and accumulator
      (Theodore Lief Gannon)
   3. Re:  foldr with short circuit and accumulator (KwangYul Seo)


----------------------------------------------------------------------

Message: 1
Date: Tue, 2 Feb 2016 16:15:47 +0900
From: Chul-Woong Yang <cwy...@aranetworks.com>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <beginners@haskell.org>
Subject: [Haskell-beginners] foldr with short circuit and accumulator
Message-ID:
        <CALmycjqpU1Puoo=lsc_t_zunhed7+u1xh-bg_xz8hckcnjt...@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8

Hi, all.

Can it be possible to do fold with short circuit and accumulator both?
For example, can we find an element which is same value to adjacent one?

findAdjacent [1,2..n, n, n+1, n+2.......] => n
                         \__very long__/

Though there can be many ways to do it, Can we do it with fold[r|l]?

I'll be happy to receive any comments.

Chul-Woong


------------------------------

Message: 2
Date: Tue, 2 Feb 2016 00:47:02 -0800
From: Theodore Lief Gannon <tan...@gmail.com>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <beginners@haskell.org>
Subject: Re: [Haskell-beginners] foldr with short circuit and
        accumulator
Message-ID:
        <cajopsucnyq-rzym5-xiis2spj0w1kandv6vdcwtvxnwdd1d...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

If you mean is there any f and z for which this can be done with only
"foldr f z xs", I believe the answer is no. If you don't mind extra parts,
though:

findAdjacent :: (Eq a) => [a] -> Maybe a
findAdjacent xs = foldr f Nothing $ zip xs ps
  where
    ps = zipWith (==) (tail xs) xs
    f (x,p) next = if p then Just x else next


On Mon, Feb 1, 2016 at 11:15 PM, Chul-Woong Yang <cwy...@aranetworks.com>
wrote:

> Hi, all.
>
> Can it be possible to do fold with short circuit and accumulator both?
> For example, can we find an element which is same value to adjacent one?
>
> findAdjacent [1,2..n, n, n+1, n+2.......] => n
>                          \__very long__/
>
> Though there can be many ways to do it, Can we do it with fold[r|l]?
>
> I'll be happy to receive any comments.
>
> Chul-Woong
> _______________________________________________
> Beginners mailing list
> Beginners@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/20160202/26136509/attachment-0001.html>

------------------------------

Message: 3
Date: Tue, 2 Feb 2016 18:03:00 +0900
From: KwangYul Seo <kwangyul....@gmail.com>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <beginners@haskell.org>
Subject: Re: [Haskell-beginners] foldr with short circuit and
        accumulator
Message-ID:
        <caclrxywqr439zc0mmnhc7+p9q6s9qkmr8pazebohysw_zf-...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi,

Implementing a short-circuiting fold was already discussed in the
haskell-cafe mailing list.

https://mail.haskell.org/pipermail/haskell-cafe/2007-April/024171.html


On Tue, Feb 2, 2016 at 4:15 PM, Chul-Woong Yang <cwy...@aranetworks.com>
wrote:

> Hi, all.
>
> Can it be possible to do fold with short circuit and accumulator both?
> For example, can we find an element which is same value to adjacent one?
>
> findAdjacent [1,2..n, n, n+1, n+2.......] => n
>                          \__very long__/
>
> Though there can be many ways to do it, Can we do it with fold[r|l]?
>
> I'll be happy to receive any comments.
>
> Chul-Woong
> _______________________________________________
> Beginners mailing list
> Beginners@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/20160202/ac929659/attachment-0001.html>

------------------------------

Subject: Digest Footer

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners


------------------------------

End of Beginners Digest, Vol 92, Issue 3
****************************************

Reply via email to