{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:hackage/streams","name":"streams","description":"Various Haskell 2010 stream comonads.\n* Data.Stream.Future provides a coinductive anti-causal stream, or non-empty ZipList. The comonad provides access to only the\ntail of the stream. Like a conventional ZipList, this is not a monad.\n\nData.Stream.Future.Skew provides a non-empty skew-binary random-access-list with the semantics of Data.Stream.Future. As with\nData.Stream.Future this stream is not a Monad, since the Applicative instance zips streams of potentially differing lengths.\nThe random-access-list structure provides a number of operations logarithmic access time, but makes Data.Stream.Future.Skew.cons\nless productive. Where applicable Data.Stream.Infinite.Skew may be more efficient, due to a lazier and more efficient Applicative\ninstance.\n\nData.Stream.Infinite provides a coinductive infinite anti-causal stream. The Comonad provides access to the tail of the\nstream and the Applicative zips streams together. Unlike Future, infinite stream form a Monad. The monad diagonalizes\nthe Stream, which is consistent with the behavior of the Applicative, and the view of a Stream as a isomorphic to the reader\nmonad from the natural numbers. Being infinite in length, there is no Alternative instance.\n\nData.Stream.Infinite.Skew provides an infinite skew-binary random-access-list with the semantics of Data.Stream.Infinite\nSince every stream is infinite, the Applicative instance can be considerably less strict than the corresponding instance for\nData.Stream.Future.Skew and performs asymptotically better.\n\nData.Stream.Infinite.Functional.Zipper provides a bi-infinite sequence, represented as a pure function with an accumulating\nparameter added to optimize moving the current focus.\n\nData.Stream.Supply provides a comonadic supply of unique values, which are\ngenerated impurely as the tree is explored.","version":"3.3.3","softwareVersion":"3.3.3","license":"https://spdx.org/licenses/BSD-3-Clause","codeRepository":"https://github.com/ekmett/streams","issueTracker":"https://github.com/ekmett/streams/issues","url":"http://github.com/ekmett/streams","keywords":["bsd3","comonads","control","library","Propose Tags"],"programmingLanguage":{"@type":"ComputerLanguage","name":"Haskell"},"maintainer":[{"@type":"Person","name":"ryanglscott"},{"@type":"Person","name":"EdwardKmett"}],"author":[{"@type":"Person","name":"ryanglscott"},{"@type":"Person","name":"EdwardKmett"}],"copyrightHolder":[{"@type":"Person","name":"ryanglscott"},{"@type":"Person","name":"EdwardKmett"}],"dateCreated":"2011-01-13","dateModified":"2024-12-06","datePublished":"2024-12-06","copyrightYear":2011,"downloadUrl":"https://hackage.haskell.org/package/streams-3.3.3/streams-3.3.3.tar.gz","applicationCategory":"hackage","runtimePlatform":"hackage","developmentStatus":"active","sameAs":["https://hackage.haskell.org/package/streams"],"https://www.w3.org/ns/activitystreams#likes":24,"https://forgefed.org/ns#forks":14}