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.2A1 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 = A1B1 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 = ListPriceBoth 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 + 0Use 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 = reportGeneral predicates can derive new truths over model and graph relationships:
predicate releasable means
reviewed
AND NOT blocked
AND EVERY dependency IS :releasablePredicate 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_customersSee 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.