Standard foundation
Pop.Standard is the reserved portable foundation. Normal Bubbles receive its
verified public contract; they do not import compiler internals or receive a
dynamic runtime namespace.
The prelude includes scalar types, Array<T>, Table<K, V>, iteration/result
protocols, print, and the checked compiler-known collection operations. The
standard-tier namespaces provide the broader APIs described in the Standard
API map: Pop.Sequence, Pop.Text, Pop.Unicode,
Pop.Bytes, Pop.Math, Pop.Time, Pop.Net, explicit file/directory access,
terminal/process/platform facts, and typed value helpers.
using Pop.Sequenceusing Pop.Text
namespace FoundationExample
function main() local values: {Int} = { 2, 4, 6 } local doubled = map<<Int, {Int}, Int>>(values, function(value: Int): Int return value * 2 end) print(sum<<Iterator<Int>>(doubled)) print(join<<{String}>({ "Pop", "Standard" }, " "))endUse exact typed signatures from the checked API baseline. Allocation, copying,
safe points, traps, capability requirements, and cancellation are not hidden
behind a universal object or reflection API. Bytes.Buffer is mutable owned
storage; Bytes.View is an immutable borrowed range; List<T> is a growable
owned collection. These identities must not be substituted for one another.
Separate packages
Section titled “Separate packages”Pop.Http, Pop.Data, Pop.Cli, Pop.Rpc, Pop.Syntax, and Pop.Lsp are
independently versioned Packages. HTTP/1.1 belongs to Pop.Http and composes
Standard network transports; it is not silently part of the prelude.
The exact public roots and signatures are maintained in
libraries/standard/bootstrap/api-baseline.tsv. Source implementations and
checked XML documentation live under crates/libraries/standard/pop/src/.
