Skip to content

Namespace zmbt::expr

Namespace List > zmbt > expr

Expression DSL.

Public Attributes

Type Name
dsl::SignatureUnary<::zmbt::dsl::Keyword::Abs > const Abs
Absolute value .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Acos > const Acos
Arccos .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Acosh > const Acosh
Hyperbolic arccos .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Add > const Add
Addition .
dsl::SignatureVariadic<::zmbt::dsl::Keyword::All > const All
Match all predicates .
dsl::SignatureBinary<::zmbt::dsl::Keyword::And > const And
Logical and .
dsl::SignatureVariadic<::zmbt::dsl::Keyword::Any > const Any
Match any predicate .
dsl::SignatureTernary<::zmbt::dsl::Keyword::Apply > const Apply
Apply expr to literal param .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Approx > const Approx
Floating point approximately equal .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Arange > const Arange
Generate range of numbers .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Argmax > const Argmax
Max value index by key function .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Argmin > const Argmin
Min value index by key function .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Asin > const Asin
Arcsin .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Asinh > const Asinh
Hyperbolic arcsin .
dsl::SignatureBinary<::zmbt::dsl::Keyword::At > const At
Transform json value with given query .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Atan > const Atan
Arctan .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Atanh > const Atanh
Hyperbolic arctan .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Avg > const Avg
Arythmetic average .
dsl::SignatureVariadic<::zmbt::dsl::Keyword::Bind > const Bind
!not implemented! bind design-time parameters
dsl::SignatureBinary<::zmbt::dsl::Keyword::BitAnd > const BitAnd
Bitwise and .
dsl::SignatureBinary<::zmbt::dsl::Keyword::BitLshift > const BitLshift
Bitwise left shift .
dsl::SignatureUnary<::zmbt::dsl::Keyword::BitNot > const BitNot
Bitwise not .
dsl::SignatureBinary<::zmbt::dsl::Keyword::BitOr > const BitOr
Bitwise or .
dsl::SignatureBinary<::zmbt::dsl::Keyword::BitRshift > const BitRshift
Bitwise right shift .
dsl::SignatureBinary<::zmbt::dsl::Keyword::BitXor > const BitXor
Bitwise xor .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Bool > const Bool
Predicate on boolean transform (aka truthy) .
dsl::SignatureBinary<::zmbt::dsl::Keyword::C > const C
User-defined constant .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Card > const Card
Set cardinality (uniques count) .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Cartesian > const Cartesian
Cartesian product .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Ceil > const Ceil
Ceil .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Chunks > const Chunks
Split into chunks of specified max width .
dsl::SignatureVariadic<::zmbt::dsl::Keyword::Compose > const Compose
Compose functions .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Concat > const Concat
Concatenate sequences .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Ni > const Contains
Alias for Ni.
dsl::SignatureUnary<::zmbt::dsl::Keyword::Cos > const Cos
Cosinus .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Cosh > const Cosh
Hyperbolic cos .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Count > const Count
Count matches by predicate param .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Default > const D
Alias for Default.
dsl::SignatureBinary<::zmbt::dsl::Keyword::Default > const Default
Return x if not null, else return default value .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Diff > const Diff
Set difference .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Div > const Div
Division .
dsl::SignatureConst<::zmbt::dsl::Keyword::E > const E
Euler's number .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Each > const Each
Test predicate for each item in a sequence .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Enumerate > const Enumerate
Enumerate sequence .
dsl::SignatureConst<::zmbt::dsl::Keyword::Eps > const Eps
Machine epsilon .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Eq > const Eq
Is equal .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Erf > const Erf
Error function .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Erfc > const Erfc
Error function complement .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Exp > const Exp
Exponential (e^x) .
dsl::SignatureConst<::zmbt::dsl::Keyword::False > const False
Logical false .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Filter > const Filter
Filter sequence by predicate param .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Flatten > const Flatten
Flatten nested list .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Flip > const Flip
Flips design-time and eval-time parameters for enveloped expression. .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Floor > const Floor
Floor .
dsl::SignatureVariadic<::zmbt::dsl::Keyword::Format > const Fmt
Alias for Format.
dsl::SignatureBinary<::zmbt::dsl::Keyword::Reduce > const Fold
Alias for Reduce.
dsl::SignatureVariadic<::zmbt::dsl::Keyword::Format > const Format
Format string with the given parameter list. .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Gamma > const Gamma
Gamma function .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Ge > const Ge
Greater or equal .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Gt > const Gt
Greater than .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Id > const Id
Identity function .
dsl::SignatureBinary<::zmbt::dsl::Keyword::In > const In
Element is in .
dsl::SignatureConst<::zmbt::dsl::Keyword::Inf > const Inf
Infinity .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Intersect > const Intersect
Set intersection .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Items > const Items
Extract key-value pairs from object .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Keys > const Keys
Extract keys from object .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Le > const Le
Lesser or equal .
dsl::SignatureBinary<::zmbt::dsl::Keyword::C > const Let
Alias for C.
dsl::SignatureBinary<::zmbt::dsl::Keyword::Log > const Log
Logarithm .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Lookup > const Lookup
Lookup table function .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Lt > const Lt
Lesser than .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Map > const Map
Apply param expr to every element of sequence .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Max > const Max
Max value by key function .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Min > const Min
Min value by key function .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Mod > const Mod
Modulo .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Mul > const Mul
Multiplication .
dsl::SignatureConst<::zmbt::dsl::Keyword::NaN > const NaN
Not a number .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Ne > const Ne
Not equal .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Approx > const Near
Alias for Approx.
dsl::SignatureUnary<::zmbt::dsl::Keyword::Neg > const Neg
Negate .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Ni > const Ni
Contains element .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Nil > const Nil
Predicate on boolean transform (aka falsy) .
dsl::SignatureConst<::zmbt::dsl::Keyword::Noop > const Noop
No operation .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Not > const Not
Logical complement .
dsl::SignatureBinary<::zmbt::dsl::Keyword::NotIn > const NotIn
Element is not in .
dsl::SignatureBinary<::zmbt::dsl::Keyword::NotNi > const NotNi
Not contains element .
dsl::SignatureConst<::zmbt::dsl::Keyword::Null > const Null
Null value .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Or > const Or
Logical or .
dsl::SignatureVariadic<::zmbt::dsl::Keyword::Pack > const Pack
Pack results from enveloped functions into an array .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Parse > const Parse
Parse string as json .
dsl::SignatureConst<::zmbt::dsl::Keyword::Pi > const Pi
Pi constant .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Pow > const Pow
To power .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Prod > const Prod
Multiplication reduction .
dsl::SignatureBinary<::zmbt::dsl::Keyword::ProperSubset > const ProperSubset
Is proper subset .
dsl::SignatureBinary<::zmbt::dsl::Keyword::ProperSuperset > const ProperSuperset
Is proper superset .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Push > const Push
Push element into a front of sequence .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Quot > const Quot
Quotient .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Re > const Re
Regular expression match .
dsl::SignatureTernary<::zmbt::dsl::Keyword::Recur > const Recur
Apply recursion to parameter expr and initial value .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Reduce > const Reduce
Reduce sequence with binary operator .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Re > const Regex
Alias for Re.
dsl::SignatureBinary<::zmbt::dsl::Keyword::Repeat > const Repeat
Repeat value in list .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Reverse > const Reverse
Reverse sequence .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Round > const Round
Round to nearest integer .
dsl::SignatureVariadic<::zmbt::dsl::Keyword::Saturate > const Saturate
Saturate matches in order .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Serialize > const Serialize
Serialize json as string .
dsl::SignatureBinary<::zmbt::dsl::Keyword::SetEq > const SetEq
Equal as set .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Sign > const Sign
Sign .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Sin > const Sin
Sinus .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Sinh > const Sinh
Hyperbolic sin .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Size > const Size
Sequence size .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Slide > const Slide
Sliding-window iteration .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Sort > const Sort
Sort list by key function .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Sqrt > const Sqrt
Square root .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Serialize > const Str
Alias for Serialize.
dsl::SignatureBinary<::zmbt::dsl::Keyword::Stride > const Stride
Striding iteration .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Sub > const Sub
Subtraction .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Subset > const Subset
Is subset .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Sum > const Sum
Summation reduction .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Superset > const Superset
Is superset .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Tan > const Tan
Tangens .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Tanh > const Tanh
Hyperbolic tan .
dsl::SignatureConst<::zmbt::dsl::Keyword::Thread > const Thread
Thread id .
dsl::SignatureUnary<::zmbt::dsl::Keyword::ToList > const ToList
Put argument into a list .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Transp > const Transp
Transpose multidimensional list, turning rows into columns .
dsl::SignatureConst<::zmbt::dsl::Keyword::True > const True
Logical true .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Try > const Try
Evaluate enveloped function and return result or null if it throws .
dsl::SignatureBinary<::zmbt::dsl::Keyword::TryCatch > const TryCatch
Evaluate enveloped function and return result or error info if it throws .
dsl::SignatureTernary<::zmbt::dsl::Keyword::Unfold > const Unfold
Put results of recursive fn call on initial value into an array .
dsl::SignatureBinary<::zmbt::dsl::Keyword::Union > const Union
Set union .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Uniques > const Uniques
Filter unique elements .
dsl::SignatureUnary<::zmbt::dsl::Keyword::Values > const Values
Extract values from object .
dsl::SignatureConst<::zmbt::dsl::Keyword::Noop > const _
Alias for Noop.

Public Attributes Documentation

variable Abs

Absolute value .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Abs> const zmbt::expr::Abs;

See also: Unary Syntatic Forms


variable Acos

Arccos .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Acos> const zmbt::expr::Acos;

See also: Unary Syntatic Forms


variable Acosh

Hyperbolic arccos .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Acosh> const zmbt::expr::Acosh;

See also: Unary Syntatic Forms


variable Add

Addition .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Add> const zmbt::expr::Add;

See also: Binary Syntatic Forms


variable All

Match all predicates .

dsl::SignatureVariadic<::zmbt::dsl::Keyword::All> const zmbt::expr::All;

See also: Variadic Syntatic Forms


variable And

Logical and .

dsl::SignatureBinary<::zmbt::dsl::Keyword::And> const zmbt::expr::And;

Generic behavior: if first operand is truthy, returns second operand, otherwise first

See also: Binary Syntatic Forms


variable Any

Match any predicate .

dsl::SignatureVariadic<::zmbt::dsl::Keyword::Any> const zmbt::expr::Any;

See also: Variadic Syntatic Forms


variable Apply

Apply expr to literal param .

dsl::SignatureTernary<::zmbt::dsl::Keyword::Apply> const zmbt::expr::Apply;

See also: Ternary Syntatic Forms


variable Approx

Floating point approximately equal .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Approx> const zmbt::expr::Approx;

Based on numpy.isclose: abs(x - ref) <= (atol + rtol * abs(ref))

Rhs parameters: ref: reference value rtol: relative tolerance, default = 1e-05 atol: absolute tolerance, default = 1e-08

Rhs dynamic evaluation: * ref -> [ref, default, default] * [ref] -> [ref, default, default] * [ref, rtol] -> [ref, rtol , default] * [ref, rtol, atol] -> [ref, rtol , atol ]

See also: Binary Syntatic Forms


variable Arange

Generate range of numbers .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Arange> const zmbt::expr::Arange;

Return evenly spaced values within a given interval.

Parameters: * start: start value * stop: stop value * step: step value

Parameters dynamic evaluation: * stop: int -> [0, stop, 1] * [start, stop] -> [start, stop, 1] * [start, stop, step] -> [start, stop, step]

See also: Unary Syntatic Forms


variable Argmax

Max value index by key function .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Argmax> const zmbt::expr::Argmax;

See also: Binary Syntatic Forms


variable Argmin

Min value index by key function .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Argmin> const zmbt::expr::Argmin;

See also: Binary Syntatic Forms


variable Asin

Arcsin .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Asin> const zmbt::expr::Asin;

See also: Unary Syntatic Forms


variable Asinh

Hyperbolic arcsin .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Asinh> const zmbt::expr::Asinh;

See also: Unary Syntatic Forms


variable At

Transform json value with given query .

dsl::SignatureBinary<::zmbt::dsl::Keyword::At> const zmbt::expr::At;

Query evaluation rules: * q: int |-> x: list |-> x at index q (negative -> reverse) * q: slice |-> x: list |-> x[start:stop:step] * q: str |-> x: any |-> x at JSON Pointer q * q: list |-> x: any |-> [x at q1, x at q2, ...] * {"key": q1, "\(q2": q3, ...} \|-> x: any \|-> { "key1": x at q1, "\)(x at q2)": x at q3, ...}

See also: Binary Syntatic Forms


variable Atan

Arctan .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Atan> const zmbt::expr::Atan;

See also: Unary Syntatic Forms


variable Atanh

Hyperbolic arctan .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Atanh> const zmbt::expr::Atanh;

See also: Unary Syntatic Forms


variable Avg

Arythmetic average .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Avg> const zmbt::expr::Avg;

See also: Unary Syntatic Forms


variable Bind

!not implemented! bind design-time parameters

dsl::SignatureVariadic<::zmbt::dsl::Keyword::Bind> const zmbt::expr::Bind;

See also: Variadic Syntatic Forms


variable BitAnd

Bitwise and .

dsl::SignatureBinary<::zmbt::dsl::Keyword::BitAnd> const zmbt::expr::BitAnd;

See also: Binary Syntatic Forms


variable BitLshift

Bitwise left shift .

dsl::SignatureBinary<::zmbt::dsl::Keyword::BitLshift> const zmbt::expr::BitLshift;

  • [ ] |-> [x, s] |-> x << s
  • [s] |-> [x] |-> x << s

See also: Binary Syntatic Forms


variable BitNot

Bitwise not .

dsl::SignatureUnary<::zmbt::dsl::Keyword::BitNot> const zmbt::expr::BitNot;

See also: Unary Syntatic Forms


variable BitOr

Bitwise or .

dsl::SignatureBinary<::zmbt::dsl::Keyword::BitOr> const zmbt::expr::BitOr;

See also: Binary Syntatic Forms


variable BitRshift

Bitwise right shift .

dsl::SignatureBinary<::zmbt::dsl::Keyword::BitRshift> const zmbt::expr::BitRshift;

  • [ ] |-> [x, s] |-> x >> s
  • [s] |-> [x] |-> x >> s

See also: Binary Syntatic Forms


variable BitXor

Bitwise xor .

dsl::SignatureBinary<::zmbt::dsl::Keyword::BitXor> const zmbt::expr::BitXor;

See also: Binary Syntatic Forms


variable Bool

Predicate on boolean transform (aka truthy) .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Bool> const zmbt::expr::Bool;

See also: Unary Syntatic Forms


variable C

User-defined constant .

dsl::SignatureBinary<::zmbt::dsl::Keyword::C> const zmbt::expr::C;

Produced expression will return the design-time parameter on evaluation, ignoring input. C(x) is a shorthand for Id << x or And(false)|Or(x)

See also: Binary Syntatic Forms


variable Card

Set cardinality (uniques count) .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Card> const zmbt::expr::Card;

See also: Unary Syntatic Forms


variable Cartesian

Cartesian product .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Cartesian> const zmbt::expr::Cartesian;

See also: Unary Syntatic Forms


variable Ceil

Ceil .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Ceil> const zmbt::expr::Ceil;

See also: Unary Syntatic Forms


variable Chunks

Split into chunks of specified max width .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Chunks> const zmbt::expr::Chunks;

Similar to Stride, but includes the last subsequence smaller then step width.

See also: Binary Syntatic Forms


variable Compose

Compose functions .

dsl::SignatureVariadic<::zmbt::dsl::Keyword::Compose> const zmbt::expr::Compose;

See also: Variadic Syntatic Forms


variable Concat

Concatenate sequences .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Concat> const zmbt::expr::Concat;

See also: Binary Syntatic Forms


variable Contains

Alias for Ni.

dsl::SignatureBinary<::zmbt::dsl::Keyword::Ni> const zmbt::expr::Contains;


variable Cos

Cosinus .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Cos> const zmbt::expr::Cos;

See also: Unary Syntatic Forms


variable Cosh

Hyperbolic cos .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Cosh> const zmbt::expr::Cosh;

See also: Unary Syntatic Forms


variable Count

Count matches by predicate param .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Count> const zmbt::expr::Count;

See also: Binary Syntatic Forms


variable D

Alias for Default.

dsl::SignatureBinary<::zmbt::dsl::Keyword::Default> const zmbt::expr::D;


variable Default

Return x if not null, else return default value .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Default> const zmbt::expr::Default;

See also: Binary Syntatic Forms


variable Diff

Set difference .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Diff> const zmbt::expr::Diff;

See also: Binary Syntatic Forms


variable Div

Division .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Div> const zmbt::expr::Div;

  • [ ] |-> [x, y] |-> x / y
  • [y] |-> [x] |-> x / y

See also: Binary Syntatic Forms


variable E

Euler's number .

dsl::SignatureConst<::zmbt::dsl::Keyword::E> const zmbt::expr::E;

See also: Const Syntatic Forms


variable Each

Test predicate for each item in a sequence .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Each> const zmbt::expr::Each;

Equivalent to Count(p|Not)|Eq(0)

See also: Binary Syntatic Forms


variable Enumerate

Enumerate sequence .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Enumerate> const zmbt::expr::Enumerate;

Enumerate sequence with index.

See also: Unary Syntatic Forms


variable Eps

Machine epsilon .

dsl::SignatureConst<::zmbt::dsl::Keyword::Eps> const zmbt::expr::Eps;

See also: Const Syntatic Forms


variable Eq

Is equal .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Eq> const zmbt::expr::Eq;

See also: Binary Syntatic Forms


variable Erf

Error function .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Erf> const zmbt::expr::Erf;

See also: Unary Syntatic Forms


variable Erfc

Error function complement .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Erfc> const zmbt::expr::Erfc;

See also: Unary Syntatic Forms


variable Exp

Exponential (e^x) .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Exp> const zmbt::expr::Exp;

See also: Unary Syntatic Forms


variable False

Logical false .

dsl::SignatureConst<::zmbt::dsl::Keyword::False> const zmbt::expr::False;

See also: Const Syntatic Forms


variable Filter

Filter sequence by predicate param .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Filter> const zmbt::expr::Filter;

See also: Binary Syntatic Forms


variable Flatten

Flatten nested list .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Flatten> const zmbt::expr::Flatten;

See also: Unary Syntatic Forms


variable Flip

Flips design-time and eval-time parameters for enveloped expression. .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Flip> const zmbt::expr::Flip;

Useful for binding lhs operands to non-commutative operators. Unlike Haskell's flip, won't change the order or eval-time parameters * for that case use the Reverse keyword instead.

See also: Binary Syntatic Forms


variable Floor

Floor .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Floor> const zmbt::expr::Floor;

See also: Unary Syntatic Forms


variable Fmt

Alias for Format.

dsl::SignatureVariadic<::zmbt::dsl::Keyword::Format> const zmbt::expr::Fmt;


variable Fold

Alias for Reduce.

dsl::SignatureBinary<::zmbt::dsl::Keyword::Reduce> const zmbt::expr::Fold;


variable Format

Format string with the given parameter list. .

dsl::SignatureVariadic<::zmbt::dsl::Keyword::Format> const zmbt::expr::Format;

Constant expressions are supported for the token list, s.t. Fmt(Pi) << "%s" produces "3.141592653589793E0"

See also: Variadic Syntatic Forms


variable Gamma

Gamma function .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Gamma> const zmbt::expr::Gamma;

See also: Unary Syntatic Forms


variable Ge

Greater or equal .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Ge> const zmbt::expr::Ge;

See also: Binary Syntatic Forms


variable Gt

Greater than .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Gt> const zmbt::expr::Gt;

See also: Binary Syntatic Forms


variable Id

Identity function .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Id> const zmbt::expr::Id;

See also: Unary Syntatic Forms


variable In

Element is in .

dsl::SignatureBinary<::zmbt::dsl::Keyword::In> const zmbt::expr::In;

See also: Binary Syntatic Forms


variable Inf

Infinity .

dsl::SignatureConst<::zmbt::dsl::Keyword::Inf> const zmbt::expr::Inf;

See also: Const Syntatic Forms


variable Intersect

Set intersection .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Intersect> const zmbt::expr::Intersect;

See also: Binary Syntatic Forms


variable Items

Extract key-value pairs from object .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Items> const zmbt::expr::Items;

See also: Unary Syntatic Forms


variable Keys

Extract keys from object .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Keys> const zmbt::expr::Keys;

See also: Unary Syntatic Forms


variable Le

Lesser or equal .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Le> const zmbt::expr::Le;

See also: Binary Syntatic Forms


variable Let

Alias for C.

dsl::SignatureBinary<::zmbt::dsl::Keyword::C> const zmbt::expr::Let;


variable Log

Logarithm .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Log> const zmbt::expr::Log;

Logarithm with base b: * [ ] |-> [x, b] |-> log_b(x) * [b] |-> [x] |-> log_b(x)

See also: Binary Syntatic Forms


variable Lookup

Lookup table function .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Lookup> const zmbt::expr::Lookup;

Parametrized at design time with fixed array or object, produces the value at corresponding At query given as eval-time argument. Equivalent to Flip(At(...))

See also: Binary Syntatic Forms


variable Lt

Lesser than .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Lt> const zmbt::expr::Lt;

See also: Binary Syntatic Forms


variable Map

Apply param expr to every element of sequence .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Map> const zmbt::expr::Map;

See also: Binary Syntatic Forms


variable Max

Max value by key function .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Max> const zmbt::expr::Max;

See also: Binary Syntatic Forms


variable Min

Min value by key function .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Min> const zmbt::expr::Min;

See also: Binary Syntatic Forms


variable Mod

Modulo .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Mod> const zmbt::expr::Mod;

Modulo of x: * [ ] |-> [x, m] |-> x % m * [m] |-> [x] |-> x % m

See also: Binary Syntatic Forms


variable Mul

Multiplication .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Mul> const zmbt::expr::Mul;

See also: Binary Syntatic Forms


variable NaN

Not a number .

dsl::SignatureConst<::zmbt::dsl::Keyword::NaN> const zmbt::expr::NaN;

See also: Const Syntatic Forms


variable Ne

Not equal .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Ne> const zmbt::expr::Ne;

See also: Binary Syntatic Forms


variable Near

Alias for Approx.

dsl::SignatureBinary<::zmbt::dsl::Keyword::Approx> const zmbt::expr::Near;


variable Neg

Negate .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Neg> const zmbt::expr::Neg;

See also: Unary Syntatic Forms


variable Ni

Contains element .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Ni> const zmbt::expr::Ni;

See also: Binary Syntatic Forms


variable Nil

Predicate on boolean transform (aka falsy) .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Nil> const zmbt::expr::Nil;

See also: Unary Syntatic Forms


variable Noop

No operation .

dsl::SignatureConst<::zmbt::dsl::Keyword::Noop> const zmbt::expr::Noop;

Returns true without input validation. Used in place of matchers for uninteresting signals.

See also: Const Syntatic Forms


variable Not

Logical complement .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Not> const zmbt::expr::Not;

See also: Unary Syntatic Forms


variable NotIn

Element is not in .

dsl::SignatureBinary<::zmbt::dsl::Keyword::NotIn> const zmbt::expr::NotIn;

See also: Binary Syntatic Forms


variable NotNi

Not contains element .

dsl::SignatureBinary<::zmbt::dsl::Keyword::NotNi> const zmbt::expr::NotNi;

See also: Binary Syntatic Forms


variable Null

Null value .

