I am having some trouble wrapping my head around it. Reading through rpython/tools/pairtype.py, it looks like it could be one or more of a number of things:
- An implementation of javascript-style prototypes. (The similarity: you don't subclass an object in js - you use the base object as a prototype and extend it with new functionality) - A way to do specialization and automatic dispatching on types so that a+b works (both "a" and "b" know what they are, and whether they are compatible with each other in an __add__/__radd__ sense, and what type should be returned as a result of that call) - Sort of a first draft of ABCs, allowing composition and type buildup without explicit inheritance (roughly, __extend__ is similar to ABC.register) - Other? Thanks, Van
_______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev