[m-rev.] for review: Add take_while and drop_while to the list module

Julien Fischer jfischer at opturion.com
Thu Apr 21 12:30:32 AEST 2016


Hi,

On Thu, 21 Apr 2016, Paul Bone wrote:

> On Thu, Apr 21, 2016 at 11:55:58AM +1000, Mark Brown wrote:
>> Hi Paul,
>> 
>> On Thu, Apr 21, 2016 at 11:11 AM, Paul Bone <paul at bone.id.au> wrote:
>> > For review by anyone
>> >
>> > ---
>> >
>> > Add take_while and drop_while to the list module
>> 
>> Are you aware there is already a takewhile predicate in the list module?
>> 
>
> No I wasn't, it looks like it behaves differently anyway.

It also returns the leading elements for which Pred succeeds.  It's not
too different from us having multiple versions of list.filter (i.e. one
version that returns just the true list and one that returns the true
and false lists).

> I noticed that in our YesLogic code we have some utility code that can be
> put into the Mercury standard library, including a dropwhile predicate.  So
> I named it drop_while and submitted it and an similar take_while predicate.
>
> I don't really mind what happens, does anyone else have any strong ideas
> about these kinds of predicates?

I would prefer some consistency in naming for a start ;-)

I suggest adding take_while/4, deprecating the existing takewhile/4
predicate and adding your new ones as well.  (That said, I think the
documentation for drop_while/3 is unclear, so don't commit them
until that's been reviewed.)

Julien.


More information about the reviews mailing list