-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Generic operations on tuples -- -- Generic operations on tuples. -- -- I'm not sure that anybody uses this library, so I haven't bothered -- adding anything I don't need. However, file an issue if you need -- something to be added to the library and I'll try to respond to it -- promptly. @package tuple-generic @version 0.6.0.0 -- | This module supports operations with tuples with up to 16 elements. -- -- Generic accessors and setters aren't included, because I'm lazy. If -- you want them, either file an issue or consider using -- microlens, which is a dependency-free alternative to -- lens providing generic lenses for tuples. module Data.Tuple.Generic class TupleCons a b x | b -> x, b -> a, a x -> b -- | Prepend a value to a tuple. -- --
-- >>> cons 0 (1,2,3) -- (0,1,2,3) --cons :: TupleCons a b x => x -> a -> b -- | Split off the 1st element of a tuple. -- --
-- >>> uncons (0,1,2,3) -- (0,(1,2,3)) --uncons :: TupleCons a b x => b -> (x, a) class TupleSnoc a b x | b -> x, b -> a, a x -> b -- | Append a value to a tuple. -- --
-- >>> snoc (1,2,3) 4 -- (1,2,3,4) --snoc :: TupleSnoc a b x => a -> x -> b -- | Split off the last element of a tuple. -- --
-- >>> unsnoc (1,2,3,4) -- ((1,2,3),4) --unsnoc :: TupleSnoc a b x => b -> (a, x) instance Data.Tuple.Generic.TupleCons (a1, a2) (x, a1, a2) x instance Data.Tuple.Generic.TupleSnoc (a1, a2) (a1, a2, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3) (x, a1, a2, a3) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3) (a1, a2, a3, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4) (x, a1, a2, a3, a4) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4) (a1, a2, a3, a4, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4, a5) (x, a1, a2, a3, a4, a5) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4, a5) (a1, a2, a3, a4, a5, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4, a5, a6) (x, a1, a2, a3, a4, a5, a6) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4, a5, a6) (a1, a2, a3, a4, a5, a6, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4, a5, a6, a7) (x, a1, a2, a3, a4, a5, a6, a7) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4, a5, a6, a7) (a1, a2, a3, a4, a5, a6, a7, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4, a5, a6, a7, a8) (x, a1, a2, a3, a4, a5, a6, a7, a8) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4, a5, a6, a7, a8) (a1, a2, a3, a4, a5, a6, a7, a8, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4, a5, a6, a7, a8, a9) (x, a1, a2, a3, a4, a5, a6, a7, a8, a9) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4, a5, a6, a7, a8, a9) (a1, a2, a3, a4, a5, a6, a7, a8, a9, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) (x, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) (x, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) (x, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) (x, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) (x, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) (x, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, x) x instance Data.Tuple.Generic.TupleCons (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) (x, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) x instance Data.Tuple.Generic.TupleSnoc (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, x) x