-
Notifications
You must be signed in to change notification settings - Fork 63
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
Overload generation mode: support enumerating the rules #127
Comments
Probably we want to actually return a collection of |
Key tool is being made in |
details on issue with this; Consider:
and we had packages and the user did:
then AD.jl would not see the There is a callback/hook in base that happens each time a new package is loaded, |
Wants invenia/ExprTools.jl#2 |
Might want to retitle this as I think we may want to make it a first class way of using ChainRules. Because Cassette type-inference issues do not seem to be going away anytime soon |
I think i have been over engineering this. I think we can just solve this via:
Only thing missing is that I think it would be good if we had the |
Right now, we don't provide any way to list out all rules.
A bunch of packages that use DiffRules assume that that is possible.
And then they take that list and use metaprogramming to overload some methods.
I am thinking we should maybe provide a legacy support function that does this.
That uses
methods(frule)
and then filters it for things that promise not to returnnothing
.And we call it something that makes it clear that it is not advised to use this.
Since it prevents extensibility in other packages)
(but we can give advise to e.g. ensure the latest set of rules can be loaded via calling
update_rules
or something.)The text was updated successfully, but these errors were encountered: