Skip to content

JuliaDiff/ChainRulesDeclarationHelpers.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChainRulesDeclarationHelpers

Build Status Coverage Code Style: Blue ColPrac: Contributor's Guide on Collaborative Practices for Community Packages DOI

Docs:

The ChainRulesDeclarationHelpers package provides a suite of functionality for defining ChainRulesCore.jl rules.

It is a fair bit more experimental than ChainRulesCore, and also a bit more heavy-weight to load as it uses some packages to help write macros. If you care about staying ultra-light weight stick to just using ChainRulesCore directly. If you want to be sure to not need to deal with breaking changes, stick to just using ChainRulesCore directly. If you want to get rid of some boiler-plate, and don't mind giving up either of those things, you have come to the right place.

ChainRulesCore does define some helper macros of it's own, like @nondifferentiable and @scalar_rule. They are fairly limited, though useful. As anyone who has ever looked on the inside of them they are pretty complex, this is because they need to process fairly complicated ASTs, but due to ChainRulesCore's ultra-lightweight policy, they can't add any dependencies on packages that would make that easier.