dsl::SignatureConst<::zmbt::dsl::Keyword::Null> const zmbt::expr::Null;

See also: Const Syntatic Forms


variable Or

Logical or .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Or> const zmbt::expr::Or;

Generic behavior: if first operand is truthy, returns first operand, second otherwise

See also: Binary Syntatic Forms


variable Pack

Pack results from enveloped functions into an array .

dsl::SignatureVariadic<::zmbt::dsl::Keyword::Pack> const zmbt::expr::Pack;

Allows to combine different properties in a single expression

See also: Variadic Syntatic Forms


variable Parse

Parse string as json .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Parse> const zmbt::expr::Parse;

See also: Unary Syntatic Forms


variable Pi

Pi constant .

dsl::SignatureConst<::zmbt::dsl::Keyword::Pi> const zmbt::expr::Pi;

See also: Const Syntatic Forms


variable Pow

To power .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Pow> const zmbt::expr::Pow;

X to power p * [ ] |-> [x, p] |-> x^p * [p] |-> [x] |-> x^p

See also: Binary Syntatic Forms


variable Prod

Multiplication reduction .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Prod> const zmbt::expr::Prod;

Equivalent to Reduce(Mul)

See also: Unary Syntatic Forms


variable ProperSubset

Is proper subset .

dsl::SignatureBinary<::zmbt::dsl::Keyword::ProperSubset> const zmbt::expr::ProperSubset;

See also: Binary Syntatic Forms


variable ProperSuperset

Is proper superset .

dsl::SignatureBinary<::zmbt::dsl::Keyword::ProperSuperset> const zmbt::expr::ProperSuperset;

See also: Binary Syntatic Forms


variable Push

Push element into a front of sequence .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Push> const zmbt::expr::Push;

See also: Binary Syntatic Forms


variable Quot

Quotient .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Quot> const zmbt::expr::Quot;

Quotient of x: * [ ] |-> [x, d] |-> x // d * [d] |-> [x] |-> x // d

See also: Binary Syntatic Forms


variable Re

Regular expression match .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Re> const zmbt::expr::Re;

If input is not a string, match it's serialized form.

See also: Binary Syntatic Forms


variable Recur

Apply recursion to parameter expr and initial value .

dsl::SignatureTernary<::zmbt::dsl::Keyword::Recur> const zmbt::expr::Recur;

Recur(f, x) >> n = ◯ⁿ f(x)

See also: Ternary Syntatic Forms


variable Reduce

Reduce sequence with binary operator .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Reduce> const zmbt::expr::Reduce;

To set specific initial value, use composition with Push, e.g. Push(0)|Reduce(Add)

For reverse operation, see Unfold

See also: Binary Syntatic Forms


variable Regex

Alias for Re.

dsl::SignatureBinary<::zmbt::dsl::Keyword::Re> const zmbt::expr::Regex;


variable Repeat

Repeat value in list .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Repeat> const zmbt::expr::Repeat;

See also: Binary Syntatic Forms


variable Reverse

Reverse sequence .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Reverse> const zmbt::expr::Reverse;

See also: Unary Syntatic Forms


variable Round

Round to nearest integer .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Round> const zmbt::expr::Round;

Hint: To round to ndigits precision after the decimal point, use Mul(ndigits)|Round|Div(ndigits) combo.

See also: Unary Syntatic Forms


variable Saturate

Saturate matches in order .

dsl::SignatureVariadic<::zmbt::dsl::Keyword::Saturate> const zmbt::expr::Saturate;

See also: Variadic Syntatic Forms


variable Serialize

Serialize json as string .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Serialize> const zmbt::expr::Serialize;

See also: Unary Syntatic Forms


variable SetEq

Equal as set .

dsl::SignatureBinary<::zmbt::dsl::Keyword::SetEq> const zmbt::expr::SetEq;

See also: Binary Syntatic Forms


variable Sign

Sign .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Sign> const zmbt::expr::Sign;

See also: Unary Syntatic Forms


variable Sin

Sinus .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Sin> const zmbt::expr::Sin;

