Re: ordered string-list considered harmful, was Re: [PATCH v3] Allow aliases that include other aliases
- From
Jeff King <peff@peff.net>
- Date
- Sep 6, 2018, 19:20 UTC
- Message-ID
- <20180906192021.GB26575@sigill.intra.peff.net>
- In-Reply-To
- <20180906191203.GA26184@sigill.intra.peff.net>
On Thu, Sep 06, 2018 at 03:12:03PM -0400, Jeff King wrote:
Show 13 quoted lines
> On Thu, Sep 06, 2018 at 10:59:42AM -0400, Jeff King wrote: > > > > + string_list_append(&cmd_list, *argv[0]); > > > > 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.
-Peff