Skip to content

M4 The object model #23

Description

@tamnd

Roughly ten weeks and fourteen lessons, which makes it the largest content milestone in the project. It is also where the specification stops being a description and starts being something you could implement from, because the object model is where a reimplementation either matches CPython or quietly does not.

Exit criterion. BP-DICT specifies the probe sequence, the growth policy and compaction precisely enough that an independent implementation reproduces CPython's exact dk_indices array for a given sequence of insertions and deletions, verified by test. The coverage ledger shows every PyTypeObject slot owned by a blueprint.

Content

  • O01 through O14: the object header, type objects, slots, the MRO, attribute lookup, descriptors, the dict, the split table layout, integers, strings, lists and tuples, the free lists, weak references and finalization

Blueprints

  • BP-OBJECT through BP-FINALIZE, twelve of them

Tooling

Gates

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/objectsThe object model, types, slots and the builtin typeskind/milestoneA milestone checklist, tracking the issues that close itpriority/p1Needed for the current milestone but not blocking today

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions