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
Variables could have conditions/validations in them, which could be used for expressing conditions like a > 5 or a!=5 or a > b or a!=b. Basically this would be Logical's defacto constraint system and would make it possible to implement negation in this way. (So much for being negation free :D)
A condition in this case would be a function with the following signature:
state -> value_a -> value_b -> state option
This would mean that a condition can remove a state if it thinks that it's faulty and we would run this check during the unify process.
Using two variables in a condition is a little bit tricky, because in this case the two variables must share the condition, because we can't be sure which variable will be the last to get a value a be able to check the conditions.
Another tricky part is that a condition should pass when it can't evaluate the expression, because one or both variables doesn't have a value.
Conditions are the same type wise as unify, so maybe we can make this whole concept more general by making unify into a condition also. Although unify is a very basic building block of the system.
The text was updated successfully, but these errors were encountered:
Variables could have conditions/validations in them, which could be used for expressing conditions like a > 5 or a!=5 or a > b or a!=b. Basically this would be Logical's defacto constraint system and would make it possible to implement negation in this way. (So much for being negation free :D)
A condition in this case would be a function with the following signature:
state -> value_a -> value_b -> state option
This would mean that a condition can remove a state if it thinks that it's faulty and we would run this check during the unify process.
Using two variables in a condition is a little bit tricky, because in this case the two variables must share the condition, because we can't be sure which variable will be the last to get a value a be able to check the conditions.
Another tricky part is that a condition should pass when it can't evaluate the expression, because one or both variables doesn't have a value.
Conditions are the same type wise as unify, so maybe we can make this whole concept more general by making unify into a condition also. Although unify is a very basic building block of the system.
The text was updated successfully, but these errors were encountered: