Module CheckDetUsage

Deterministic operations are marked by wrapping the result type of top-level operations with the type synonym Prelude.DET. This module defines the operation checkDetUse which detects unintended uses of this type synonym.

See example program Examples/UsageErrors.curry for some examples.

Author: Michael Hanus

Version: October 2016

Summary of exported operations:

containsDetOperations :: CurryProg -> Bool   
Does a Curr program contains operations with DET annotations?
checkDetUse :: CurryProg -> [((String,String),String)]   
Returns messages about unintended uses of type synonym DET in a Curry program.

Exported operations:

containsDetOperations :: CurryProg -> Bool   

Does a Curr program contains operations with DET annotations?

checkDetUse :: CurryProg -> [((String,String),String)]   

Returns messages about unintended uses of type synonym DET in a Curry program.