@hackage / tuple-gen

Enum instances for tuples where the digits increase with the same speed

Latest2.0

About

Metadata

  • Last updated , by TillmannVogt
  • License BSD-3-Clause
  • Maintained by: Tillmann.Vogt@rwth-aachen.de

  • Lottery factor: 0

Links

Installation

Readme

Generating tuples like this: [(x, y) | x <- [1..], y <- [1..]] generates tuples that change only in the second position.

This library uses increasingly bigger hyperplanes to generate tuples.

It uses the Enum instances that are also used in the Prelude.

Thereby tuples with arbitrary starting values and types can be enumerated.

Example: ( enumFrom (0,(1,2),3) ) :: [(Word8,(Word8,Word8),Word8)]

evaluates to [(0,(1,2),3), (0,(2,1),4), (0,(3,0),5), ...].

Further explanations are planned to appear in the Monad Reader issue 20.