raw-feldspar-0.4.1: Resource-Aware Feldspar
Safe HaskellNone
LanguageHaskell2010

Feldspar.Sugar

Description

Syntactic instances for functions and tuples

Orphan instances

(Syntax a, Syntactic b, Domain b ~ FeldDomain) => Syntactic (a -> b) Source # 
Instance details

Associated Types

type Domain (a -> b) :: Type -> Type #

type Internal (a -> b) #

Methods

desugar :: (a -> b) -> ASTF (Domain (a -> b)) (Internal (a -> b)) #

sugar :: ASTF (Domain (a -> b)) (Internal (a -> b)) -> a -> b #

(Syntax a, Syntax b) => Syntactic (a, b) Source # 
Instance details

Associated Types

type Domain (a, b) :: Type -> Type #

type Internal (a, b) #

Methods

desugar :: (a, b) -> ASTF (Domain (a, b)) (Internal (a, b)) #

sugar :: ASTF (Domain (a, b)) (Internal (a, b)) -> (a, b) #

(Syntactic a, Syntactic b, Syntactic c, Type (Internal a), Type (Internal b), Type (Internal c), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, sym ~ FeldConstructs) => Syntactic (a, b, c) Source # 
Instance details

Associated Types

type Domain (a, b, c) :: Type -> Type #

type Internal (a, b, c) #

Methods

desugar :: (a, b, c) -> ASTF (Domain (a, b, c)) (Internal (a, b, c)) #

sugar :: ASTF (Domain (a, b, c)) (Internal (a, b, c)) -> (a, b, c) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, sym ~ FeldConstructs) => Syntactic (a, b, c, d) Source # 
Instance details

Associated Types

type Domain (a, b, c, d) :: Type -> Type #

type Internal (a, b, c, d) #

Methods

desugar :: (a, b, c, d) -> ASTF (Domain (a, b, c, d)) (Internal (a, b, c, d)) #

sugar :: ASTF (Domain (a, b, c, d)) (Internal (a, b, c, d)) -> (a, b, c, d) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e) :: Type -> Type #

type Internal (a, b, c, d, e) #

Methods

desugar :: (a, b, c, d, e) -> ASTF (Domain (a, b, c, d, e)) (Internal (a, b, c, d, e)) #

sugar :: ASTF (Domain (a, b, c, d, e)) (Internal (a, b, c, d, e)) -> (a, b, c, d, e) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f) :: Type -> Type #

type Internal (a, b, c, d, e, f) #

Methods

desugar :: (a, b, c, d, e, f) -> ASTF (Domain (a, b, c, d, e, f)) (Internal (a, b, c, d, e, f)) #

sugar :: ASTF (Domain (a, b, c, d, e, f)) (Internal (a, b, c, d, e, f)) -> (a, b, c, d, e, f) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g) :: Type -> Type #

type Internal (a, b, c, d, e, f, g) #

Methods

desugar :: (a, b, c, d, e, f, g) -> ASTF (Domain (a, b, c, d, e, f, g)) (Internal (a, b, c, d, e, f, g)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g)) (Internal (a, b, c, d, e, f, g)) -> (a, b, c, d, e, f, g) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h) #

Methods

desugar :: (a, b, c, d, e, f, g, h) -> ASTF (Domain (a, b, c, d, e, f, g, h)) (Internal (a, b, c, d, e, f, g, h)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h)) (Internal (a, b, c, d, e, f, g, h)) -> (a, b, c, d, e, f, g, h) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i) #

Methods

desugar :: (a, b, c, d, e, f, g, h, i) -> ASTF (Domain (a, b, c, d, e, f, g, h, i)) (Internal (a, b, c, d, e, f, g, h, i)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i)) (Internal (a, b, c, d, e, f, g, h, i)) -> (a, b, c, d, e, f, g, h, i) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Type (Internal j), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i, j) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i, j) #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j)) (Internal (a, b, c, d, e, f, g, h, i, j)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j)) (Internal (a, b, c, d, e, f, g, h, i, j)) -> (a, b, c, d, e, f, g, h, i, j) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Type (Internal j), Type (Internal k), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i, j, k) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i, j, k) #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k)) (Internal (a, b, c, d, e, f, g, h, i, j, k)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k)) (Internal (a, b, c, d, e, f, g, h, i, j, k)) -> (a, b, c, d, e, f, g, h, i, j, k) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Syntactic l, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Type (Internal j), Type (Internal k), Type (Internal l), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, Domain a ~ Domain l, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i, j, k, l) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k, l) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i, j, k, l) #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k, l) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l)) -> (a, b, c, d, e, f, g, h, i, j, k, l) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Syntactic l, Syntactic m, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Type (Internal j), Type (Internal k), Type (Internal l), Type (Internal m), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, Domain a ~ Domain l, Domain a ~ Domain m, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i, j, k, l, m) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i, j, k, l, m) #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m)) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Syntactic l, Syntactic m, Syntactic n, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Type (Internal j), Type (Internal k), Type (Internal l), Type (Internal m), Type (Internal n), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, Domain a ~ Domain l, Domain a ~ Domain m, Domain a ~ Domain n, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n) #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) #

(Syntactic a, Syntactic b, Syntactic c, Syntactic d, Syntactic e, Syntactic f, Syntactic g, Syntactic h, Syntactic i, Syntactic j, Syntactic k, Syntactic l, Syntactic m, Syntactic n, Syntactic o, Type (Internal a), Type (Internal b), Type (Internal c), Type (Internal d), Type (Internal e), Type (Internal f), Type (Internal g), Type (Internal h), Type (Internal i), Type (Internal j), Type (Internal k), Type (Internal l), Type (Internal m), Type (Internal n), Type (Internal o), Tuple :<: sym, Domain a ~ (sym :&: TypeRepFun), Domain a ~ Domain b, Domain a ~ Domain c, Domain a ~ Domain d, Domain a ~ Domain e, Domain a ~ Domain f, Domain a ~ Domain g, Domain a ~ Domain h, Domain a ~ Domain i, Domain a ~ Domain j, Domain a ~ Domain k, Domain a ~ Domain l, Domain a ~ Domain m, Domain a ~ Domain n, Domain a ~ Domain o, sym ~ FeldConstructs) => Syntactic (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source # 
Instance details

Associated Types

type Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) :: Type -> Type #

type Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) #

Methods

desugar :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) #

sugar :: ASTF (Domain (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) (Internal (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) #