Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BooleanExpression using a binary operation "action enum". #5

Open
daemontus opened this issue Feb 7, 2020 · 1 comment
Open

BooleanExpression using a binary operation "action enum". #5

daemontus opened this issue Feb 7, 2020 · 1 comment
Labels
enhancement New feature or request
Milestone

Comments

@daemontus
Copy link
Member

BooleanExpression should use a BinaryOp for the binary boolean operations instead of explicitly specifying all five options. Also, it might be a good idea to move BooleanExpression to standard library entirely, because it can be used by other crates that need to work with formulas as well. In fact, standard library should provide some kind of extensible generic parser where one can define boolean expressions with custom atomic propositions.

@daemontus daemontus added the enhancement New feature or request label Feb 7, 2020
@daemontus daemontus added this to the 1.0.0 milestone Aug 30, 2021
@daemontus daemontus changed the title BooleanExpression using BinaryOp (or move to std lib) BooleanExpression using binary operations instead of listing all operations. Aug 30, 2021
@daemontus daemontus changed the title BooleanExpression using binary operations instead of listing all operations. BooleanExpression using a binary operation "action enum". Aug 30, 2021
@daemontus
Copy link
Member Author

Overall, I believe this should really be its own crate and also support (at least) first order logic and some other useful stuff, such as generic propositions as mentioned above, or maybe even some basic temporal logic. However, that would require a lot of work that I'm not sure can be completed before 1.0.0. So for now, the plan is to keep it in this crate but make the API a bit less painful by not having 5 different recursive type cases for something that can be solved via an enum.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant