Note [dyn_caf_list]
If we are in GHCi _and_ we are using dynamic libraries, then we can't redirect newCAF calls to newRetainedCAF (see below), so we make newCAF behave almost like newRetainedCAF. The dynamic libraries might be used by both the interpreted program and GHCi itself, so they must not be reverted. This also means that in GHCi with dynamic libraries, CAFs are not garbage collected. If this turns out to be a problem, we could do another hack here and do an address range test on caf to figure out whether it is from a dynamic library.
References 0
This Note does not link to any other.