[m-users.] lists and sets, unordered or ordered.

Sean Charles (emacstheviking) objitsu at gmail.com
Wed Oct 4 08:15:40 AEDT 2023


It doesn't need to be unsorted, I just didn't want to waste time sorting something that can function unsorted that's all.

> With the the set_c234.to_sorted_list/1


^^^^^^ That's sorted though, by it's very name and the power of Greyskull etc?



> On 3 Oct 2023, at 22:13, Volker Wysk <post at volker-wysk.de> wrote:
> 
> Am Dienstag, dem 03.10.2023 um 22:07 +0100 schrieb Sean Charles
> (emacstheviking):
>> In my detection, the same missile might hit more than one object if they
>> are close: thus I only wanted to process it once even of it hits five
>> things, so I wanted deduped list just to save setting the hit flag five
>> times if that makes sense.
>> 
>> I checked out all the others sets, the only one I saw that looked good was
>> set_unordlist but is says 'may contain duplicates'.
>> 
>> How do I get an unsorted deduped list from a set then, educate me, i sure
>> as hell need it!
> 
> With the the set_c234.to_sorted_list/1 function, for instance. I still don't
> know why your set needs to be unsorted.
> 
> V.
> 
>> 
>> HAHA It's possible I have missed it in the melee, like 'cirle' not 'circle' las week, it's late, I'm tired
>> :D
>> 
>>> On 3 Oct 2023, at 22:04, Volker Wysk <post at volker-wysk.de> wrote:
>>> 
>>> Hi
>>> 
>>> You can get a sorted de-duped list from a set. Why do you need an unsorted
>>> one? If it's efficiency, you need to have it sorted, unless you have only a
>>> few elements.
>>> 
>>> But be aware that there is the "set" module and five "set_*" modules. The
>>> "set" is using ordered lists. That's inefficient for large sets. Use the
>>> other modules when you have a big set.
>>> 
>>> Cheers,
>>> Volker
>>> 
>>> Am Dienstag, dem 03.10.2023 um 21:55 +0100 schrieb Sean Charles
>>> (emacstheviking):
>>>> Indeed. nothing in my drafts folder and I swear it was complete before I hit send... well,
>>>> basically,
>>>> is there a reason you can't get an unsorted de-duped list from a set?
>>>> 
>>>> That's all...   :D
>>>> 
>>>>> On 3 Oct 2023, at 21:53, Volker Wysk <post at volker-wysk.de> wrote:
>>>>> 
>>>>> Hi, Sean
>>>>> 
>>>>> Your message suddenly stops in the middle of a sentence.
>>>>> 
>>>>> Volker
>>>>> 
>>>>> Am Dienstag, dem 03.10.2023 um 21:39 +0100 schrieb Sean Charles
>>>>> (emacstheviking):
>>>>>> I've just completed a generic typeclass based collision detection system and learned quite a bit doing it!
>>>>>> 
>>>>>> As I was reading the module docs, it seems that there is no 'unordered set without duplicates' unless I missed it, which is entirely reasonable.
>>>>>> 
>>>>>> The output from the collision detection  is two sets of integers, these are the identifiers of the missiles and the things that were hit at the moment. I now want to take this list and then set the '^hit' flag for every missile in that list, for example, the existing code will then no longer render it and remove it on the next iteration.
>>>>>> 
>>>>>> I used sets because they de-dupe as you go, meaning that my checking process is simply iterating two loops, m x n, m missiles and n moving targets, for now it is naive and will probably always be fine given the limited numbers of things on screen at any one time.
>>>>>> 
>>>>>> There seems to be no way to get an unordered, deduplicated list from a set, I can use set_unordlist but that leaves duplicates.
>>>>>> 
>>>>>> 
>>>>>> For now I've decided to use set_unordlist, at the cost of maybe updating the same missile record more than once poost-collision detection, it's not going to kill anything really but mentally, and from a purity point of view it feels 'less optimal' than I wanted. Failing that I might just usr  list.member and use lists for everything like I did!
>>>>>> 
>>>>>> I just wondered what the reasons were for not having the ability to get an unsorted 
>>>>>> _______________________________________________
>>>>>> users mailing list
>>>>>> users at lists.mercurylang.org
>>>>>> https://lists.mercurylang.org/listinfo/users
>>>>> 
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> users at lists.mercurylang.org
>>>>> https://lists.mercurylang.org/listinfo/users
>>>> 
>>> 
>>> _______________________________________________
>>> users mailing list
>>> users at lists.mercurylang.org
>>> https://lists.mercurylang.org/listinfo/users
>> 
> 



More information about the users mailing list