HORIZON HASKELLDocslts/ghc-9.14.x7a6c33e2026-10-12Search packagesCtrl K
Theme: |

GHC 9.14.1 · lts/ghc-9.14.x · 7a6c33e · 2026-10-12

ModuleAgda-2.8.0.2Haskell2010

Agda.Termination.RecCheck

Checking for recursion:

  • We detect truly (co)recursive definitions by computing the dependency graph and checking for cycles.

  • This is inexpensive and let us skip the termination check when there's no (co)recursion

Original contribution by Andrea Vezzosi (sanzhiyan). This implementation by Andreas.

Synopsis
  • PackageAgda-2.8.0.2
  • Exports3
  • LanguageHaskell2010
  • LicenceMIT
  • SourceRecCheck.hs
typetype MutualNames = Set QName

The mutual block we are checking.

The functions are numbered according to their order of appearance in this set.

Given a list of formally mutually recursive functions, check for actual recursive calls in the bodies of these functions. Returns the actually recursive functions as strongly connected components.

As a side effect, update the clauseRecursive field in the clauses belonging to the given functions.