# How to access the rule set of ChainRules.jl?

**URL:** <https://discourse.julialang.org/t/how-to-access-the-rule-set-of-chainrules-jl/93534>\
**Category:** Optimization (Mathematical)\
**Tags:** autodiff\
**Created:** [January 25, 2023, 8:04pm UTC](https://discourse.julialang.org/t/how-to-access-the-rule-set-of-chainrules-jl/93534 "2023-01-25T20:04:07Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jonas208](https://avatars.discourse-cdn.com/v4/letter/j/85f322/32.png) [@Jonas208](https://discourse.julialang.org/u/Jonas208)\
**Post date:** [January 25, 2023, 8:04pm UTC](https://discourse.julialang.org/t/how-to-access-the-rule-set-of-chainrules-jl/93534/1 "2023-01-25T20:04:07Z")

</div>

I’m not quite sure if I chose the right domain. However, this question is about automatic differentiation.

My plan is to overload all functions (for my own tracked real/array type) for which rules exist in ChainRules.jl.  
Is there a way to do this automatically, or is there a list of all rules that ChainRules.jl contains that allows all functions to be automatically overloaded?

---

<div class="post-metadata">

**Author:** ![ToucheSir](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/touchesir/32/14411_2.png) [@ToucheSir](https://discourse.julialang.org/u/ToucheSir)\
**Post date:** [January 25, 2023, 8:14pm UTC](https://discourse.julialang.org/t/how-to-access-the-rule-set-of-chainrules-jl/93534/2 "2023-01-25T20:14:21Z")

</div>

I believe [GitHub - JuliaDiff/ChainRulesOverloadGeneration.jl: Tools to help generate operator overloads based on ChainRules](https://github.com/JuliaDiff/ChainRulesOverloadGeneration.jl) was created for this purpose. [GitHub - gaurav-arya/StochasticAD.jl: Research package for automatic differentiation of programs containing discrete randomness.](https://github.com/gaurav-arya/StochasticAD.jl) and [GitHub - invenia/Nabla.jl: A operator overloading, tape-based, reverse-mode AD](https://github.com/invenia/Nabla.jl) use it. However, I’ve also heard it has a number of sharp edges, so if you run into any time sensitive issues you might want to ask on the Slack #autodiff channel.

---

<div class="post-metadata">

**Author:** ![Jonas208](https://avatars.discourse-cdn.com/v4/letter/j/85f322/32.png) [@Jonas208](https://discourse.julialang.org/u/Jonas208)\
**Post date:** [January 25, 2023, 8:24pm UTC](https://discourse.julialang.org/t/how-to-access-the-rule-set-of-chainrules-jl/93534/3 "2023-01-25T20:24:38Z")

</div>

Okay, thank you! Then I’ll take a look at the whole thing.
