# How to use the rule set from ChainRules.jl?

**URL:** <https://discourse.julialang.org/t/how-to-use-the-rule-set-from-chainrules-jl/93658>\
**Category:** Optimization (Mathematical)\
**Tags:** autodiff\
**Created:** [January 27, 2023, 7:05pm UTC](https://discourse.julialang.org/t/how-to-use-the-rule-set-from-chainrules-jl/93658 "2023-01-27T19:05:25Z")\
**Posts on this page:** 2\
**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 27, 2023, 7:05pm UTC](https://discourse.julialang.org/t/how-to-use-the-rule-set-from-chainrules-jl/93658/1 "2023-01-27T19:05:25Z")

</div>

What is the best way to use the ruleset from ChainRules.jl if you want to build an AD engine based on operator overloading.  
I can’t find much useful information in the ChainRules documentation, nor in the ChainRulesOverloadGeneration.jl documentation. This example: [Reverse Mode · ChainRules Overload Generation](https://juliadiff.org/ChainRulesOverloadGeneration.jl/dev/examples/reverse_mode.html) only shows how to use ChainRulesOverloadGeneration.jl in combination with ChainRulesCore but not in combination with the actual rule set in ChainRules.jl

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [January 30, 2023, 10:10pm UTC](https://discourse.julialang.org/t/how-to-use-the-rule-set-from-chainrules-jl/93658/2 "2023-01-30T22:10:59Z")

</div>

Is this a different question to [How to access the rule set of ChainRules.jl?](https://discourse.julialang.org/t/how-to-access-the-rule-set-of-chainrules-jl/93534)?
