Pattern completeness and totally definedness analysis for Curry programs
This analysis checks for each function in a Curry program whether this function is completely defined, i.e., reducible on all ground constructor terms
Author: Johannes Koj, Michael Hanus
Version: May 2013
showSibling
:: AOutFormat -> [(String,String)] -> String
An analysis to compute the sibling constructors (belonging to the same data type) for a data constructor. |
siblingCons
:: Analysis [(String,String)]
|
totalAnalysis
:: Analysis Bool
A function is totally defined if it is pattern complete and depends only on totally defined functions. |
showTotally
:: AOutFormat -> Bool -> String
|
patCompAnalysis
:: Analysis Completeness
Pattern completeness analysis |
showComplete
:: AOutFormat -> Completeness -> String
|
Constructors:
Complete
:: Completeness
InComplete
:: Completeness
InCompleteOr
:: Completeness
An analysis to compute the sibling constructors (belonging to the same data type) for a data constructor. Shows the result of the sibling constructors analysis, i.e., shows a list of constructor names. |
|
A function is totally defined if it is pattern complete and depends only on totally defined functions. |
|
Pattern completeness analysis |
|