Flux language specification
The following documents specify the Flux language and query execution.
Notation
Notation principles for the Flux functional data scripting language.
Representation
Source code is encoded in UTF-8. The text need not be canonicalized.
Lexical elements
Descriptions of Flux comments, tokens, identifiers, keywords, and other lexical elements.
Variables
Flux variables hold values. A variable can only hold values defined by its type.
Options
A Flux option represents a storage location for any value of a specified type. Options are mutable. An option can hold different values during its lifetime.
Types
A type defines the set of values and operations on those values. Types are never explicitly declared as part of the syntax. Types are always inferred from the usage of the value.
Blocks
A block is a possibly empty sequence of statements within matching braces ({}).
Assignment and scope
An assignment binds an identifier to a variable, option, or function. Every identifier in a program must be assigned.
Expressions
An expression specifies the computation of a value by applying the operators and functions to operands.
Operators
Flux supports many types of operators including arithmetic operators, comparison operators, function operators, and others.
Packages
Flux source is organized into packages. A package consists of one or more source files. Each source file is parsed individually and composed into a single package.
Attributes
Attributes define a set of properties on source code elements.
Statements
Statements control execution in the Flux functional data scripting language.
Side effects
A summary of side effects in the Flux functional data scripting language.
System built-ins
When a built-in value is not expressible in Flux, its value may be defined by the hosting environment. All such values must have a corresponding builtin statement to declare the existence and type of the built-in value.
Data model
Flux employs a basic data model built from basic data types. The data model consists of tables, records, columns and streams.
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Flux and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.