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

Sean Charles (emacstheviking) objitsu at gmail.com
Wed Oct 4 07:39:01 AEDT 2023


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 


More information about the users mailing list