{"id":31942115,"url":"https://github.com/effectfully/monad-var","last_synced_at":"2025-10-14T09:26:04.476Z","repository":{"id":56847412,"uuid":"108245798","full_name":"effectfully/monad-var","owner":"effectfully","description":"Generic operations over variables","archived":false,"fork":false,"pushed_at":"2021-03-06T13:08:41.000Z","size":24,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-27T17:47:42.261Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/effectfully.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-25T09:04:59.000Z","updated_at":"2021-03-06T13:08:42.000Z","dependencies_parsed_at":"2022-08-30T20:21:11.633Z","dependency_job_id":null,"html_url":"https://github.com/effectfully/monad-var","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/effectfully/monad-var","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effectfully%2Fmonad-var","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effectfully%2Fmonad-var/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effectfully%2Fmonad-var/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effectfully%2Fmonad-var/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/effectfully","download_url":"https://codeload.github.com/effectfully/monad-var/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effectfully%2Fmonad-var/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018622,"owners_count":26086404,"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-14T02:00:06.444Z","response_time":60,"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":[],"created_at":"2025-10-14T09:26:01.913Z","updated_at":"2025-10-14T09:26:04.471Z","avatar_url":"https://github.com/effectfully.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# monad-var\n\nThe aim of this library is to provide a unified set of operations (`new`, `read`, `write`, `swap`, various strict `mutate*` functions and their derivatives (like mutate-and-return-the-old-value) and a certain interface for `MVar`-like things) over all common variable types: `IORef`, `STRef s`, `MVar`, `TVar`, `TMVar`.\n\nWhen possible type classes are generalized to be over abstract containers rather than variables: e.g. it'd make sense to implement `MonadRead TChan` and `MonadMutate_ Vector` instances, but no such instances are provided right now.\n\nFor details see the [announce](https://github.com/effectfully-ou/sketches/tree/master/ann-monad-var).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feffectfully%2Fmonad-var","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feffectfully%2Fmonad-var","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feffectfully%2Fmonad-var/lists"}