Module CurryCheck

This is the main module of the implementation of the CurryCheck tool. It performs various checks on Curry programs:

  • Correct usage of set functions, non-strict unification, default rules, DET annotations, contracts
  • All EasyCheck tests are extracted and checked
  • For all functions declared as deterministic, determinism properties are generated and checked.
  • For functions with postconditions (f'post), checks for postconditions are generated (together with possible preconditions)
  • For functions with specification (f'spec), checks for satisfaction of these specifications are generated (together with possible preconditions).

Author: Michael Hanus, Jan-Patrick Baye

Version: May 2025

Summary of exported operations:

main :: IO ()  Non-deterministic 

Exported operations:

main :: IO ()  Non-deterministic 

Further infos:
  • might behave indeterministically