{"id":22354577,"url":"https://github.com/kleidukos/cache-effectful","last_synced_at":"2025-07-30T09:31:20.751Z","repository":{"id":43684912,"uuid":"458599247","full_name":"Kleidukos/cache-effectful","owner":"Kleidukos","description":"Bindings to the `cache` library for the Effectful ecosystem","archived":false,"fork":false,"pushed_at":"2024-04-02T21:56:56.000Z","size":11,"stargazers_count":8,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-25T08:49:36.316Z","etag":null,"topics":["effect-system","effectful"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kleidukos.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2022-02-12T17:59:40.000Z","updated_at":"2024-10-07T09:47:09.000Z","dependencies_parsed_at":"2025-01-05T21:42:30.422Z","dependency_job_id":"82463b20-19d5-41b9-b2b6-39abc6910b36","html_url":"https://github.com/Kleidukos/cache-effectful","commit_stats":null,"previous_names":["kleidukos/cache-effectful","haskell-effectful/cache-effectful"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Kleidukos/cache-effectful","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kleidukos%2Fcache-effectful","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kleidukos%2Fcache-effectful/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kleidukos%2Fcache-effectful/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kleidukos%2Fcache-effectful/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kleidukos","download_url":"https://codeload.github.com/Kleidukos/cache-effectful/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kleidukos%2Fcache-effectful/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267845642,"owners_count":24153769,"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-07-30T02:00:09.044Z","response_time":70,"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"}},"keywords":["effect-system","effectful"],"created_at":"2024-12-04T13:13:47.600Z","updated_at":"2025-07-30T09:31:20.452Z","avatar_url":"https://github.com/Kleidukos.png","language":"Haskell","readme":"# effectful-cache [![CI-badge][CI-badge]][CI-url]\n\nA `Cache` effect for the [`effectful`][effectful] ecosystem.\n\n## How to use\n\nThis library exposes the following elements:\n\n* `Cache` — The type-level effect that you can declare in your type signatures.\n\n```\npopulateIntCache :: (Cache Int Int :\u003e es) =\u003e Eff es ()\n```\n\n* `insert`, `lookup`, `keys`, `delete`, `filterWithKey` – Operations on `Cache`. They should always be used with Type Applications when using literals:\n\n```Haskell\ninsertAndLookup :: (Cache Int Int :\u003e es) =\u003e Eff es (Maybe Int)\ninsertAndLookup = do\n  insert @Int @Int 3 12\n  lookup @Int 3\n\nlistKeys :: (Cache Int Int :\u003e es) =\u003e Eff es [Int]\nlistKeys = do\n  populateIntCache\n  keys @Int @Int\n```\n\n* An IO Runner\n\n```\nrunCacheIO (cache :: Data.Cache Int Int)\n```\n\nSee the [tests][tests] to see an example use.\n\n[effectful]: https://github.com/haskell-effectful/effectful\n[tests]: https://github.com/haskell-effectful/effectful-cache/blob/main/effectful-cache/test/Main.hs\n[CI-badge]: https://img.shields.io/github/workflow/status/haskell-effectful/effectful-cache/CI?style=flat-square\n[CI-url]: https://github.com/haskell-effectful/effectful-cache/actions\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkleidukos%2Fcache-effectful","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkleidukos%2Fcache-effectful","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkleidukos%2Fcache-effectful/lists"}