Module Analysis.SensibleTypes

A type is sensible if there exists at least one value of this type. This module contains an analysis which associates to each type constructor the following information:

  • sensible, i.e., there is always some value of this type
  • parametric sensible, i.e., it is sensible of all type arguments are instantiated with sensible types
  • not sensible, i.e., maybe not sensible

Summary of exported operations:

showSensible :: AOutFormat -> Sensible -> String  Deterministic 
sensibleType :: Analysis Sensible  Deterministic 

Exported datatypes:


Sensible

Datatype to represent sensible type information.

Constructors:

  • NotSensible :: Sensible
  • PSensible :: Sensible
  • Sensible :: Sensible

Exported operations:

showSensible :: AOutFormat -> Sensible -> String  Deterministic 

Further infos:
  • solution complete, i.e., able to compute all solutions