Right now integrating with RuleBasedMethod(verbose=true) sets a global variable to true. this is not thread-safe. But carrying the setting as a parameter through the call chain and using it locally is not so simple.
the reason i made it global is that some rules if applied call the utlity function int_and_subst, that is like a change of variable: first integrate an expression and then substitute in the result another expression. To make the printing of rules behave correctly, the int_and_subst function prints the rule that called it, and then silences it using the SILENCE global variable so that it is not printed twice when the result is returned.
All this to say that i need to know in the int_and_subst function if verbose is true, and i cannot do this without a global variable. Whitout a global variable I would need somehow to pass the verbose parameter to the rule that calls int_and_subst, but rules have only one parameter and no keyword arguments
I tought about this for a bit but I cant come up with a way to communicate to int_and_subst function the verbose flag without a global variable
Right now integrating with
RuleBasedMethod(verbose=true)sets a global variable to true. this is not thread-safe. But carrying the setting as a parameter through the call chain and using it locally is not so simple.the reason i made it global is that some rules if applied call the utlity function
int_and_subst, that is like a change of variable: first integrate an expression and then substitute in the result another expression. To make the printing of rules behave correctly, theint_and_substfunction prints the rule that called it, and then silences it using the SILENCE global variable so that it is not printed twice when the result is returned.All this to say that i need to know in the int_and_subst function if verbose is true, and i cannot do this without a global variable. Whitout a global variable I would need somehow to pass the verbose parameter to the rule that calls
int_and_subst, but rules have only one parameter and no keyword argumentsI tought about this for a bit but I cant come up with a way to communicate to
int_and_substfunction the verbose flag without a global variable