- Implement a
dict-like object without relying ondict. - Implement enough of
dict's behaviour to make it useful. - Avoid mutation.
- Extend the functionality beyond what's available in
dictin Python 3.8.- Supporting merging two
dictishthroughor:ing them (d | other). - Supporting appending to a
dictishbyadd:ing to it (d + key_value_pair). - Behaving like a function (callable).
- Supporting subset and superset comparisons of two
dictish.
- Supporting merging two
- Basic, empty
dictish. - Basic
dictishwith key-value pairs. - Iterating over keys, values, and items.
- Supporting subscript (
d["key"]). - Supporting
get(d.get("key")). - Equality.
- Deduplicating key-value pairs.
- Supporting
|and+. - Representation (
reprandstr).
- Hello doctests!
- Extracting a helper collection class.
- A bit of inspiration taken from Clojure.
- Subset and superset comparisons.
- A word on hashing.
- A word on Abstract Base Classes.