You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/src/FAQ.md
+11-12Lines changed: 11 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -84,6 +84,16 @@ This means your package can depend on the light-weight ChainRulesCore.jl, and ma
84
84
85
85
Remember to read the section [On writing good `rrule` / `frule` methods](@ref).
86
86
87
+
## Is removing a thunk a breaking change?
88
+
Removing thunks is not considered a breaking change.
89
+
This is because (in principle) removing them changes the implementation of the values
90
+
returned by an `rrule`, not the value that they represent.
91
+
This is morally the same as similar issues [discussed in ColPrac](https://github.com/SciML/ColPrac#changes-that-are-not-considered-breaking), such as details of floating point arithmetic changing.
92
+
93
+
On a practical level, it's important that this is the case because thunks are a bit of a hack,
94
+
and over time it is hoped that the need for them will reduce, as they increase
95
+
code-complexity and place additional stress on the compiler.
96
+
87
97
## Where can I learn more about AD ?
88
98
There are not so many truly excellent learning resources for autodiff out there in the world, which is a bit sad.
89
99
The list here is incomplete, but is vetted for quality.
@@ -100,15 +110,4 @@ The list here is incomplete, but is vetted for quality.
100
110
101
111
-[Diff-Zoo Jupyter Notebook Book](https://github.com/MikeInnes/diff-zoo) (by [Mike Innes](https://github.com/MikeInnes/diff-zoo), has implementations and explanations.
102
112
103
-
-["Evaluating Derivatives"](https://dl.acm.org/doi/book/10.5555/1455489) (by Griewank and Walther) is the best book at least for reverse-mode.
104
-
It also covers forward-mode though (by its own admission) not as well, it never mentioned dual numbers which is an unfortunate lack.
105
-
106
-
## Is removing a thunk a breaking change?
107
-
Removing thunks is not considered a breaking change.
108
-
This is because (in principle) removing them changes the implementation of the values
109
-
returned by an `rrule`, not the value that they represent.
110
-
This is morally the same as similar issues [discussed in ColPrac](https://github.com/SciML/ColPrac#changes-that-are-not-considered-breaking), such as details of floating point arithmetic changing.
111
-
112
-
On a practical level, it's important that this is the case because thunks are a bit of a hack,
113
-
and over time it is hoped that the need for them will reduce, as they increase
114
-
code-complexity and place additional stress on the compiler.
113
+
-["Evaluating Derivatives"](https://dl.acm.org/doi/book/10.5555/1455489) (by Griewank and Walther) is the best book at least for reverse-mode. It also covers forward-mode though (by its own admission) not as well, it never mentioned dual numbers which is an unfortunate lack.
0 commit comments