Re: ordered string-list considered harmful, was Re: [PATCH v3] Allow aliases that include other aliases
- Date: Thu, 6 Sep 2018 15:20:22 -0400
- From: Jeff King <peff@xxxxxxxx>
- Subject: Re: ordered string-list considered harmful, was Re: [PATCH v3] Allow aliases that include other aliases
On Thu, Sep 06, 2018 at 03:12:03PM -0400, Jeff King wrote:
> On Thu, Sep 06, 2018 at 10:59:42AM -0400, Jeff King wrote:
> > > + string_list_append(&cmd_list, *argv);
> > This will create an unsorted list. You'd have to use
> > string_list_insert() here for a sorted list, or
> > unsorted_string_list_has_string() in the earlier call.
> > It's unfortunate that string_list makes this so easy to get wrong.
> This is getting really off-topic (since it sounds like we'd probably
> want to use an ordered list here), but is it crazy to think that
> basically every use of an ordered string list could just be a hashmap?
Er, oops, I used "ordered" to mean two things here.
I meant that the code regarding aliases would use an _unsorted_ list
(where we care about keeping the original insertion order).
But what I think is harmful is a _sorted_ list, because of the
"accidentally quadratic" nature, and because it's easy to call its
functions on an unsorted list.