You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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
changed the title
BooleanExpression using binary operations instead of listing all operations.
BooleanExpression using a binary operation "action enum".
Aug 30, 2021
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.
BooleanExpression
should use aBinaryOp
for the binary boolean operations instead of explicitly specifying all five options. Also, it might be a good idea to moveBooleanExpression
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.The text was updated successfully, but these errors were encountered: