{
  "status": "unknown",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-11",
  "slug": "regular-register",
  "term": "Regular register",
  "aliases": [
    "Single-writer regular register"
  ],
  "definition": "A single-writer regular register returns the value of the latest write completed before a read starts or a value written by an overlapping write.",
  "note": "One read can span several writes. Two successive reads overlapping one write can return new then old, unlike an atomic register. [lamport-registers]",
  "related": [
    "safe-register",
    "linearizability"
  ],
  "citations": [
    {
      "id": "lamport-registers",
      "title": "Lamport. On Interprocess Communication, Part II, sections 4-5. SRC report, 1985; journal publication, 1986.",
      "url": "https://lamport.azurewebsites.net/pubs/interprocess.pdf",
      "accessed": "2026-11-11"
    },
    {
      "id": "hesela-registers",
      "title": "Hesela: constructed read histories for safe, regular and atomic registers.",
      "url": "https://hesela.com/analyses/storage-consistency-ordering/#register-contracts",
      "accessed": "2026-11-11"
    }
  ],
  "provenance": [
    "Scope: finite-valued, single-writer registers with one or more readers; no product lifecycle or priority date is inferred. [lamport-registers]"
  ]
}
