Proposal: Shards - GetPoplog/Seed GitHub Wiki

Work in progress

Outline: a shard is a partition of a section (namespace). The Prolog and Lisp compilers already hand-implement sharding by putting a difficult-to-clash prefix at the front of each identifier. This proposal will explain how to add sharding to the existing API. Pop-11 itself uses prefixing to distinguish collections of identifiers (e.g. sysCOMPILE, sysPUSH, pop11_comp_expr, pop11_comp_expr_seq_to, ved_c, ved_m, ved_t, prolog_appargs, prolog_deref, prolog_newvar etc) which can also be seen as an informal form of sharding. In that sense, this proposal seeks to regularise and structure existing practice.