SUSE Package Hub 15 oneclick install
Install ghcstreams
NOTE: This oneclick installation requires that the SUSE Package Hub extension to already be enabled.
See http://packagehub.suse.com/howtouse/ for information on enabling the Package Hub extension
If the extension is not enabled, this installation will fail while trying to enable an invalid repo.
This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered.
SUSEPackageHub15StandardPool
Package Hub 15
Dummy repo  this will fail

ghcstreams
Various Haskell 2010 stream comonads
Various Haskell 2010 stream comonads. * "Data.Stream.Future" provides a
coinductive anticausal stream, or nonempty 'ZipList'. The comonad provides
access to only the tail of the stream. Like a conventional 'ZipList', this is
/not/ a monad.
> data Future a = Last a  a :< Future a
* "Data.Stream.Future.Skew" provides a nonempty skewbinary randomaccesslist
with the semantics of 'Data.Stream.Future'. As with "Data.Stream.Future" this
stream is not a 'Monad', since the 'Applicative' instance zips streams of
potentially differing lengths. The randomaccesslist structure provides a
number of operations logarithmic access time, but makes
'Data.Stream.Future.Skew.cons' less productive. Where applicable
"Data.Stream.Infinite.Skew" may be more efficient, due to a lazier and more
efficient 'Applicative' instance.
>
* "Data.Stream.Infinite" provides a coinductive infinite anticausal stream.
The 'Comonad' provides access to the tail of the stream and the 'Applicative'
zips streams together. Unlike 'Future', infinite stream form a 'Monad'.
The monad diagonalizes the 'Stream', which is consistent with the behavior of
the 'Applicative', and the view of a 'Stream' as a isomorphic to the reader
monad from the natural numbers. Being infinite in length, there is no
'Alternative' instance.
> data Stream a = a :< Stream a
* "Data.Stream.Infinite.Skew" provides an infinite skewbinary
randomaccesslist with the semantics of "Data.Stream.Infinite" Since every
stream is infinite, the 'Applicative' instance can be considerably less strict
than the corresponding instance for "Data.Stream.Future.Skew" and performs
asymptotically better.
>
* "Data.Stream.Infinite.Functional.Zipper" provides a biinfinite sequence,
represented as a pure function with an accumulating parameter added to optimize
moving the current focus.
> data Zipper a = !Integer :~ (Integer > a)
* "Data.Stream.Supply" provides a comonadic supply of unique values, which are
generated impurely as the tree is explored.
SUSE Package Hub 15 oneclick install
Install ghcstreams
NOTE: This oneclick installation requires that the SUSE Package Hub extension to already be enabled.
See http://packagehub.suse.com/howtouse/ for information on enabling the Package Hub extension
If the extension is not enabled, this installation will fail while trying to enable an invalid repo.
This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered.
SUSEPackageHub15StandardPool
Package Hub 15
Dummy repo  this will fail

ghcstreams
Various Haskell 2010 stream comonads
Various Haskell 2010 stream comonads. * "Data.Stream.Future" provides a
coinductive anticausal stream, or nonempty 'ZipList'. The comonad provides
access to only the tail of the stream. Like a conventional 'ZipList', this is
/not/ a monad.
> data Future a = Last a  a :< Future a
* "Data.Stream.Future.Skew" provides a nonempty skewbinary randomaccesslist
with the semantics of 'Data.Stream.Future'. As with "Data.Stream.Future" this
stream is not a 'Monad', since the 'Applicative' instance zips streams of
potentially differing lengths. The randomaccesslist structure provides a
number of operations logarithmic access time, but makes
'Data.Stream.Future.Skew.cons' less productive. Where applicable
"Data.Stream.Infinite.Skew" may be more efficient, due to a lazier and more
efficient 'Applicative' instance.
>
* "Data.Stream.Infinite" provides a coinductive infinite anticausal stream.
The 'Comonad' provides access to the tail of the stream and the 'Applicative'
zips streams together. Unlike 'Future', infinite stream form a 'Monad'.
The monad diagonalizes the 'Stream', which is consistent with the behavior of
the 'Applicative', and the view of a 'Stream' as a isomorphic to the reader
monad from the natural numbers. Being infinite in length, there is no
'Alternative' instance.
> data Stream a = a :< Stream a
* "Data.Stream.Infinite.Skew" provides an infinite skewbinary
randomaccesslist with the semantics of "Data.Stream.Infinite" Since every
stream is infinite, the 'Applicative' instance can be considerably less strict
than the corresponding instance for "Data.Stream.Future.Skew" and performs
asymptotically better.
>
* "Data.Stream.Infinite.Functional.Zipper" provides a biinfinite sequence,
represented as a pure function with an accumulating parameter added to optimize
moving the current focus.
> data Zipper a = !Integer :~ (Integer > a)
* "Data.Stream.Supply" provides a comonadic supply of unique values, which are
generated impurely as the tree is explored.