Concepts

Core Concepts

Core Concepts

Grid combines spreadsheet space with named computation. These terms keep that combination precise.

Model

A model is the executable whole described by a .grid source file and its bound inputs. It contains bindings, their dependency relationships, rules, history, metadata, and current state.

A library is reusable definitions-only Grid source in a .gs file. It may provide named functions, eager named constants, choices, units, and imports, but it cannot contain executable model statements. Models and other libraries load it with USE.

Binding

A binding is one addressable piece of a model. It has a current effective value and may be derived by a formula, supplied as an input, or changed through an explicit rule or other admitted writer.

A1 = 100
Tax = A1 * 0.2

A1 and Tax are distinct bindings. The second depends on the first.

Address And Symbol

An address is a way to refer to a binding. A symbol is an identifier used as an address, such as Revenue. Grid supports spatial addresses (A1, R1C1), named addresses (Revenue), and qualified addresses (Sheet1!A1, Dataset_1!config). ! qualifies an address; it is not object access.

Cell

A cell is a binding addressed by workbook coordinates. A1 and R1C1 are two coordinate spellings for the same cell address. A cell can have a formula, an input/default value, type and presentation metadata, history, and an active override.

A1 = quantity * unit_price
B1 = A1

B1 is another cell binding whose formula reads A1; it is not an alias.

Named Binding And Alias

A named binding gives a calculation a semantic name:

NetPrice = ListPrice * (1 - DiscountRate)

A direct named reference is instead an alias: another address for the same binding.

ListPrice = A1
PublishedPrice = ListPrice

Both names above address the A1 binding. They share its value, override, history, and provenance. Adding arithmetic or another operation creates a new binding instead:

RoundedPrice = A1 + 0

Use coordinates when spatial layout or repetition matters; add names as intent becomes clear. Grid is designed for both forms to coexist.

In query and function documentation, an SQL alias or function alias is explicitly qualified and has its ordinary local meaning. An unqualified language-level alias means another address for the same binding.

Predicate

A predicate says what is true about one symbol or between two symbols. Unary predicates attach reactive properties to their authored symbol:

proposal is :reviewed = report

General predicates can derive new truths over model and graph relationships:

predicate releasable means
  reviewed
  AND NOT blocked
  AND EVERY dependency IS :releasable

Predicate laws and quantifiers remain declarative. EVIDENCE(atom) exposes independent support and refutation as neither, supported, refuted, or both; MUST, MAY, and CANNOT are Boolean projections of those bits. A path proposition names the relation it traverses, while structured unary facts keep their ordinary reactive payload.

Qualitative binary predicates state temporal, topological, or conceptual-set facts and use the same inference, uncertainty, contradiction, and explanation machinery:

design before launch
parcel inside district
vip_customers included in active_customers

See the predicate guide for schemas, queries, and graph views.

Range And Region

A range is coordinate syntax for a rectangular workbook region, such as A1:D50. A region is the rectangular addressed area itself. Ranges retain coordinates and shape; they are not a universal collection type.

prices = A1:D50
latest = INDEX(prices, ROWS(prices), 4)

Arrays, relations/Frames, and native collections have their own shape and access rules. Convert or project deliberately when moving between them.

Value And Resident Value

A value is what a binding currently evaluates to: a number, string, array, object, error, date, or another supported kind. Values flow through formulas; they are not themselves addresses.

A resident value is a large or domain-specific value kept by the model, such as a Frame, graph, tensor, index, or trajectory. These normally use named bindings and explicit projections rather than silently spilling opaque data into workbook cells.

Formula And Effect

A formula derives a binding's base value from dependencies. An effect changes model state through an explicit path: a rule action, input write, table mutation, connector write, external job, or solver write. Formula reactivity does not by itself mutate a prior value.

See assignments, references and ranges, and rules and schedules for the authoring syntax behind these concepts.