{"id":17213930,"url":"https://github.com/takikawa/tr-pfds","last_synced_at":"2026-01-06T01:32:42.054Z","repository":{"id":2383101,"uuid":"3348626","full_name":"takikawa/tr-pfds","owner":"takikawa","description":"Typed Racket data structure libraries","archived":false,"fork":false,"pushed_at":"2021-11-05T19:51:25.000Z","size":2901,"stargazers_count":58,"open_issues_count":3,"forks_count":13,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-17T19:54:35.181Z","etag":null,"topics":["racket","typed-racket"],"latest_commit_sha":null,"homepage":"","language":"Racket","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/takikawa.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":"2012-02-03T21:46:32.000Z","updated_at":"2023-08-16T01:57:52.000Z","dependencies_parsed_at":"2022-09-07T09:00:13.087Z","dependency_job_id":null,"html_url":"https://github.com/takikawa/tr-pfds","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takikawa%2Ftr-pfds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takikawa%2Ftr-pfds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takikawa%2Ftr-pfds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takikawa%2Ftr-pfds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/takikawa","download_url":"https://codeload.github.com/takikawa/tr-pfds/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245467184,"owners_count":20620210,"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":["racket","typed-racket"],"created_at":"2024-10-15T03:01:24.473Z","updated_at":"2026-01-06T01:32:41.983Z","avatar_url":"https://github.com/takikawa.png","language":"Racket","funding_links":[],"categories":[],"sub_categories":[],"readme":"Functional Data Structures for Typed Racket\n===========================================\n\n[![Build Status](https://travis-ci.org/takikawa/tr-pfds.svg?branch=master)](https://travis-ci.org/takikawa/tr-pfds)\n[![Scribble](https://img.shields.io/badge/Docs-Scribble-blue.svg)](https://docs.racket-lang.org/functional-data-structures/index.html)\n\nThis library provides several functional data structures based on the work\nof Chris Okasaki and Phil Bagwell. Click the badge above the documentation.\n\nThe original library was implemented by Hari Prashanth.\n\nHow to install\n--------------\n\nUse one of:\n\n* `raco pkg install pfds`\n\nor\n\n* `git clone git://github.com/takikawa/tr-pfds.git`\n* `raco pkg install tr-pfds/`\n\nOn Racket v5.3.1 or older, use `raco` to link this repository as\na Racket collection. Here are step-by-step instructions:\n\n* `git clone git://github.com/takikawa/tr-pfds.git`\n* `cd tr-pfds/pfds`\n* `raco link .`\n* `raco setup pfds`\n\nThis will link the `pfds` folder as a collection called `pfds`.\nThen you can require, for example, the Bankers Deque by using\n`(require pfds/deque/bankers)`.\n\nData structures\n---------------\n\nThe following data structures are implemented:\n\n*  Deques\n   +  Bankers Deque   `pfds/deque/bankers`\n   +  Implicit Deque  `pfds/deque/implicit`\n   +  Real-Time Deque `pfds/deque/real-time`\n*  Heaps\n   +  Binomial Heap      `pfds/heap/binomial`\n   +  Skew Binomial Heap `pfds/heap/skew-binomial`\n   +  Leftist Heap       `pfds/heap/leftist`\n   +  Splay Heap         `pfds/heap/splay`\n   +  Pairing Heap       `pfds/heap/pairing`\n   +  Lazy Pairing Heap  `pfds/heap/lazy-pairing`\n   +  Bootstrapped Heap  `pfds/heap/bootstrapped`\n* Queues\n   +  Bankers Queue       `pfds/queue/bankers`\n   +  Physicist's Queue   `pfds/queue/physicists`\n   +  Hood-Melville Queue `pfds/queue/hood-melville`\n   +  Implicit Queue      `pfds/queue/implicit`\n   +  Real-Time Queue     `pfds/queue/real-time`\n*  Random Access Lists\n   +  Binary Random Access List      `pfds/ralist/binary`\n   +  Skew Binary Random Access List `pfds/ralist/skew`\n*  Catenable List   `pfds/catenable-list`\n*  VList            `pfds/vlist`\n*  Streams          `pfds/stream`\n*  Red-Black Trees  `pfds/red-black-tree`\n*  Tries            `pfds/trie`\n*  Treap            `pfds/treap`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakikawa%2Ftr-pfds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftakikawa%2Ftr-pfds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakikawa%2Ftr-pfds/lists"}