-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Generic operations on tuples -- -- Generic operations on tuples @package tuple-generic @version 0.5.0.0 -- | This module supports operations with tuples with up to 16 elements. -- -- Generic accessors and setters aren't included – if you want that, -- consider using microlens, which is a dependency-free -- alternative to lens providing generic lenses for tuples. This -- package only gives you uncons and unsnoc, which can be -- used to get the 1st and last element respectively. module Data.Tuple.Generic -- | 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) -- | 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 TupleCons (a1, a2) (x, a1, a2) x instance TupleSnoc (a1, a2) (a1, a2, x) x instance TupleCons (a1, a2, a3) (x, a1, a2, a3) x instance TupleSnoc (a1, a2, a3) (a1, a2, a3, x) x instance TupleCons (a1, a2, a3, a4) (x, a1, a2, a3, a4) x instance TupleSnoc (a1, a2, a3, a4) (a1, a2, a3, a4, x) x instance TupleCons (a1, a2, a3, a4, a5) (x, a1, a2, a3, a4, a5) x instance TupleSnoc (a1, a2, a3, a4, a5) (a1, a2, a3, a4, a5, x) x instance TupleCons (a1, a2, a3, a4, a5, a6) (x, a1, a2, a3, a4, a5, a6) x instance TupleSnoc (a1, a2, a3, a4, a5, a6) (a1, a2, a3, a4, a5, a6, x) x instance TupleCons (a1, a2, a3, a4, a5, a6, a7) (x, a1, a2, a3, a4, a5, a6, a7) x instance TupleSnoc (a1, a2, a3, a4, a5, a6, a7) (a1, a2, a3, a4, a5, a6, a7, x) x instance TupleCons (a1, a2, a3, a4, a5, a6, a7, a8) (x, a1, a2, a3, a4, a5, a6, a7, a8) x instance TupleSnoc (a1, a2, a3, a4, a5, a6, a7, a8) (a1, a2, a3, a4, a5, a6, a7, a8, x) x instance TupleCons (a1, a2, a3, a4, a5, a6, a7, a8, a9) (x, a1, a2, a3, a4, a5, a6, a7, a8, a9) x instance TupleSnoc (a1, a2, a3, a4, a5, a6, a7, a8, a9) (a1, a2, a3, a4, a5, a6, a7, a8, a9, x) x instance TupleCons (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) (x, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) x instance TupleSnoc (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, x) x instance 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 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 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 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 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 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 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 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 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 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 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 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