See also: Unary Syntatic Forms


variable Sinh

Hyperbolic sin .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Sinh> const zmbt::expr::Sinh;

See also: Unary Syntatic Forms


variable Size

Sequence size .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Size> const zmbt::expr::Size;

See also: Unary Syntatic Forms


variable Slide

Sliding-window iteration .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Slide> const zmbt::expr::Slide;

Sliding window iteration by specified window width.

See also: Binary Syntatic Forms


variable Sort

Sort list by key function .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Sort> const zmbt::expr::Sort;

See also: Binary Syntatic Forms


variable Sqrt

Square root .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Sqrt> const zmbt::expr::Sqrt;

See also: Unary Syntatic Forms


variable Str

Alias for Serialize.

dsl::SignatureUnary<::zmbt::dsl::Keyword::Serialize> const zmbt::expr::Str;


variable Stride

Striding iteration .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Stride> const zmbt::expr::Stride;

Striding iteration by specified step width. Reminder subsequence smaller then step width is discarded.

See also: Binary Syntatic Forms


variable Sub

Subtraction .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Sub> const zmbt::expr::Sub;

See also: Binary Syntatic Forms


variable Subset

Is subset .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Subset> const zmbt::expr::Subset;

See also: Binary Syntatic Forms


variable Sum

Summation reduction .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Sum> const zmbt::expr::Sum;

Equivalent to Reduce(Add)

See also: Unary Syntatic Forms


variable Superset

Is superset .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Superset> const zmbt::expr::Superset;

See also: Binary Syntatic Forms


variable Tan

Tangens .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Tan> const zmbt::expr::Tan;

See also: Unary Syntatic Forms


variable Tanh

Hyperbolic tan .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Tanh> const zmbt::expr::Tanh;

See also: Unary Syntatic Forms


variable Thread

Thread id .

dsl::SignatureConst<::zmbt::dsl::Keyword::Thread> const zmbt::expr::Thread;

Not really a constant, but useful for branching the test input conditions.

See also: Const Syntatic Forms


variable ToList

Put argument into a list .

dsl::SignatureUnary<::zmbt::dsl::Keyword::ToList> const zmbt::expr::ToList;

Equivalent to At([""])

See also: Unary Syntatic Forms


variable Transp

Transpose multidimensional list, turning rows into columns .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Transp> const zmbt::expr::Transp;

May be used to zip sequences of equal length.

See also: Unary Syntatic Forms


variable True

Logical true .

dsl::SignatureConst<::zmbt::dsl::Keyword::True> const zmbt::expr::True;

See also: Const Syntatic Forms


variable Try

Evaluate enveloped function and return result or null if it throws .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Try> const zmbt::expr::Try;

See also: Binary Syntatic Forms


variable TryCatch

Evaluate enveloped function and return result or error info if it throws .

dsl::SignatureBinary<::zmbt::dsl::Keyword::TryCatch> const zmbt::expr::TryCatch;

See also: Binary Syntatic Forms


variable Unfold

Put results of recursive fn call on initial value into an array .

dsl::SignatureTernary<::zmbt::dsl::Keyword::Unfold> const zmbt::expr::Unfold;

Unfold(f, x) >> n = [x, ◯¹f(x), ◯²f(x), ..., ◯ⁿ f(x)]

See also: Ternary Syntatic Forms


variable Union

Set union .

dsl::SignatureBinary<::zmbt::dsl::Keyword::Union> const zmbt::expr::Union;

See also: Binary Syntatic Forms


variable Uniques

Filter unique elements .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Uniques> const zmbt::expr::Uniques;

See also: Unary Syntatic Forms


variable Values

Extract values from object .

dsl::SignatureUnary<::zmbt::dsl::Keyword::Values> const zmbt::expr::Values;

See also: Unary Syntatic Forms


variable _

Alias for Noop.

dsl::SignatureConst<::zmbt::dsl::Keyword::Noop> const zmbt::expr::_;



The documentation for this class was generated from the following file zmbt-framework/zmbt-framework/backends/cxx/include/zmbt/model/expression_api.hpp