{"id":5817022,"name":"lazy-cache","ecosystem":"hackage","description":"The library provides an interface for caching the results of IO actions.\nThis library relies on a blackholing — mechanism that is used to implement lazy\nevaluation for avoiding concurrent runs of the action\n(this is where the name of the library comes from).\n\nThe library provides caching mechanismsl with the following properties:\n\nwhen the function is called the successful result is cached by no more than a provided time;\n\nif the function ends with an exception, it will be rethrown, and the result will not be cached;\n\nif the function will be called with the same input value it immediately gets cached\nresult;\n\nif functions are called concurrently with the different input values they will not\nblock each other;\n\nif functions will be called concurrently with the same argument then only one will\nact, others will wait until the first one is finished and will either return the\nresult once it's received, or will rethrow an exception if the first one\nexits with an exception;\n\noutdated values are cleared only on accesses to the cache, so if no action is called\nthe data will not be cleared.\n\nThe main entry point of the library is System.Cache module, it explains how to\nuse the library and provides the public API, that does not depend on the actual\nstore implementation.\n\nThe library provides an interface for caching, and three implementations:\n\nSystem.Cache.Impl.Ghc — the main one based on GHC system;\n\nSystem.Cache.Impl.MVar — implementation based on library functions;\n\nSystem.Cache.Impl.NoCache — implementation that disables caching, but keeps the same interface\n\nIf you want to implement your own caching mechanism, or use internal API, you\ncan refer to the System.Cache.Internal.Interface module for an additional documentation.","homepage":null,"licenses":"MPL-2.0","normalized_licenses":["MPL-2.0"],"repository_url":"https://github.com/cheopslab/lazy-cache","keywords_array":["library","mpl","system","Propose Tags"],"namespace":null,"versions_count":1,"first_release_published_at":"2023-01-06T06:54:59.000Z","latest_release_published_at":"2023-01-06T06:54:59.000Z","latest_release_number":"0.2.0.0","last_synced_at":"2026-10-09T16:37:26.151Z","created_at":"2023-01-06T06:56:44.599Z","updated_at":"2026-10-09T16:37:31.232Z","registry_url":"https://hackage.haskell.org/package/lazy-cache","install_command":"cabal install lazy-cache","documentation_url":null,"metadata":{},"repo_metadata":{"id":56283920,"uuid":"312904171","full_name":"SiriusCourses/lazy-cache","owner":"SiriusCourses","description":"Caches IO action by relying on GHC RTS implementation","archived":false,"fork":false,"pushed_at":"2023-01-12T13:13:37.000Z","size":36,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-09-18T22:19:20.685Z","etag":null,"topics":["caching","haskell","library"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SiriusCourses.png","metadata":{"files":{"readme":"Readme.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-14T21:21:54.000Z","updated_at":"2023-01-15T17:57:22.000Z","dependencies_parsed_at":"2023-02-09T12:00:54.321Z","dependency_job_id":null,"html_url":"https://github.com/SiriusCourses/lazy-cache","commit_stats":null,"previous_names":["cheopslab/lazy-cache"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/SiriusCourses/lazy-cache","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiriusCourses%2Flazy-cache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiriusCourses%2Flazy-cache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiriusCourses%2Flazy-cache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiriusCourses%2Flazy-cache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SiriusCourses","download_url":"https://codeload.github.com/SiriusCourses/lazy-cache/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiriusCourses%2Flazy-cache/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":343680568,"owners_count":38146819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-09T02:00:07.585Z","response_time":55,"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":"SiriusCourses","name":"Сириус.Курсы","uuid":"72669943","kind":"organization","description":"We build educational platforms","email":null,"website":"https://sirius-courses.ru/","location":"Russia, Moscow","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/72669943?v=4","repositories_count":1,"last_synced_at":"2023-05-04T15:48:32.637Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/SiriusCourses","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-19T14:44:47.302Z","updated_at":"2023-05-04T15:48:32.641Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SiriusCourses","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SiriusCourses/repositories"},"tags":[{"name":"v0.2.0.0","sha":"e2fc58551a8a7d6e9ec57942dc24a299d9ffd4f8","kind":"tag","published_at":"2023-01-06T06:52:30.000Z","download_url":"https://codeload.github.com/SiriusCourses/lazy-cache/tar.gz/v0.2.0.0","html_url":"https://github.com/SiriusCourses/lazy-cache/releases/tag/v0.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/SiriusCourses/lazy-cache@v0.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiriusCourses%2Flazy-cache/tags/v0.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiriusCourses%2Flazy-cache/tags/v0.2.0.0/manifests"}]},"repo_metadata_updated_at":"2026-10-09T16:37:31.232Z","dependent_packages_count":0,"downloads":151,"downloads_period":"total","dependent_repos_count":1,"rankings":{"downloads":97.70783441669518,"dependent_repos_count":36.76017789941841,"dependent_packages_count":19.055764625384878,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":51.17459231383282},"purl":"pkg:hackage/lazy-cache","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/hackage/lazy-cache","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/hackage/lazy-cache","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/hackage/lazy-cache/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-18T17:09:39.708Z","issues_count":1,"pull_requests_count":2,"avg_time_to_close_issue":74341.0,"avg_time_to_close_pull_request":134788.0,"issues_closed_count":1,"pull_requests_closed_count":2,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":1.0,"avg_comments_per_pull_request":0.5,"merged_pull_requests_count":2,"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/siriuscourses%2Flazy-cache/issues","maintainers":[{"login":"qnikst","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qnikst"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/lazy-cache/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/lazy-cache/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/lazy-cache/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/lazy-cache/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/lazy-cache/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/lazy-cache/codemeta","maintainers":[{"uuid":"AlexanderVershilov","login":"AlexanderVershilov","name":null,"email":null,"url":null,"packages_count":21,"html_url":"https://hackage.haskell.org/user/AlexanderVershilov","role":null,"created_at":"2023-01-06T06:57:03.955Z","updated_at":"2023-01-06T06:57:03.955Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/AlexanderVershilov/packages"}]}