Namespace zmbt::expr¶
Namespace List > zmbt > expr
Expression Language API.
Public Attributes¶
Type | Name |
---|---|
lang::SignatureUnary<::zmbt::lang::Keyword::Abs > const | Abs Absolute value. |
lang::SignatureUnary<::zmbt::lang::Keyword::Acos > const | Acos Arccos function. |
lang::SignatureUnary<::zmbt::lang::Keyword::Acosh > const | Acosh Hyperbolic arccos. |
lang::SignatureBinary<::zmbt::lang::Keyword::Add > const | Add Addition. |
lang::SignatureVariadic<::zmbt::lang::Keyword::All > const | All Match all predicates. |
lang::SignatureBinary<::zmbt::lang::Keyword::And > const | And Logical and. |
lang::SignatureVariadic<::zmbt::lang::Keyword::Any > const | Any Match any predicate. |
lang::SignatureBinary<::zmbt::lang::Keyword::Approx > const | Approx Floating point approximately equal. |
lang::SignatureUnary<::zmbt::lang::Keyword::Arange > const | Arange Generate range of numbers. |
lang::SignatureBinary<::zmbt::lang::Keyword::Argmax > const | Argmax Max value index by key function. |
lang::SignatureBinary<::zmbt::lang::Keyword::Argmin > const | Argmin Min value index by key function. |
lang::SignatureUnary<::zmbt::lang::Keyword::Asin > const | Asin Arcsin function. |
lang::SignatureUnary<::zmbt::lang::Keyword::Asinh > const | Asinh Hyperbolic arcsin. |
lang::SignatureBinary<::zmbt::lang::Keyword::At > const | At |
lang::SignatureUnary<::zmbt::lang::Keyword::Atan > const | Atan Arctan function. |
lang::SignatureUnary<::zmbt::lang::Keyword::Atanh > const | Atanh Hyperbolic arctan. |
lang::SignatureUnary<::zmbt::lang::Keyword::Avg > const | Avg Arythmetic average. |
lang::SignatureVariadic<::zmbt::lang::Keyword::Bind > const | Bind !not implemented! bind design-time parameters |
lang::SignatureBinary<::zmbt::lang::Keyword::BitAnd > const | BitAnd Bitwise and. |
lang::SignatureBinary<::zmbt::lang::Keyword::BitLshift > const | BitLshift Bitwise left shift. |
lang::SignatureUnary<::zmbt::lang::Keyword::BitNot > const | BitNot Bitwise not. |
lang::SignatureBinary<::zmbt::lang::Keyword::BitOr > const | BitOr Bitwise or. |
lang::SignatureBinary<::zmbt::lang::Keyword::BitRshift > const | BitRshift Bitwise right shift. |
lang::SignatureBinary<::zmbt::lang::Keyword::BitXor > const | BitXor Bitwise xor. |
lang::SignatureUnary<::zmbt::lang::Keyword::Bool > const | Bool Predicate on boolean transform (aka truthy) |
lang::SignatureBinary<::zmbt::lang::Keyword::C > const | C User-defined constant. |
lang::SignatureUnary<::zmbt::lang::Keyword::Card > const | Card Set cardinality (uniques count) |
lang::SignatureUnary<::zmbt::lang::Keyword::Cartesian > const | Cartesian Cartesian product. |
lang::SignatureDecorate const | Cast Alias for Decorate. |
lang::SignatureBinary<::zmbt::lang::Keyword::Concat > const | Cat Alias for Concat. |
lang::SignatureUnary<::zmbt::lang::Keyword::Ceil > const | Ceil Ceil. |
lang::SignatureBinary<::zmbt::lang::Keyword::Chunks > const | Chunks Split into chunks of specified max width. |
lang::SignatureVariadic<::zmbt::lang::Keyword::Compose > const | Compose Compose functions. |
lang::SignatureBinary<::zmbt::lang::Keyword::Concat > const | Concat Concatenate sequences. |
lang::SignatureBinary<::zmbt::lang::Keyword::Ni > const | Contains Alias for Ni. |
lang::SignatureUnary<::zmbt::lang::Keyword::Cos > const | Cos Cosinus function. |
lang::SignatureUnary<::zmbt::lang::Keyword::Cosh > const | Cosh Hyperbolic cos. |
lang::SignatureBinary<::zmbt::lang::Keyword::Count > const | Count Count matches by predicate param. |
lang::SignatureBinary<::zmbt::lang::Keyword::Default > const | D Alias for Default. |
lang::SignatureDecorate const | Decorate Reserialize decorated type as decorator. |
lang::SignatureBinary<::zmbt::lang::Keyword::Default > const | Default Return x if not null, else return default value. |
lang::SignatureBinary<::zmbt::lang::Keyword::Diff > const | Diff Set difference. |
lang::SignatureBinary<::zmbt::lang::Keyword::Div > const | Div Division. |
lang::SignatureConst<::zmbt::lang::Keyword::E > const | E Euler's number. |
lang::SignatureBinary<::zmbt::lang::Keyword::Each > const | Each Test predicate for each item in a sequence. |
lang::SignatureUnary<::zmbt::lang::Keyword::Enumerate > const | Enumerate Enumerate sequence. |
lang::SignatureConst<::zmbt::lang::Keyword::Eps > const | Eps Machine epsilon. |
lang::SignatureBinary<::zmbt::lang::Keyword::Eq > const | Eq Is equal. |
lang::SignatureUnary<::zmbt::lang::Keyword::Erf > const | Erf Error function. |
lang::SignatureUnary<::zmbt::lang::Keyword::Erfc > const | Erfc Error function complement. |
lang::SignatureError const | Error Error. |
lang::SignatureUnary<::zmbt::lang::Keyword::Exp > const | Exp Exponential (e^x) |
lang::SignatureConst<::zmbt::lang::Keyword::False > const | False Logical false. |
lang::SignatureUnary<::zmbt::lang::Keyword::Not > const | Falsy Alias for Not. |
lang::SignatureBinary<::zmbt::lang::Keyword::Filter > const | Filter Filter sequence by predicate param. |
lang::SignatureUnary<::zmbt::lang::Keyword::Flatten > const | Flatten Flatten nested list. |
lang::SignatureBinary<::zmbt::lang::Keyword::Flip > const | Flip Flips design-time and eval-time parameters. |
lang::SignatureUnary<::zmbt::lang::Keyword::Floor > const | Floor Floor. |
lang::SignatureVariadic<::zmbt::lang::Keyword::Format > const | Fmt Alias for Format. |
lang::SignatureBinary<::zmbt::lang::Keyword::Reduce > const | Fold Alias for Reduce. |
lang::SignatureVariadic<::zmbt::lang::Keyword::Fork > const | Fork Pack results from enveloped functions into an array. |
lang::SignatureVariadic<::zmbt::lang::Keyword::Format > const | Format Format string with the given parameter list. |
lang::SignatureUnary<::zmbt::lang::Keyword::Gamma > const | Gamma Gamma function. |
lang::SignatureBinary<::zmbt::lang::Keyword::Ge > const | Ge Greater or equal. |
lang::SignatureBinary<::zmbt::lang::Keyword::Gt > const | Gt Greater than. |
lang::SignatureUnary<::zmbt::lang::Keyword::Id > const | Id Identity function. |
lang::SignatureBinary<::zmbt::lang::Keyword::In > const | In Element is in. |
lang::SignatureConst<::zmbt::lang::Keyword::Inf > const | Inf Infinity. |
lang::SignatureBinary<::zmbt::lang::Keyword::Intersect > const | Intersect Set intersection. |
lang::SignatureUnary<::zmbt::lang::Keyword::Items > const | Items Extract key-value pairs from object. |
lang::SignatureUnary<::zmbt::lang::Keyword::Keys > const | Keys Extract keys from object. |
lang::SignatureBinary<::zmbt::lang::Keyword::Le > const | Le Lesser or equal. |
lang::SignatureBinary<::zmbt::lang::Keyword::C > const | Let Alias for C. |
lang::SignatureBinary<::zmbt::lang::Keyword::Log > const | Log Logarithm. |
lang::SignatureBinary<::zmbt::lang::Keyword::Lookup > const | Lookup Lookup table function. |
lang::SignatureBinary<::zmbt::lang::Keyword::Lt > const | Lt Lesser than. |
lang::SignatureBinary<::zmbt::lang::Keyword::Map > const | Map Apply param expr to every element of sequence. |
lang::SignatureBinary<::zmbt::lang::Keyword::Max > const | Max Max value by key function. |
lang::SignatureBinary<::zmbt::lang::Keyword::Min > const | Min Min value by key function. |
lang::SignatureBinary<::zmbt::lang::Keyword::Mod > const | Mod Modulo. |
lang::SignatureBinary<::zmbt::lang::Keyword::Mul > const | Mul Multiplication. |
lang::SignatureConst<::zmbt::lang::Keyword::NaN > const | NaN Not a number. |
lang::SignatureBinary<::zmbt::lang::Keyword::Ne > const | Ne Not equal. |
lang::SignatureBinary<::zmbt::lang::Keyword::Approx > const | Near Alias for Approx. |
lang::SignatureUnary<::zmbt::lang::Keyword::Neg > const | Neg Negate. |
lang::SignatureBinary<::zmbt::lang::Keyword::Ni > const | Ni Contains element. |
lang::SignatureUnary<::zmbt::lang::Keyword::Not > const | Nil Alias for Not. |
lang::SignatureConst<::zmbt::lang::Keyword::Noop > const | Noop No operation. |
lang::SignatureUnary<::zmbt::lang::Keyword::Not > const | Not Logical complement. |
lang::SignatureBinary<::zmbt::lang::Keyword::NotIn > const | NotIn Element is not in. |
lang::SignatureBinary<::zmbt::lang::Keyword::NotNi > const | NotNi Not contains element. |
lang::SignatureConst<::zmbt::lang::Keyword::Null > const | Null Null value. |
lang::SignatureOverload const | Op Alias for Overload. |
lang::SignatureBinary<::zmbt::lang::Keyword::Or > const | Or Logical or. |
lang::SignatureOverload const | Overload Bind type-specific operator handler to function. |
lang::SignatureUnary<::zmbt::lang::Keyword::Parse > const | Parse Parse string as json. |
lang::SignatureConst<::zmbt::lang::Keyword::Pi > const | Pi Pi constant. |
lang::SignatureBinary<::zmbt::lang::Keyword::Pow > const | Pow To power. |
lang::SignatureUnary<::zmbt::lang::Keyword::Prod > const | Prod Multiplication reduction. |
lang::SignatureBinary<::zmbt::lang::Keyword::ProperSubset > const | ProperSubset Is proper subset. |
lang::SignatureBinary<::zmbt::lang::Keyword::ProperSuperset > const | ProperSuperset Is proper superset. |
lang::SignatureBinary<::zmbt::lang::Keyword::Push > const | Push Push element into a front of sequence. |
lang::SignatureBinary<::zmbt::lang::Keyword::Quot > const | Quot Quotient. |
lang::SignatureBinary<::zmbt::lang::Keyword::Re > const | Re Regular expression match. |
lang::SignatureTernary<::zmbt::lang::Keyword::Recur > const | Recur Apply recursion to parameter expr and initial value. |
lang::SignatureBinary<::zmbt::lang::Keyword::Reduce > const | Reduce Reduce sequence with binary operator. |
lang::SignatureBinary<::zmbt::lang::Keyword::Re > const | Regex Alias for Re. |
lang::SignatureBinary<::zmbt::lang::Keyword::Repeat > const | Repeat Repeat value in list. |
lang::SignatureUnary<::zmbt::lang::Keyword::Reverse > const | Reverse Reverse sequence. |
lang::SignatureUnary<::zmbt::lang::Keyword::Round > const | Round Round to nearest integer. |
lang::SignatureVariadic<::zmbt::lang::Keyword::Saturate > const | Saturate Saturate matches in order. |
lang::SignatureUnary<::zmbt::lang::Keyword::Serialize > const | Serialize Serialize json as string. |
lang::SignatureBinary<::zmbt::lang::Keyword::SetEq > const | SetEq Equal as set. |
lang::SignatureUnary<::zmbt::lang::Keyword::Sign > const | Sign Sign. |
lang::SignatureUnary<::zmbt::lang::Keyword::Sin > const | Sin Sinus function. |
lang::SignatureUnary<::zmbt::lang::Keyword::Sinh > const | Sinh Hyperbolic sin. |
lang::SignatureUnary<::zmbt::lang::Keyword::Size > const | Size Sequence size. |
lang::SignatureBinary<::zmbt::lang::Keyword::Slide > const | Slide Sliding-window iteration. |
lang::SignatureBinary<::zmbt::lang::Keyword::Sort > const | Sort Sort list by key function. |
lang::SignatureUnary<::zmbt::lang::Keyword::Sqrt > const | Sqrt Square root. |
lang::SignatureUnary<::zmbt::lang::Keyword::Serialize > const | Str Alias for Serialize. |
lang::SignatureBinary<::zmbt::lang::Keyword::Stride > const | Stride Striding iteration. |
lang::SignatureBinary<::zmbt::lang::Keyword::Sub > const | Sub Subtraction. |
lang::SignatureBinary<::zmbt::lang::Keyword::Subset > const | Subset Is subset. |
lang::SignatureUnary<::zmbt::lang::Keyword::Sum > const | Sum Summation reduction. |
lang::SignatureBinary<::zmbt::lang::Keyword::Superset > const | Superset Is superset. |
lang::SignatureUnary<::zmbt::lang::Keyword::Tan > const | Tan Tangens function. |
lang::SignatureUnary<::zmbt::lang::Keyword::Tanh > const | Tanh Hyperbolic tan. |
lang::SignatureConst<::zmbt::lang::Keyword::Thread > const | Thread Thread id. |
lang::SignatureUnary<::zmbt::lang::Keyword::ToList > const | ToList Put argument into a list. |
lang::SignatureUnary<::zmbt::lang::Keyword::Transp > const | Transp Transpose multidimensional list, turning rows into columns. |
lang::SignatureConst<::zmbt::lang::Keyword::True > const | True Logical true. |
lang::SignatureUnary<::zmbt::lang::Keyword::Bool > const | Truthy Alias for Bool. |
lang::SignatureBinary<::zmbt::lang::Keyword::Try > const | Try Evaluate function and return result or null if it throws. |
lang::SignatureBinary<::zmbt::lang::Keyword::TryCatch > const | TryCatch Evaluate function and return result or error info if it throws. |
lang::SignatureUndecorate const | Uncast Alias for Undecorate. |
lang::SignatureUndecorate const | Undecorate Reserialize decorator as decorated type. |
lang::SignatureTernary<::zmbt::lang::Keyword::Unfold > const | Unfold Put results of recursive fn call on initial value into an array. |
lang::SignatureBinary<::zmbt::lang::Keyword::Union > const | Union Set union. |
lang::SignatureUnary<::zmbt::lang::Keyword::Uniques > const | Uniques Filter unique elements. |
lang::SignatureUnary<::zmbt::lang::Keyword::Values > const | Values Extract values from object. |
lang::SignatureConst<::zmbt::lang::Keyword::Noop > const | _ Alias for Noop. |
Public Attributes Documentation¶
variable Abs¶
Absolute value.
variable Acos¶
Arccos function.
variable Acosh¶
Hyperbolic arccos.
variable Add¶
Addition.
variable All¶
Match all predicates.
variable And¶
Logical and.
Generic behavior: if first operand is truthy, returns second operand, otherwise first
variable Any¶
Match any predicate.
variable Approx¶
Floating point approximately equal.
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 ]
variable Arange¶
Generate range of numbers.
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]
variable Argmax¶
Max value index by key function.
variable Argmin¶
Min value index by key function.
variable Asin¶
Arcsin function.
variable Asinh¶
Hyperbolic arcsin.
variable At¶
$
variable Atan¶
Arctan function.
variable Atanh¶
Hyperbolic arctan.
variable Avg¶
Arythmetic average.
variable Bind¶
!not implemented! bind design-time parameters
variable BitAnd¶
Bitwise and.
variable BitLshift¶
Bitwise left shift.
- \([ ] \mapsto [x, s] \mapsto x \texttt{ << } s\)
- \([s] \mapsto [x] \mapsto x \texttt{ << } s\)
variable BitNot¶
Bitwise not.
variable BitOr¶
Bitwise or.
variable BitRshift¶
Bitwise right shift.
- \([ ] ↦ [x, s] ↦ x \texttt{ >> } s\)
- \([s] ↦ [x] ↦ x \texttt{ >> } s\)
variable BitXor¶
Bitwise xor.
variable Bool¶
Predicate on boolean transform (aka truthy)
variable C¶
User-defined constant.
Produced expression will return the design-time parameter on evaluation, ignoring input.
variable Card¶
Set cardinality (uniques count)
variable Cartesian¶
Cartesian product.
variable Cast¶
Alias for Decorate.
variable Cat¶
Alias for Concat.
variable Ceil¶
Ceil.
variable Chunks¶
Split into chunks of specified max width.
Similar to Stride, but includes the last subsequence smaller then step width.
variable Compose¶
Compose functions.
variable Concat¶
Concatenate sequences.
variable Contains¶
Alias for Ni.
variable Cos¶
Cosinus function.
variable Cosh¶
Hyperbolic cos.
variable Count¶
Count matches by predicate param.
variable D¶
Alias for Default.
variable Decorate¶
Reserialize decorated type as decorator.
variable Default¶
Return x if not null, else return default value.
variable Diff¶
Set difference.
variable Div¶
Division.
- \([ ] \mapsto [x, y] \mapsto x / y\)
- \([y] \mapsto [x] \mapsto x / y\)
variable E¶
Euler's number.
variable Each¶
Test predicate for each item in a sequence.
Equivalent to Count(p | Not) | Eq(0)
variable Enumerate¶
Enumerate sequence.
Enumerate sequence with index.
variable Eps¶
Machine epsilon.
variable Eq¶
Is equal.
variable Erf¶
Error function.
variable Erfc¶
Error function complement.
variable Error¶
Error.
Error object (work in progress)
variable Exp¶
Exponential (e^x)
variable False¶
Logical false.
variable Falsy¶
Alias for Not.
variable Filter¶
Filter sequence by predicate param.
variable Flatten¶
Flatten nested list.
variable Flip¶
Flips design-time and eval-time parameters.
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.
variable Floor¶
Floor.
variable Fmt¶
Alias for Format.
variable Fold¶
Alias for Reduce.
variable Fork¶
Pack results from enveloped functions into an array.
Allows to combine different properties in a single expression
variable Format¶
Format string with the given parameter list.
Constant expressions are supported for the token list, s.t. "%s" | Fmt(Pi) produces "3.141592653589793E0"
variable Gamma¶
Gamma function.
variable Ge¶
Greater or equal.
variable Gt¶
Greater than.
variable Id¶
Identity function.
variable In¶
Element is in.
variable Inf¶
Infinity.
variable Intersect¶
Set intersection.
variable Items¶
Extract key-value pairs from object.
variable Keys¶
Extract keys from object.
variable Le¶
Lesser or equal.
variable Let¶
Alias for C.
variable Log¶
Logarithm.
Logarithm with base b: * \([ ] \mapsto [x, b] \mapsto log\_b(x)\) * \([b] \mapsto [x] \mapsto log\_b(x)\)
variable Lookup¶
Lookup table function.
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(...))
variable Lt¶
Lesser than.
variable Map¶
Apply param expr to every element of sequence.
variable Max¶
Max value by key function.
variable Min¶
Min value by key function.
variable Mod¶
Modulo.
Modulo of x: * \([ ] \mapsto [x, m] \mapsto x % m\) * \([m] \mapsto [x] \mapsto x % m\)
variable Mul¶
Multiplication.
variable NaN¶
Not a number.
variable Ne¶
Not equal.
variable Near¶
Alias for Approx.
variable Neg¶
Negate.
variable Ni¶
Contains element.
variable Nil¶
Alias for Not.
variable Noop¶
No operation.
Returns true without input validation. Used in place of matchers for uninteresting signals.
variable Not¶
Logical complement.
variable NotIn¶
Element is not in.
variable NotNi¶
Not contains element.
variable Null¶
Null value.
variable Op¶
Alias for Overload.
variable Or¶
Logical or.
Generic behavior: if first operand is truthy, returns first operand, second otherwise
variable Overload¶
Bind type-specific operator handler to function.
Expression Overload(op, f) instructs f to use operator op on invocation instead of the default generic.
Operator parameter singleton can be referenced with string key or constructed in place using type<T> tag.
This operator handler is propagated downstream to all terminal subexpression in f
. Result of f(x)
is also reserialized (undecorated) as operator type, unless f is constant or boolean expression.
variable Parse¶
Parse string as json.
variable Pi¶
Pi constant.
variable Pow¶
To power.
X to power p * \([ ] \mapsto [x, p] \mapsto x^p\) * \([p] \mapsto [x] \mapsto x^p\)
variable Prod¶
Multiplication reduction.
Equivalent to Reduce(Mul)
variable ProperSubset¶
Is proper subset.
variable ProperSuperset¶
Is proper superset.
variable Push¶
Push element into a front of sequence.
variable Quot¶
Quotient.
Quotient of x: * \([ ] \mapsto [x, d] \mapsto x // d\) * \([d] \mapsto [x] \mapsto x // d\)
variable Re¶
Regular expression match.
If input is not a string, match it's serialized form.
variable Recur¶
Apply recursion to parameter expr and initial value.
n | Recur(f, x)
\(\mapsto ◯ⁿ f(x)\)
variable Reduce¶
Reduce sequence with binary operator.
To set specific initial value, use composition with Push, e.g. Push(0) | Reduce(Add)
For reverse operation, see Unfold
variable Regex¶
Alias for Re.
variable Repeat¶
Repeat value in list.
variable Reverse¶
Reverse sequence.
variable Round¶
Round to nearest integer.
Hint: To round to ndigits precision after the decimal point, use Mul(ndigits) | Round | Div(ndigits)
combo.
variable Saturate¶
Saturate matches in order.
variable Serialize¶
Serialize json as string.
variable SetEq¶
Equal as set.
variable Sign¶
Sign.
variable Sin¶
Sinus function.
variable Sinh¶
Hyperbolic sin.
variable Size¶
Sequence size.
variable Slide¶
Sliding-window iteration.
Sliding window iteration by specified window width.
variable Sort¶
Sort list by key function.
variable Sqrt¶
Square root.
variable Str¶
Alias for Serialize.
variable Stride¶
Striding iteration.
Striding iteration by specified step width. Reminder subsequence smaller then step width is discarded.
variable Sub¶
Subtraction.
variable Subset¶
Is subset.
variable Sum¶
Summation reduction.
Equivalent to Reduce(Add)
variable Superset¶
Is superset.
variable Tan¶
Tangens function.
variable Tanh¶
Hyperbolic tan.
variable Thread¶
Thread id.
Not really a constant, but useful for branching the test input conditions.
variable ToList¶
Put argument into a list.
Equivalent to At([""])
variable Transp¶
Transpose multidimensional list, turning rows into columns.
May be used to zip sequences of equal length.
variable True¶
Logical true.
variable Truthy¶
Alias for Bool.
variable Try¶
Evaluate function and return result or null if it throws.
variable TryCatch¶
Evaluate function and return result or error info if it throws.
variable Uncast¶
Alias for Undecorate.
variable Undecorate¶
Reserialize decorator as decorated type.
variable Unfold¶
Put results of recursive fn call on initial value into an array.
n | Unfold(f, x)
\(\mapsto [x, ◯¹f(x), ◯²f(x), ..., ◯ⁿ f(x)]\)
variable Union¶
Set union.
variable Uniques¶
Filter unique elements.
variable Values¶
Extract values from object.
variable _¶
Alias for Noop.
The documentation for this class was generated from the following file zmbt-framework/zmbt-framework/backends/cxx/include/zmbt/expr/api.hpp