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
#996 puts the manifest the need to check if the rules included in the rule attribute of Builtin symbols are loaded or not. This happens for example when a rule in one Builtin symbol tries to define another symbol. In that case, the symbol Quit includes a rule to define the alias Exit with the rule Exit[n___]->Quit[n]. The problem is that this rule does not define a DownValue / Upvalue/ Subvalue; in the end, it is never added as a definition in the Definitions object.
I do not have a clear idea of the best way to handle this kind of case: One thing would be to create the Definition for the symbol (if it was not already loaded) and then add the rule. This has certain complexities and drawbacks: for example, if there is a Builtin, should the rule have higher priority than the rules in the Builtin?
The other way (much simpler) would be to just to add a warning when the rule cannot be associated to a *Value of the Builtin we are processing.
The text was updated successfully, but these errors were encountered:
This is related to #1000. There are some rules included in the `Builtin.rules` property that cannot be loaded. With this PR, if this happens, a warning is printed. In any case, the idea is to fix these cases before merging this PR.
---------
Co-authored-by: R. Bernstein <[email protected]>
#996 puts the manifest the need to check if the rules included in the
rule
attribute ofBuiltin
symbols are loaded or not. This happens for example when a rule in one Builtin symbol tries to define another symbol. In that case, the symbolQuit
includes a rule to define the aliasExit
with the ruleExit[n___]->Quit[n]
. The problem is that this rule does not define a DownValue / Upvalue/ Subvalue; in the end, it is never added as a definition in the Definitions object.I do not have a clear idea of the best way to handle this kind of case: One thing would be to create the Definition for the symbol (if it was not already loaded) and then add the rule. This has certain complexities and drawbacks: for example, if there is a Builtin, should the rule have higher priority than the rules in the Builtin?
The other way (much simpler) would be to just to add a warning when the rule cannot be associated to a *Value of the Builtin we are processing.
The text was updated successfully, but these errors were encountered: