Safe Haskell  None 

Language  Haskell2010 
 type Variable = String
 data Approximation a
 fromExact :: Approximation a > a
 upperBound :: a > Approximation a
 lowerBound :: a > Approximation a
 absoluteRep :: Int
 type RegionEnv = [(String, RegionSum)]
 type SpecDecls = [([String], Specification)]
 pprintSpecDecls :: SpecDecls > String
 lookupAggregate :: Eq a => [([a], b)] > a > [b]
 data Specification = Specification (Multiplicity (Approximation Spatial))
 isEmpty :: Specification > Bool
 data Spatial = Spatial RegionSum
 fromBool :: Bool > Linearity
 hasDuplicates :: Eq a => [a] > ([a], Bool)
 fromMult :: Multiplicity a > a
 setLinearity :: Linearity > Specification > Specification
 data Linearity
 data Multiplicity a
 type Dimension = Int
 type Depth = Int
 type IsRefl = Bool
 data Region where
 getDimension :: Region > Dimension
 newtype RegionProd = Product {}
 newtype RegionSum = Sum {
 unSum :: [RegionProd]
 regionPlus :: Region > Region > Maybe Region
 absorbReflexive :: [Region] > [Region] > Maybe ([Region], [Region])
 absorbReflexive' :: [Region] > [Region] > Maybe ([Region], [t])
 distAndOverlaps :: [Region] > [Region] > Maybe [Region]
 distAndOverlaps' :: [Region] > [Region] > Maybe [Region]
 class RegionRig t where
 showL :: Show a => [a] > String
 showProdSpecs :: Show a => [a] > String
 showSumSpecs :: Show a => [a] > String
 showRegion :: (Show a1, Show a) => [Char] > a > a1 > Bool > [Char]
 groupKeyBy :: Eq b => [(a, b)] > [([a], b)]
Documentation
0. Representations
data Approximation a Source #
Functor Approximation Source #  
Eq a => Eq (Approximation a) Source #  
Data a => Data (Approximation a) Source #  
Show (Multiplicity (Approximation Spatial)) Source #  
Show a => Show (Approximation a) Source #  
Show (Approximation Spatial) Source #  
RegionRig (Approximation Spatial) Source #  
Model (Multiplicity (Approximation Spatial)) Source #  
Model (Approximation Spatial) Source #  
type Domain (Multiplicity (Approximation Spatial)) Source #  
type Domain (Approximation Spatial) Source #  
fromExact :: Approximation a > a Source #
upperBound :: a > Approximation a Source #
lowerBound :: a > Approximation a Source #
absoluteRep :: Int Source #
1 . Specification syntax
type SpecDecls = [([String], Specification)] Source #
pprintSpecDecls :: SpecDecls > String Source #
lookupAggregate :: Eq a => [([a], b)] > a > [b] Source #
data Specification Source #
isEmpty :: Specification > Bool Source #
Eq Spatial Source #  
Data Spatial Source #  
Show Spatial Source #  
RegionRig Spatial Source #  
Model Spatial Source #  
Show (Multiplicity (Approximation Spatial)) Source #  
Show (Approximation Spatial) Source #  
RegionRig (Approximation Spatial) Source #  
Model (Multiplicity (Approximation Spatial)) Source #  
Model (Approximation Spatial) Source #  
type Domain Spatial Source #  
type Domain (Multiplicity (Approximation Spatial)) Source #  
type Domain (Approximation Spatial) Source #  
hasDuplicates :: Eq a => [a] > ([a], Bool) Source #
fromMult :: Multiplicity a > a Source #
setLinearity :: Linearity > Specification > Specification Source #
data Multiplicity a Source #
Functor Multiplicity Source #  
Eq a => Eq (Multiplicity a) Source #  
Data a => Data (Multiplicity a) Source #  
Show a => Show (Multiplicity a) Source #  
Show (Multiplicity (Approximation Spatial)) Source #  
Model (Multiplicity (Approximation Spatial)) Source #  
type Domain (Multiplicity (Approximation Spatial)) Source #  
getDimension :: Region > Dimension Source #
newtype RegionProd Source #
Sum  

showProdSpecs :: Show a => [a] > String Source #
showSumSpecs :: Show a => [a] > String Source #
groupKeyBy :: Eq b => [(a, b)] > [([a], b)] Source #