Skip to content

Commit 32c7dbf

Browse files
authored
Minor cleaning of FAQ (#487)
1 parent 7f92f4d commit 32c7dbf

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

docs/src/FAQ.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,16 @@ This means your package can depend on the light-weight ChainRulesCore.jl, and ma
8484

8585
Remember to read the section [On writing good `rrule` / `frule` methods](@ref).
8686

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+
8797
## Where can I learn more about AD ?
8898
There are not so many truly excellent learning resources for autodiff out there in the world, which is a bit sad.
8999
The list here is incomplete, but is vetted for quality.
@@ -100,15 +110,4 @@ The list here is incomplete, but is vetted for quality.
100110

101111
- [Diff-Zoo Jupyter Notebook Book](https://github.com/MikeInnes/diff-zoo) (by [Mike Innes](https://github.com/MikeInnes/diff-zoo), has implementations and explanations.
102112

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

Comments
 (0)