{"id":15366619,"url":"https://github.com/turbomack/queue","last_synced_at":"2026-02-24T17:38:07.927Z","repository":{"id":62419628,"uuid":"90181420","full_name":"turboMaCk/queue","owner":"turboMaCk","description":"Simple FIFO (first in, first out) Queue implementation in Elm","archived":false,"fork":false,"pushed_at":"2025-02-13T12:27:05.000Z","size":30,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T21:24:50.555Z","etag":null,"topics":["data-structures","elm","queue"],"latest_commit_sha":null,"homepage":"http://package.elm-lang.org/packages/turboMaCk/queue/latest","language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/turboMaCk.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2017-05-03T18:35:50.000Z","updated_at":"2025-02-13T12:27:09.000Z","dependencies_parsed_at":"2022-11-01T17:01:11.872Z","dependency_job_id":null,"html_url":"https://github.com/turboMaCk/queue","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turboMaCk%2Fqueue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turboMaCk%2Fqueue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turboMaCk%2Fqueue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turboMaCk%2Fqueue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/turboMaCk","download_url":"https://codeload.github.com/turboMaCk/queue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248844058,"owners_count":21170486,"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","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":["data-structures","elm","queue"],"created_at":"2024-10-01T13:19:19.413Z","updated_at":"2026-02-24T17:38:07.920Z","avatar_url":"https://github.com/turboMaCk.png","language":"Elm","readme":"# Queue\n\n![status](https://github.com/turboMaCk/queue/actions/workflows/elm.yaml/badge.svg?branch=master)\n\nSimple **FIFO** (first in, first out) queue data structure. First element added to the `Queue` is the first one to be removed.\nIf you're interested in double-ended queue implementation please see [folkertdev/elm-deque](http://package.elm-lang.org/packages/folkertdev/elm-deque/latest).\n\nFeedback and contributions to both code and documentation are very welcome.\n\n# Performance\n\nThis implementation uses pair of `List`s\nas described by Chris Okasaki in his [Purely Functional Data Structures](https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf)\n(page 15). One list is used for dequeuing elements, the other one is used for enqueuing new ones. Items in enqueuing `List` are\nstored in reversed order so adding new elements is cheap (*O(1)*). When last element is taken out from dequeuing list\nrebalancing of `Queue` happens. Rebalacing is done by reversing enqueuing list and storing it as new dequeuing list. This is costly operation\n(*O(n)*). However it shouldn't happen too often due to access from just one side of a `Queue`. Most of the time both\n`enqueue` and `dequeue` happens in *O(1)*. `front` is guaranteed to be *O(1)*.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturbomack%2Fqueue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fturbomack%2Fqueue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturbomack%2Fqueue/lists"}