← Back to context

Comment by inigyou

3 hours ago

No, if it had one more 5 it would violate your specification that every time must occur exactly once.

Also, SORT(1,2,3,4) = 1,2,3,4,7

Not my specification (drive by third party)

but I do take the view that ( 1, 2, 3, 4, 5, 5, 6 ) is a list of seven values (perhaps the number of dollars in the pockets of seven distinct unique people) and when sorted the output should also have seven items that correspond to the seven input items.

> Also ...

Yeah, that needs tightening up by pastel8739

  • You need a way to differentiate the two 5s, that isn't present. If you had a list like:

      L = [(5,foo), (2,bar), (2,baz),...]
    

    And did a:

      SORT(L, key=first) # or however it'd be specified
    

    Then the duplicate 2s would be fine, because they're no longer duplicates, only duplicate keys. But it would still fail if (2,baz) showed up twice in the source and destination even though we've asked for SORT, not UNIQSORT.

    • More seriously,

      > You need a way to differentiate the two 5s

      As there's no unique filtering or other reduction going on here, there's a permutation chain from input to output.

      1 reply →

    • In the cases of

        SORT ( 3, 2, 5, 5 ) ->> ( 2, 3, 5, 5 ) and
        SORT ( 3, 2, 5, 5 ) ->> ( 2, 3, 5, 5 )
      

      one or both of those might be incorrect ?

      ( I'm teasing, perhaps )