Friendly Enough Expression Language
Expressing Decisions' FEELings
FEEL
-
Friendly Enough Expression Language
-
An expression language to describe the value expression of decision logic by mapping the inputs to outputs
-
Simple enough for a wide audience to understand
-
Standardised executable semantics, grammar and rules
Characteristics
-
Inspired from multiple other languages
-
Names of variables and functions may contain spaces, apostrophes and other characters
-
Reference elements of compound variables with qualified names (
x.y.z) syntax -
Not a programming language
-
Simple but powerful data model
-
Side-effect free
-
Three valued logic (
true,false,null) -
Powerful built-in functions
Built-In Types
-
String (
"Hello, World") -
Boolean (
true,false) -
Number (
2) -
Time
-
Date (
date("2023-07-08")) -
Time (
time("11:11:11")) -
Date and Time (
date and time("2023-05-27T16:30:52")) -
Days and Time Duration (
duration("P1DT2H33M")) -
Years and Months Duration (
duration("P3Y4M7D"))
-
-
Complex structures also possible by grouping the simple types and/or restricting values, strongly typed
Other FEEL Constructs
-
Negation, Ranges, Disjunction
-
not(>10) -
[33..42) -
22,33,[42..64],>102 -
date and time("2023-12-05T12:00:00" .. date and time("2025-03-17T14:33:22")
-
-
Lists
-
If..then..else
-
For..return
-
Sort