{"id":21540639,"url":"https://github.com/tchajed/heedless-db","last_synced_at":"2026-05-18T11:05:55.975Z","repository":{"id":147768095,"uuid":"161345352","full_name":"tchajed/heedless-db","owner":"tchajed","description":"Simple, persistent key-value store implemented in Haskell to prototype a verified version","archived":false,"fork":false,"pushed_at":"2019-01-31T15:08:54.000Z","size":42,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-17T22:31:38.698Z","etag":null,"topics":["database","key-value"],"latest_commit_sha":null,"homepage":"","language":"Haskell","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/tchajed.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE","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":"2018-12-11T14:21:54.000Z","updated_at":"2019-11-17T02:17:24.000Z","dependencies_parsed_at":"2023-05-10T11:30:33.086Z","dependency_job_id":null,"html_url":"https://github.com/tchajed/heedless-db","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tchajed/heedless-db","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tchajed%2Fheedless-db","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tchajed%2Fheedless-db/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tchajed%2Fheedless-db/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tchajed%2Fheedless-db/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tchajed","download_url":"https://codeload.github.com/tchajed/heedless-db/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tchajed%2Fheedless-db/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33175869,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["database","key-value"],"created_at":"2024-11-24T04:19:41.664Z","updated_at":"2026-05-18T11:05:55.948Z","avatar_url":"https://github.com/tchajed.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Heedless DB\n\n[![Build Status](https://travis-ci.org/tchajed/heedless-db.svg?branch=master)](https://travis-ci.org/tchajed/heedless-db)\n\nA simple, persistent key-value store implemented in Haskell. This is a prototype for a verified version, along the same lines as [specious-db](https://github.com/tchajed/specious-db), but implemented in Haskell to more closely resemble our shallow embedding and extraction approach for getting runnable code.\n\nThe goal is to implement the same functionality as specious-db and benchmark to identify whether Haskell performance is acceptable and what we need to do to ensure that.\n\n## TODO\n\n- Figure out how to handle available operations from data structures. This resembles the problem we have in Coq of keeping track of references to data structures and the filesystem. The current solution for the filesystem involves writing the implementation in a typeclass that has MonadIO + all the operations we want; this is pretty good because it looks like a layer, but it's awkward when there are lots of operations.\n- First test: get just a write-ahead log working (meaning port `wal.go`) and run the database only enough to fill the log, compare performance of that.\n- Need to figure out how efficient array access in Haskell is using mutable arrays from the `array` package.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftchajed%2Fheedless-db","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftchajed%2Fheedless-db","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftchajed%2Fheedless-db/lists"}