FEEL

FEEL language constructs: the complete grammar

FEEL is a complete expression language, not just a function library: it has conditionals, iteration, quantifiers, list filters, ranges and inline function definitions. These are the constructs of the grammar itself, each with engine-verified examples you can open in the evaluator. Every result below was computed by a real FEEL engine at build time; try any expression in the free online FEEL evaluator.

ConstructSyntax
if … then … elseif condition then expression else expression
for … in … returnfor name in list return expression
some … satisfiessome name in list satisfies condition
every … satisfiesevery name in list satisfies condition
list filter […]list[condition] · list[index]
list projection (path on a list)listOfContexts.entryName
path access (.)context.entryName
context literal {…}{ name: expression, name: expression }
range / interval[a..b] · (a..b) · [a..b)
invalue in list · value in range · value in (test, test)
unary tests (decision table cells)< 10 · [1..10] · 1, 2, 3 · not(1, 2)
between … andvalue between low and high
instance ofvalue instance of type
function definitionfunction(param, param) expression
arithmetic operators+ - * / **
comparison and boolean operators= != < <= > >= · and or
temporal literals @"…"@"2026-07-01" · @"P3D" · @"10:30:00"
null and error propagationnull

Looking for a built-in instead? See the complete FEEL function reference, the examples cheat sheet, or the FEEL vs B-FEEL comparison.