Module Language.Curry.CheckOperations

Set functions are intended to exist for every top-level function. The operation checkSetUse detects unintended uses of set funtions. Furthermore, the operation checkBlacklistUse checks whether internal operations like Prelude.=:<= or Prelude.prim_ are used in a Curry program.

See programs SetFuns.curry and NonStrictUniv.curry in the package directory examples for some examples.

Author: Michael Hanus

Version: February 2023

Summary of exported operations:

checkSetUse :: Prog -> IO [((String,String),String)]  Non-deterministic 
Returns messages about unintended uses of set functions in a FlatCurry program.
checkBlacklistUse :: CurryProg -> IO [((String,String),String)]  Non-deterministic 
Returns messages about uses of black-listed operations occurring in an AbstractCurry program.

Exported operations:

checkSetUse :: Prog -> IO [((String,String),String)]  Non-deterministic 

Returns messages about unintended uses of set functions in a FlatCurry program.

checkBlacklistUse :: CurryProg -> IO [((String,String),String)]  Non-deterministic 

Returns messages about uses of black-listed operations occurring in an AbstractCurry program.