Portability | non-portable |
---|---|

Stability | experimental |

Maintainer | generics@haskell.org |

Summary: Deep generic seq. Used to fully evaluate a term.

# Documentation

A general class for expressing deep seq. It is used in the `K`

case for
the generic seq.

We do not give an instance of the form
`instance (Regular a, Seq (PF a)) => DeepSeq a where dseq = gdseq`

because this requires undecidable instances. However, any type for which
there is a generic instance can be given a trivial instance of `DeepSeq`

by
using `gdseq`

.

The class for generic deep seq.