Safe Haskell | None |
---|
- type FeldSymbols = (Decor SourceInfo1 Identity :|| Type) :+: ((Condition :|| Type) :+: ((FFI :|| Type) :+: ((Literal :|| Type) :+: ((Select :|| Type) :+: ((Tuple :|| Type) :+: ((Array :|| Type) :+: ((BITS :|| Type) :+: ((COMPLEX :|| Type) :+: ((Conversion :|| Type) :+: ((EQ :|| Type) :+: ((Error :|| Type) :+: ((FLOATING :|| Type) :+: ((REALFLOAT :|| Type) :+: ((FRACTIONAL :|| Type) :+: ((FUTURE :|| Type) :+: ((INTEGRAL :|| Type) :+: ((Logic :|| Type) :+: ((Loop :|| Type) :+: ((NUM :|| Type) :+: ((NoInline :|| Type) :+: ((ORD :|| Type) :+: ((PropSize :|| Type) :+: ((Save :|| Type) :+: ((Switch :|| Type) :+: ((Trace :|| Type) :+: (Let :+: (ConditionM Mut :+: (LoopM Mut :+: (MONAD Mut :+: (Mutable :+: (MutableArray :+: (MutableReference :+: (MutableToPure :+: (MONAD Par :+: (ParFeature :+: Empty)))))))))))))))))))))))))))))))))))
- type FeldDom = FODomain FeldSymbols Typeable Type
- newtype FeldDomain a = FeldDomain {
- getFeldDomain :: HODomain FeldSymbols Typeable Type a
- toFeld :: ASTF (HODomain FeldSymbols Typeable Type) a -> ASTF FeldDomain a
- fromFeld :: ASTF FeldDomain a -> ASTF (HODomain FeldSymbols Typeable Type) a
- newtype Data a = Data {
- unData :: ASTF FeldDomain a
- type SyntacticFeld a = (Syntactic a, Domain a ~ FeldDomain, Typeable (Internal a))
- class (SyntacticFeld a, Type (Internal a)) => Syntax a
- reifyF :: SyntacticFeld a => a -> ASTF FeldDom (Internal a)
- sugarSymF :: (ApplySym sig b FeldDomain, SyntacticN c b, InjectC (feature :|| Type) (HODomain FeldSymbols Typeable Type) (DenResult sig), Type (DenResult sig)) => feature sig -> c
Domain
type FeldSymbols = (Decor SourceInfo1 Identity :|| Type) :+: ((Condition :|| Type) :+: ((FFI :|| Type) :+: ((Literal :|| Type) :+: ((Select :|| Type) :+: ((Tuple :|| Type) :+: ((Array :|| Type) :+: ((BITS :|| Type) :+: ((COMPLEX :|| Type) :+: ((Conversion :|| Type) :+: ((EQ :|| Type) :+: ((Error :|| Type) :+: ((FLOATING :|| Type) :+: ((REALFLOAT :|| Type) :+: ((FRACTIONAL :|| Type) :+: ((FUTURE :|| Type) :+: ((INTEGRAL :|| Type) :+: ((Logic :|| Type) :+: ((Loop :|| Type) :+: ((NUM :|| Type) :+: ((NoInline :|| Type) :+: ((ORD :|| Type) :+: ((PropSize :|| Type) :+: ((Save :|| Type) :+: ((Switch :|| Type) :+: ((Trace :|| Type) :+: (Let :+: (ConditionM Mut :+: (LoopM Mut :+: (MONAD Mut :+: (Mutable :+: (MutableArray :+: (MutableReference :+: (MutableToPure :+: (MONAD Par :+: (ParFeature :+: Empty)))))))))))))))))))))))))))))))))))Source
type FeldDom = FODomain FeldSymbols Typeable TypeSource
newtype FeldDomain a Source
FeldDomain | |
|
Constrained FeldDomain | |
Project sym FeldSymbols => Project sym FeldDomain | |
TupleSat FeldDomain Type | |
(InjectC sym FeldSymbols a, Typeable a) => InjectC sym FeldDomain a | |
IsHODomain FeldDomain Typeable Type |
toFeld :: ASTF (HODomain FeldSymbols Typeable Type) a -> ASTF FeldDomain aSource
fromFeld :: ASTF FeldDomain a -> ASTF (HODomain FeldSymbols Typeable Type) aSource
Front end
Data | |
|
Typeable1 Data | |
Type a => Eq (Data a) | |
Fraction a => Fractional (Data a) | |
Numeric a => Num (Data a) | |
Type a => Show (Data a) | |
Testable (Data Bool) | |
(Type a, Arbitrary a) => Arbitrary (Data a) | |
Type a => Sized (Data [a]) | |
Type a => Indexed (Data [a]) | |
Type a => Syntactic (Data a) | |
Fixable (Data Float) | |
Type a => ElemWise (Data a) | |
(Type a, Type b) => CollMap (Data [a]) (Data [b]) | |
Numeric a => Mul (Data a) (Matrix a) | |
Numeric a => Mul (Data a) (Vector1 a) | |
Numeric a => Mul (Data a) (Data a) | |
Numeric a => Mul (Vector1 a) (Matrix a) | |
Numeric a => Mul (Vector1 a) (Vector1 a) | |
Numeric a => Mul (Vector1 a) (Data a) | |
Numeric a => Mul (Matrix a) (Matrix a) | |
Numeric a => Mul (Matrix a) (Vector1 a) | |
Numeric a => Mul (Matrix a) (Data a) | |
Slice sl => Slice (:. sl (Data Length)) | |
Shape sh => Shape (:. sh (Data Length)) |
type SyntacticFeld a = (Syntactic a, Domain a ~ FeldDomain, Typeable (Internal a))Source
class (SyntacticFeld a, Type (Internal a)) => Syntax a Source
Specialization of the Syntactic
class for the Feldspar domain
(SyntacticFeld a, Type (Internal a)) => Syntax a |
reifyF :: SyntacticFeld a => a -> ASTF FeldDom (Internal a)Source
sugarSymF :: (ApplySym sig b FeldDomain, SyntacticN c b, InjectC (feature :|| Type) (HODomain FeldSymbols Typeable Type) (DenResult sig), Type (DenResult sig)) => feature sig -> cSource