Safe Haskell | None |
---|---|
Language | Haskell98 |
- type Variable = String
- data Result a
- fromExact :: Result a -> a
- upperBound :: a -> Result a
- lowerBound :: a -> Result a
- absoluteRep :: Int
- type RegionEnv = [(String, RegionSum)]
- type SpecDecls = [([String], Specification)]
- pprintSpecDecls :: SpecDecls -> String
- lookupAggregate :: Eq a => [([a], b)] -> a -> [b]
- data Specification = Specification (Either (Result Spatial) Temporal)
- data Temporal = Dependency [String] Bool
- data Spatial = Spatial {}
- fromBool :: Bool -> Linearity
- hasDuplicates :: Eq a => [a] -> ([a], Bool)
- setLinearity :: Linearity -> Specification -> Specification
- emptySpec :: Specification
- emptySpatialSpec :: Spatial
- isEmpty :: Specification -> Bool
- data Linearity
- type Dimension = Int
- type Depth = Int
- type IsRefl = Bool
- data Region where
- getDimension :: Region -> Dimension
- newtype RegionProd = Product {}
- newtype RegionSum = Sum {
- unSum :: [RegionProd]
- specPlus :: Specification -> Specification -> Maybe Specification
- 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
upperBound :: a -> Result a Source #
lowerBound :: a -> Result 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 #
hasDuplicates :: Eq a => [a] -> ([a], Bool) Source #
setLinearity :: Linearity -> Specification -> Specification Source #
isEmpty :: Specification -> Bool Source #
getDimension :: Region -> Dimension Source #
newtype RegionProd Source #
Sum | |
|
specPlus :: Specification -> Specification -> Maybe Specification Source #
showProdSpecs :: Show a => [a] -> String Source #
showSumSpecs :: Show a => [a] -> String Source #
groupKeyBy :: Eq b => [(a, b)] -> [([a], b)] Source #