-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Generating all n-tuples without getting stuck in one infinity -- -- Generating tuples like this: [(x, y) | x <- [1..], y <- [1..]] -- generates tuples that change only in the second position. This library -- uses an automata to generate all tuples whose sum of digits is -- constant. This constant is increased and thereby all tuples are -- generated. @package tuple-gen @version 1.0 module Data.Tuple.Gen -- | generate all 2-tuples so that the sum of all digits is monotonic -- increasing all2s :: Integral a => [(a, a)] -- | generate all 3-tuples so that the sum of all digits is monotonic -- increasing all3s :: Integral a => [(a, a, a)] -- | generate all 4-tuples so that the sum of all digits is monotonic -- increasing all4s :: Integral a => [(a, a, a, a)] -- | generate all 5-tuples so that the sum of all digits is monotonic -- increasing all5s :: Integral a => [(a, a, a, a, a)] -- | generate all 6-tuples so that the sum of all digits is monotonic -- increasing all6s :: Integral a => [(a, a, a, a, a, a)] -- | generate all 7-tuples so that the sum of all digits is monotonic -- increasing all7s :: Integral a => [(a, a, a, a, a, a, a)] -- | generate all 8-tuples so that the sum of all digits is monotonic -- increasing all8s :: Integral a => [(a, a, a, a, a, a, a, a)] -- | generate all 9-tuples so that the sum of all digits is monotonic -- increasing all9s :: Integral a => [(a, a, a, a, a, a, a, a, a)] -- | generate all 10-tuples so that the sum of all digits is monotonic -- increasing all10s :: Integral a => [(a, a, a, a, a, a, a, a, a, a)] all2sFrom :: Integral a => (a, a) -> [(a, a)] all3sFrom :: Integral a => (a, a, a) -> [(a, a, a)] all4sFrom :: Integral a => (a, a, a, a) -> [(a, a, a, a)] all5sFrom :: Integral a => (a, a, a, a, a) -> [(a, a, a, a, a)] all6sFrom :: Integral a => (a, a, a, a, a, a) -> [(a, a, a, a, a, a)] all7sFrom :: Integral a => (a, a, a, a, a, a, a) -> [(a, a, a, a, a, a, a)] all8sFrom :: Integral a => (a, a, a, a, a, a, a, a) -> [(a, a, a, a, a, a, a, a)] all9sFrom :: Integral a => (a, a, a, a, a, a, a, a, a) -> [(a, a, a, a, a, a, a, a, a)] all10sFrom :: Integral a => (a, a, a, a, a, a, a, a, a, a) -> [(a, a, a, a, a, a, a, a, a, a)]