仓库指标
- Star
- (1,568 star)
- PR 合并指标
- (平均合并 2天 16小时) (30 天内合并 39 个 PR)
描述
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