Skip to content

Internal documentation — Work in progress

This page has not been confirmed as accurate or approved for publication. Current documentation version: 0.1.0-internal.1.

Memory model

Reference counting is the intended memory-management model.

That statement is provisional design, not implemented runtime behavior. There is no Sagan runtime, object representation, ownership model, or generated code yet.

Open questions: which values are references, retain/release insertion, borrowing or weak references, cycle detection or collection, destruction order, thread interaction, foreign ownership, value semantics, and observable lifetime behavior.

The design also intends to prevent concurrent mutation of the same data when parallel execution is eventually introduced, but parallel execution itself is deferred.