Module UsageCheck

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 example program Examples/UsageErrors.curry for some examples.

Author: Michael Hanus

Version: July 2021

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.