{"id":236214,"name":"streams","ecosystem":"hackage","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.","homepage":"http://github.com/ekmett/streams","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/ekmett/streams","keywords_array":["bsd3","comonads","control","library","Propose Tags"],"namespace":null,"versions_count":36,"first_release_published_at":"2011-01-13T07:39:28.000Z","latest_release_published_at":"2024-12-06T11:06:53.000Z","latest_release_number":"3.3.3","last_synced_at":"2026-05-30T01:17:48.852Z","created_at":"2022-04-06T02:09:27.448Z","updated_at":"2026-05-30T01:19:27.135Z","registry_url":"https://hackage.haskell.org/package/streams","install_command":"cabal install streams","documentation_url":null,"metadata":{},"repo_metadata":{"id":1296571,"uuid":"1238585","full_name":"ekmett/streams","owner":"ekmett","description":"Haskell 2010 stream comonads","archived":false,"fork":false,"pushed_at":"2024-12-06T11:06:44.000Z","size":231,"stargazers_count":23,"open_issues_count":5,"forks_count":14,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-09-02T06:29:47.285Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://hackage.haskell.org/package/streams","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ekmett.png","metadata":{"files":{"readme":"README","changelog":"CHANGELOG.markdown","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2011-01-10T16:50:10.000Z","updated_at":"2025-06-03T13:02:41.000Z","dependencies_parsed_at":"2025-04-14T05:51:34.465Z","dependency_job_id":"71d67e5e-7fff-4022-84a2-727e082e8069","html_url":"https://github.com/ekmett/streams","commit_stats":{"total_commits":104,"total_committers":12,"mean_commits":8.666666666666666,"dds":"0.47115384615384615","last_synced_commit":"fea645689d8808ad9f3bc6a576a6798379d85bd3"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/ekmett/streams","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekmett","download_url":"https://codeload.github.com/ekmett/streams/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000714,"owners_count":26082895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ekmett","name":"Edward Kmett","uuid":"304657","kind":"user","description":"I write a lot of Haskell.","email":"","website":"http://comonad.com","location":"Farmington Hills, MI","twitter":"kmett","company":"Groq","icon_url":"https://avatars.githubusercontent.com/u/304657?v=4","repositories_count":298,"last_synced_at":"2023-04-10T02:32:00.294Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ekmett","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T16:37:43.210Z","updated_at":"2023-04-10T02:32:01.377Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekmett","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekmett/repositories"},"tags":[{"name":"v3.3.3","sha":"9f5df1753032b6f2c3941a7c2070d071266aafd0","kind":"commit","published_at":"2024-12-06T11:02:34.000Z","download_url":"https://codeload.github.com/ekmett/streams/tar.gz/v3.3.3","html_url":"https://github.com/ekmett/streams/releases/tag/v3.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/streams@v3.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.3.3/manifests"},{"name":"v3.3.2","sha":"fea645689d8808ad9f3bc6a576a6798379d85bd3","kind":"commit","published_at":"2023-03-12T19:57:20.000Z","download_url":"https://codeload.github.com/ekmett/streams/tar.gz/v3.3.2","html_url":"https://github.com/ekmett/streams/releases/tag/v3.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/streams@v3.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.3.2/manifests"},{"name":"v3.3.1","sha":"8725ba30868a730189628014acd669fc051ff66b","kind":"commit","published_at":"2022-11-30T12:07:27.000Z","download_url":"https://codeload.github.com/ekmett/streams/tar.gz/v3.3.1","html_url":"https://github.com/ekmett/streams/releases/tag/v3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/streams@v3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.3.1/manifests"},{"name":"v3.3","sha":"6f1b7095c8412b7bf2f9e96802fc638ed55167f2","kind":"commit","published_at":"2016-06-15T23:00:06.000Z","download_url":"https://codeload.github.com/ekmett/streams/tar.gz/v3.3","html_url":"https://github.com/ekmett/streams/releases/tag/v3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/streams@v3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.3/manifests"},{"name":"v3.2.1","sha":"e6c2052407ad4d6ed4599310d8fa286d9eb1c029","kind":"tag","published_at":"2015-07-09T20:05:47.000Z","download_url":"https://codeload.github.com/ekmett/streams/tar.gz/v3.2.1","html_url":"https://github.com/ekmett/streams/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/streams@v3.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.2.1/manifests"},{"name":"v3.2","sha":"207bbfee21bc7b26e9ebf519d4f2ba7860a79735","kind":"tag","published_at":"2014-02-19T18:27:24.000Z","download_url":"https://codeload.github.com/ekmett/streams/tar.gz/v3.2","html_url":"https://github.com/ekmett/streams/releases/tag/v3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/streams@v3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.2/manifests"},{"name":"v3.1.1","sha":"bdb68d9c75b0a3a97dc27e135863178fa7455ef1","kind":"tag","published_at":"2013-06-20T23:25:40.000Z","download_url":"https://codeload.github.com/ekmett/streams/tar.gz/v3.1.1","html_url":"https://github.com/ekmett/streams/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/streams@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.1.1/manifests"},{"name":"v3.1","sha":"39d9bf2c1f758bfd585f4c84c503004f04186be7","kind":"tag","published_at":"2013-01-07T07:29:28.000Z","download_url":"https://codeload.github.com/ekmett/streams/tar.gz/v3.1","html_url":"https://github.com/ekmett/streams/releases/tag/v3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/streams@v3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.1/manifests"},{"name":"v3.0.1.1","sha":"0ff7df516bbea50e46a2de0824bf6e8748265f6a","kind":"tag","published_at":"2013-01-06T22:17:43.000Z","download_url":"https://codeload.github.com/ekmett/streams/tar.gz/v3.0.1.1","html_url":"https://github.com/ekmett/streams/releases/tag/v3.0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/streams@v3.0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.0.1.1/manifests"},{"name":"v3.0.0.1","sha":"b89325343404859905e59ff1c9de4ef9e9518238","kind":"tag","published_at":"2013-01-06T17:39:18.000Z","download_url":"https://codeload.github.com/ekmett/streams/tar.gz/v3.0.0.1","html_url":"https://github.com/ekmett/streams/releases/tag/v3.0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/streams@v3.0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.0.0.1/manifests"},{"name":"v3.0","sha":"dfffc1262d1de3f1786ccb081256dc339912348c","kind":"tag","published_at":"2012-11-06T19:36:46.000Z","download_url":"https://codeload.github.com/ekmett/streams/tar.gz/v3.0","html_url":"https://github.com/ekmett/streams/releases/tag/v3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/streams@v3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/tags/v3.0/manifests"}]},"repo_metadata_updated_at":"2026-05-30T01:19:27.109Z","dependent_packages_count":4,"downloads":30341,"downloads_period":"total","dependent_repos_count":140,"rankings":{"downloads":5.029669398135066,"dependent_repos_count":4.1593670528397855,"dependent_packages_count":4.566261655834982,"stargazers_count":16.16275784119808,"forks_count":10.539700480361684,"docker_downloads_count":null,"average":8.09155128567392},"purl":"pkg:hackage/streams","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/hackage/streams","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/hackage/streams","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/hackage/streams/dependencies","status":null,"funding_links":[],"critical":false,"issue_metadata":{"last_synced_at":"2025-07-31T09:40:34.081Z","issues_count":8,"pull_requests_count":14,"avg_time_to_close_issue":34628514.666666664,"avg_time_to_close_pull_request":11413954.909090908,"issues_closed_count":6,"pull_requests_closed_count":11,"pull_request_authors_count":12,"issue_authors_count":6,"avg_comments_per_issue":1.25,"avg_comments_per_pull_request":0.5714285714285714,"merged_pull_requests_count":10,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Fstreams/issues","maintainers":[{"login":"ekmett","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ekmett"},{"login":"S11001001","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/S11001001"},{"login":"RyanGlScott","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/RyanGlScott"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/streams/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/streams/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/streams/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/streams/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/streams/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/streams/codemeta","maintainers":[{"uuid":"ryanglscott","login":"ryanglscott","name":null,"email":null,"url":null,"packages_count":152,"html_url":"https://hackage.haskell.org/user/ryanglscott","role":null,"created_at":"2022-11-14T19:55:51.657Z","updated_at":"2022-11-14T19:55:51.657Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/ryanglscott/packages"},{"uuid":"EdwardKmett","login":"EdwardKmett","name":null,"email":null,"url":null,"packages_count":136,"html_url":"https://hackage.haskell.org/user/EdwardKmett","role":null,"created_at":"2022-11-14T19:55:51.636Z","updated_at":"2022-11-14T19:55:51.636Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/EdwardKmett/packages"}]}