arcalot / arcaflow-expressions

Expressions language for Arcaflow
Apache License 2.0
0 stars 0 forks source link

Top level API #4

Closed janosdebugs closed 1 year ago

janosdebugs commented 1 year ago

Changes introduced with this PR

This change moves the AST into an internal package and adds a top level API that will make expressions simpler to use. The main reason behind this change is to make sure we don't need to change the engine every time the expression language changes. See the readme in the PR for details.

This is a breaking change.


By contributing to this repository, I agree to the contribution guidelines.

janosdebugs commented 1 year ago

@jaredoconnell I've added the requested comments. Furthermore, I removed the automatic type conversion (int enums to ints) and delegating it to the user to convert with functions.

A note for functions: the functions need to have the flexibility to decide on their own if they are able to handle a certain input type (e.g. in case of enum conversions some functions may be able to deal with any enum, while others may only deal with specific enums).