Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.Syntactic.TypeRep.TupleConversion
Description
Construction and elimination of tuples
Something similar can be achieved using the Syntactic
instances from
Language.Syntactic.TypeRep.Sugar.TupleTR, e.g:
sel1' :: forall sym t a b . ( Typeable t a , Typeable t b , Tuple :<: sym , TupleType :<: t ) => ASTF (sym :&: TypeRep t) (a,b) -> ASTF (sym :&: TypeRep t) a sel1' ab = a where (a, _ :: ASTF (sym :&: TypeRep t) b) = sugar ab
But the point of this module is to do it without the Typeable
constraint.
Documentation
sel1 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel1 tup) Source
sel2 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel2 tup) Source
sel3 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel3 tup) Source
sel4 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel4 tup) Source
sel5 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel5 tup) Source
sel6 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel6 tup) Source
sel7 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel7 tup) Source
sel8 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel8 tup) Source
sel9 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel9 tup) Source
sel10 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel10 tup) Source
sel11 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel11 tup) Source
sel12 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel12 tup) Source
sel13 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel13 tup) Source
sel14 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel14 tup) Source
sel15 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) tup -> ASTF (sym :&: TypeRep t) (Sel15 tup) Source
tup2 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) (a, b) Source
tup3 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) (a, b, c) Source
tup4 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) d -> ASTF (sym :&: TypeRep t) (a, b, c, d) Source
tup5 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) d -> ASTF (sym :&: TypeRep t) e -> ASTF (sym :&: TypeRep t) (a, b, c, d, e) Source
tup6 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) d -> ASTF (sym :&: TypeRep t) e -> ASTF (sym :&: TypeRep t) f -> ASTF (sym :&: TypeRep t) (a, b, c, d, e, f) Source
tup7 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) d -> ASTF (sym :&: TypeRep t) e -> ASTF (sym :&: TypeRep t) f -> ASTF (sym :&: TypeRep t) g -> ASTF (sym :&: TypeRep t) (a, b, c, d, e, f, g) Source
tup8 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) d -> ASTF (sym :&: TypeRep t) e -> ASTF (sym :&: TypeRep t) f -> ASTF (sym :&: TypeRep t) g -> ASTF (sym :&: TypeRep t) h -> ASTF (sym :&: TypeRep t) (a, b, c, d, e, f, g, h) Source
tup9 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) d -> ASTF (sym :&: TypeRep t) e -> ASTF (sym :&: TypeRep t) f -> ASTF (sym :&: TypeRep t) g -> ASTF (sym :&: TypeRep t) h -> ASTF (sym :&: TypeRep t) i -> ASTF (sym :&: TypeRep t) (a, b, c, d, e, f, g, h, i) Source
tup10 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) d -> ASTF (sym :&: TypeRep t) e -> ASTF (sym :&: TypeRep t) f -> ASTF (sym :&: TypeRep t) g -> ASTF (sym :&: TypeRep t) h -> ASTF (sym :&: TypeRep t) i -> ASTF (sym :&: TypeRep t) j -> ASTF (sym :&: TypeRep t) (a, b, c, d, e, f, g, h, i, j) Source
tup11 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) d -> ASTF (sym :&: TypeRep t) e -> ASTF (sym :&: TypeRep t) f -> ASTF (sym :&: TypeRep t) g -> ASTF (sym :&: TypeRep t) h -> ASTF (sym :&: TypeRep t) i -> ASTF (sym :&: TypeRep t) j -> ASTF (sym :&: TypeRep t) k -> ASTF (sym :&: TypeRep t) (a, b, c, d, e, f, g, h, i, j, k) Source
tup12 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) d -> ASTF (sym :&: TypeRep t) e -> ASTF (sym :&: TypeRep t) f -> ASTF (sym :&: TypeRep t) g -> ASTF (sym :&: TypeRep t) h -> ASTF (sym :&: TypeRep t) i -> ASTF (sym :&: TypeRep t) j -> ASTF (sym :&: TypeRep t) k -> ASTF (sym :&: TypeRep t) l -> ASTF (sym :&: TypeRep t) (a, b, c, d, e, f, g, h, i, j, k, l) Source
tup13 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) d -> ASTF (sym :&: TypeRep t) e -> ASTF (sym :&: TypeRep t) f -> ASTF (sym :&: TypeRep t) g -> ASTF (sym :&: TypeRep t) h -> ASTF (sym :&: TypeRep t) i -> ASTF (sym :&: TypeRep t) j -> ASTF (sym :&: TypeRep t) k -> ASTF (sym :&: TypeRep t) l -> ASTF (sym :&: TypeRep t) m -> ASTF (sym :&: TypeRep t) (a, b, c, d, e, f, g, h, i, j, k, l, m) Source
tup14 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) d -> ASTF (sym :&: TypeRep t) e -> ASTF (sym :&: TypeRep t) f -> ASTF (sym :&: TypeRep t) g -> ASTF (sym :&: TypeRep t) h -> ASTF (sym :&: TypeRep t) i -> ASTF (sym :&: TypeRep t) j -> ASTF (sym :&: TypeRep t) k -> ASTF (sym :&: TypeRep t) l -> ASTF (sym :&: TypeRep t) m -> ASTF (sym :&: TypeRep t) n -> ASTF (sym :&: TypeRep t) (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source
tup15 :: (Tuple :<: sym, TupleType :<: t) => ASTF (sym :&: TypeRep t) a -> ASTF (sym :&: TypeRep t) b -> ASTF (sym :&: TypeRep t) c -> ASTF (sym :&: TypeRep t) d -> ASTF (sym :&: TypeRep t) e -> ASTF (sym :&: TypeRep t) f -> ASTF (sym :&: TypeRep t) g -> ASTF (sym :&: TypeRep t) h -> ASTF (sym :&: TypeRep t) i -> ASTF (sym :&: TypeRep t) j -> ASTF (sym :&: TypeRep t) k -> ASTF (sym :&: TypeRep t) l -> ASTF (sym :&: TypeRep t) m -> ASTF (sym :&: TypeRep t) n -> ASTF (sym :&: TypeRep t) o -> ASTF (sym :&: TypeRep t) (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source