-
Notifications
You must be signed in to change notification settings - Fork 65
Description
This is the "proper" way to solve #5,
since it will let us avoid all the recompilation stuff.
And it makes the code less "magic"
From @ararslan in JuliaDiff/ChainRules.jl#37 (comment)
According to @jrevels, the use of Cassette in this package is purely an implementation detail and could be replaced with regular ol' multiple dispatch. The reason why Jarrett didn't do that to begin with is it requires defining a fair number of methods to resolve ambiguities between the various differential types, rule types, etc. I think going that route will be a cleaner solution overall than replacing the dependency on Cassette with on one IRTools.
See old PR JuliaDiff/ChainRules.jl#38
I am not 100% convinced this is required, particularly if we can just @inline
our overdubs and make the compiler optimize them out of existance.
But it is something we should think about.