Safe Haskell | None |
---|---|
Language | Haskell2010 |
- 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 {}
- 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
newtype FeldDomain a Source
Constrained FeldDomain | |
TupleSat FeldDomain Type | |
Project sym FeldSymbols => Project sym FeldDomain | |
(InjectC sym FeldSymbols a, Typeable * a) => InjectC sym FeldDomain a | |
IsHODomain FeldDomain (Typeable *) Type | |
type Sat FeldDomain = Typeable * |
toFeld :: ASTF (HODomain FeldSymbols Typeable Type) a -> ASTF FeldDomain a Source
fromFeld :: ASTF FeldDomain a -> ASTF (HODomain FeldSymbols Typeable Type) a Source
Front end
Data | |
|
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 |
sugarSymF :: (ApplySym sig b FeldDomain, SyntacticN c b, InjectC (feature :|| Type) (HODomain FeldSymbols Typeable Type) (DenResult sig), Type (DenResult sig)) => feature sig -> c Source