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.