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: December 2018

Summary of exported operations:

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

Exported operations:

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

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

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

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