2 ms·
You've probably used it without knowing. It's not typically useful in application code but quite useful in libraries. The ABC module, collections, frozenset. B
by agentultra 11y ago
You've probably used it without knowing. It's not typically useful in application code but quite useful in libraries.
The ABC module, collections, frozenset. Basically anywhere we add custom types or generate new classes to instantiate.
- chc 11y agoThat surprises me. What does frozenset have to do with metaprogramming? I thought it was just a variant of a hash table or something like that.
- agentultra 11y agoThat's an oops on my part. Chalk it up to a baby who likes to wake up at 4:45am and a toddler who wakes up at 7. frozenset is just a built-in immutable set type with a nice hashing algorithm for the kinds of workloads you'd expect. It's defined in Objects/setobject.c and is a nice read. I was just rambling and I've used frozenset in metaprogramming code when constructing classes via decorators to implement Lattice types with decorated monotone/morphism methods. Sorry for the confusion!