Yes you are right, I should have put a warning. These modules are for
peculiar cases.
So here it is:
WARNING: The default comparison function is not sound for non-canonical
datastructures such
as Sets and Maps. Xset is not canonical. Do not use Xsets or Xmap without
providing the correct
comparison function. You must always pass the same comparison function.
(That's why I was asking if there was a Set/Map structure with canonical
representation the other day.)
Extlib provides a version where the comparison function for the keys is
stored in the map.
But I chose to not do this for some peculiar reasons.
- I'm serializing Xmap and Xsets using Marshal, and I don't want to have
functions in the structure
- I don't like the overhead of a wrapper structure and I don't want to
complicate the API
--
Berke Durak