raw-feldspar-0.1: Resource-Aware Feldspar

Safe HaskellNone
LanguageHaskell2010

Feldspar.Sugar

Contents

Description

Syntactic instances for functions and tuples

Documentation

Orphan instances

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

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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 # 

Associated Types

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

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) #