Notable changes between the WIP draft and the v1 specification are:
- Specify error types
- Clarify return values of expressions that encounter errors
- Clarify that missing attributes result in an error and the expression
returning it's default value - Add support for boolean to integer and integer to boolean type casting
- Clarify the order of operations
- Clarify how user defined functions work
- Define the default "zero" values for the built in types
- Clarify that string comparisons are case sensitive
- Specify which characters are treated as whitespace for the TRIM function
- Specify that functions must still return values along with errors, as well as
the behaviour when user defined function do not do this correctly - For the fail fast error handling mode, expressions now return the zero value
for their return type when they encounter an error, rather than undefined