ForSyDe-3.1.1: ForSyDe's Haskell-embedded Domain Specific Language.

Portabilityportable
Stabilityexperimental
Maintainerforsyde-dev@ict.kth.se

ForSyDe.Shallow.AbsentExt

Description

The AbstExt is used to extend existing data types with the value 'absent', which models the absence of a value.

Synopsis

Documentation

data AbstExt a Source

The data type AbstExt has two constructors. The constructor Abst is used to model the absence of a value, while the constructor Prst is used to model present values.

Constructors

Abst 
Prst a 

Instances

Eq a => Eq (AbstExt a) 
Read a => Read (AbstExt a) 
Show a => Show (AbstExt a)

The data type AbstExt is defined as an instance of Show and Read. '_' represents the value Abst while a present value is represented with its value, e.g. Prst 1 is represented as '1'.

fromAbstExt :: a -> AbstExt a -> aSource

The function fromAbstExt converts a value from a extended value.

abstExt :: a -> AbstExt aSource

The function abstExt converts a usual value to a present value.

psi :: (a -> b) -> AbstExt a -> AbstExt bSource

The function psi is identical to abstExtFunc and should be used in future.

isAbsent :: AbstExt a -> BoolSource

The functions isAbsent checks for the absence of a value.

isPresent :: AbstExt a -> BoolSource

The functions isPresent checks for the presence of a value.

abstExtFunc :: (a -> b) -> AbstExt a -> AbstExt bSource

The function abstExtFunc extends a function in order to process absent extended values. If the input is ("bottom"), the output will also be ("bottom").