{"id":16547562,"url":"https://github.com/waiting-for-dev/elixir_state","last_synced_at":"2026-05-09T01:39:32.561Z","repository":{"id":66166839,"uuid":"65490316","full_name":"waiting-for-dev/elixir_state","owner":"waiting-for-dev","description":"Trying to understand how state is managed in a functional language like Elixir","archived":false,"fork":false,"pushed_at":"2016-08-11T17:59:05.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-04T11:43:24.247Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Elixir","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/waiting-for-dev.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-11T17:56:57.000Z","updated_at":"2016-08-11T17:59:06.000Z","dependencies_parsed_at":"2023-03-30T21:02:49.108Z","dependency_job_id":null,"html_url":"https://github.com/waiting-for-dev/elixir_state","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/waiting-for-dev/elixir_state","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waiting-for-dev%2Felixir_state","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waiting-for-dev%2Felixir_state/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waiting-for-dev%2Felixir_state/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waiting-for-dev%2Felixir_state/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/waiting-for-dev","download_url":"https://codeload.github.com/waiting-for-dev/elixir_state/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waiting-for-dev%2Felixir_state/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32796714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2024-10-11T19:14:41.990Z","updated_at":"2026-05-09T01:39:32.547Z","avatar_url":"https://github.com/waiting-for-dev.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bucket\n\nThis is me, after years with an Object Oriented mindset, trying to understand how state is managed in a functional language like Elixir.\n\nIn the `lib` directory, there are several implementations of a `Bucket` module. It just wraps a dictionary and cat get and put elements on it by key, or consult the current state (dictionary). Completely useless, just a very simple example where state has to be kept. My personal notes are tangled between the code.\n\nThe order in which the files should be read is:\n\n* functional\n* server\n* one_server\n* generic_server\n* gen_server\n* agent\n\nSorry if something is wrong. Please, tell me if you know. This is not very clean nor 100% polished at all, they are just notes I needed and that I want to share just in case somebody is in the same point. If so and you want to discuss about something I'll be happy to learn together.\n\nI needed to order these ideas while reading the great, great book [Elixir in Action](https://www.manning.com/books/elixir-in-action) by [Saša Jurić](http://www.theerlangelist.com/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaiting-for-dev%2Felixir_state","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaiting-for-dev%2Felixir_state","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaiting-for-dev%2Felixir_state/lists"}