Skip to content

10.1.0

Compare
Choose a tag to compare
@bodil bodil released this 12 Apr 15:23
· 330 commits to master since this release
10.1.0
3f56657

[10.1.0] - 2018-04-12

Added

  • Vector, OrdMap and HashMap now implement Index and
    IndexMut, allowing for syntax like map[key] = value.
  • Added cons, snoc, uncons and unsnoc aliases where they were missing.
  • Everything now implements Sum and Extend where possible.

Changed

  • Generalised OrdMap/OrdSet's internal nodes so OrdSet now only
    needs to store pointers to its values, not pairs of pointers to
    value and Unit. This has caused OrdMap/Set's type constraints to
    tighten somewhat - in particular, iteration over maps/sets whose
    keys don't implement Ord is no longer possible, but as you would
    only have been able to create empty instances of these, no sensible
    code should break because of this.
  • HashMap/HashSet now also cannot be iterated over unless they
    implement Hash + Eq, with the same note as above.
  • Constraints on single operations that take closures on HashMap and
    OrdMap have been relaxed from Fn to FnOnce. (Fixes #7.)

Fixed

  • Hashes are now stored in HashMaps along with their associated
    values, removing the need to recompute the hash when a value is
    reordered inside the tree.