Skip to content

Use ChainRules types #603

@oxinabox

Description

@oxinabox

This issue is about swapping Zygote over to use ChainRule's types by default.
When #366 is merged rules coming out of ChainRules will use its types like Composite and AbstractZero,
but thing created via Source Code Transform (SCT) will still use NamedTuple and nothing.

This is fine as they are mutually compatible because accum falls back to + and ChainRules overloads +.

The use of Base types in Zygote tends to cause issues as its hard to add methods for NamedTuple and nothing, due to type piracy.
Especially things like defining linear operations on them (e.g. overloading things from LinearAlgebra), as well as defining addition +.
Particular discussion on Composite ans structured differential types is in #462

Related to:
#454 #419 #329

Metadata

Metadata

Assignees

No one assigned

    Labels

    ChainRulesadjoint -> rrule, and further integrationhelp wantedExtra attention is neededup for grabsanyone is welcome to contribute with a PR to fix the issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions