This glossary lists key concepts that permeate Envision and its environment.

variable: a valid identifier that can be read or assigned.

reserved keyword: a word that comes with a special treatment by Envision. A variable cannot be named with a reserved keyword. Ex: where.

scalar: the simplest kind of variable that holds just one value. A scalar does not have a dot (.) in its name. Ex: myValue.

type: a value can be of several distinct types. The most notable types are number, text, boolean, date, ranvar and zedfunc.

table: a tabular dataset that typically includes multiple vectors. Tables are usually populated based on the content of flat files.

vector: a specific kind of variable that contains a vector of values (in the mathematical sense for “vector”). A vector has a dot (.) in its name. The first part, before the dot, is the table that contains the vector. Ex: Products.Color.

function: a named set of operations leveraging data passed as argument(s). Functions have no side-effects. Functions can be built-in or user-defined.

process: a type of function that can be applied to an array of values to produce either cumulative values (an aggregation) or a final value (scan). Most aggregators and accumulators are processes. Ex: sum( .. )

call option: a small set of standardized options to alter the behavior of a process, for example by imposing a specific grouping or a sorting order. Ex: first( .. ) sort ..

indentation: the number of whitespace characters at the beginning of each code line. Envision has significant whitespace. A block begins when indentation level increases, and ends when the indentation level decreases.

statement: a stand-alone piece of code that usually fits on a single line. The two most notable statements are assignments and filters.

block: a series of statements and blocks that all have the same indentation level. Blocks are introduced by specific statements, such as filters or processes declaration.

assignment: a statement that assigns a new value to a variable using the symbol =, creating it if it does not exist.

filter: a kind of statement that restricts the data that exists in the block that follows the filter statement, typically using the reserved keyword where. Filters can be nested.

read statement: a kind of statement that defines how data is loaded from files into tables.

show statement: a kind of statement that defines a tile to be rendered in the resulting dashboard.

def statement: a kind of statement introducing a user-defined function.

script: a valid piece of Envision code.

project: the named container for a script.

run: the execution of a project and its resulting dashboard.

script editor: the UI that let users modify their Envision scripts.

tile editor: the WYSIWYG editor that lets users rearrange their tiles and the color of their tiles.