This section catalogues the features and capabilities of both the Envision language and its standard library. This section is intended for an advance audience who has already mastered the Envision basics.

Table of contents


The list of words that have built-in semantic in Envision.

Reserved keywords: and as at auto autodiff by const cross def default define desc draw each else enum expect fail false foreach group if in index into keep loop match mod montecarlo not or order over read return sample scan show sort span table then true unsafe until when where while with

Contextual keywords: assert barchart boolean date form histogram interval label latest linechart logo max min markdown month nosort number piechart plot private process pure ranvar scatter scalar slicepicker summary text upload week zedfunc


The operators below are listed in increasing order of precedence. For instance, since and is before or, then A or B and C is interpreted as A or (B and C). Operators with the same precedence are grouped left-to-right: A * B / C is (A * B) / C.


The aggregators are similar to functions, but they benefit from a richer syntax with options. Below, we list the aggregators supported by Envision.

Basic: argmax argmin argwhichever aresame avg concat count distinct first join last max median min product same single sum whichever

Logic: all any

Statistics: entropy mode percentile stdev stdevp

Ranvar: mixture ranvar ranvar.buckets sum

Zedfunc: sum


The primary purpose of functions is to extend the capabilities of Envision whenever the basic language syntax would not be sufficient. Below, we list the functions supported by Envision.

Mathematics: abs arground ceiling cos exp floor log loggamma loglikelihood.normal loglikelihood.negativebinomial loglikelihood.poisson max min percent pow random.binomial random.integer random.negativebinomial random.normal random.poisson random.shuffle random.uniform ratio round sin sqrt tanh

Text: concat contains endsWith field field.r indexOf lowercase padLeft parseDate parseNumber parseTime printTime replace sliceSearchUrl startsWith strlen substr text tryParseDate tryParseNumber tryParseTime tryParseWeek uppercase

Calendar: chineseYear chineseYearEnd chineseYearStart date daynum isoYear monday month monthEnd monthNum monthStart today week weekNum year yearEnd yearStart

Ranking: argFirst argLast assoc.quantity cumsub cumsub.fallback cumsum fifo priopack rank rankd smudge

Graph: canonical connected nonCanonical

Ranvar: actionrwd.demand actionrwd.segment cdf crps dirac exponential fillrate forest.regress int loglogistic mean mixture negativeBinomial normal poisson quantile random.ranvar ranvar ranvar.periodicr ranvar.segment ranvar.uniform smooth spark support.min support.max transform truncate variance

Zedfunc: actionrwd.reward constant dirac.z int linear pricebrk.f pricebrk.m stockrwd.c stockrwd.m stockrwd.s uniform uniform.left uniform.right valueAt zoz

Table: extend.billOfMaterials extend.pairs extend.pairset extend.range extend.ranvar extend.split

Special: forex forex.last hash isCurrency mkuid solve.moq