{"id":17537654,"url":"https://github.com/zenhack/haskell-capnp","last_synced_at":"2025-07-29T05:32:46.732Z","repository":{"id":48604930,"uuid":"58874065","full_name":"zenhack/haskell-capnp","owner":"zenhack","description":"Cap'n Proto for Haskell","archived":false,"fork":false,"pushed_at":"2023-06-24T03:32:45.000Z","size":4140,"stargazers_count":96,"open_issues_count":18,"forks_count":13,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-21T10:16:38.740Z","etag":null,"topics":["capn-proto","capnp","capnproto","haskell","rpc","serialization"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zenhack.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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},"funding":{"github":"zenhack"}},"created_at":"2016-05-15T17:11:49.000Z","updated_at":"2025-03-27T18:17:45.000Z","dependencies_parsed_at":"2024-11-01T03:03:29.956Z","dependency_job_id":"42077b95-f081-4eac-bb90-61936b4a5e0d","html_url":"https://github.com/zenhack/haskell-capnp","commit_stats":{"total_commits":2356,"total_committers":6,"mean_commits":392.6666666666667,"dds":"0.015280135823429575","last_synced_commit":"4839b7656b432eb8fbfde0a56aaff6021d62f7f1"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/zenhack/haskell-capnp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenhack%2Fhaskell-capnp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenhack%2Fhaskell-capnp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenhack%2Fhaskell-capnp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenhack%2Fhaskell-capnp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zenhack","download_url":"https://codeload.github.com/zenhack/haskell-capnp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenhack%2Fhaskell-capnp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267633670,"owners_count":24118777,"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-07-29T02:00:12.549Z","response_time":2574,"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":["capn-proto","capnp","capnproto","haskell","rpc","serialization"],"created_at":"2024-10-20T20:42:23.677Z","updated_at":"2025-07-29T05:32:46.698Z","avatar_url":"https://github.com/zenhack.png","language":"Haskell","funding_links":["https://github.com/sponsors/zenhack"],"categories":[],"sub_categories":[],"readme":"[![hackage][hackage-img]][hackage]\n\nA Haskell library for the [Cap'N Proto][1] Cerialization and RPC\nprotocol.\n\nNote, this project's official home is [on\ncodeberg](https://codeberg.org/zenhack/haskell-capnp); if you're viewing\nthis elsewhere, this is a mirror. For trivial changes we'll still accept\npatches here, but please file issues and submit more substantial changes\nvia codeberg.\n\n# Getting Started\n\nThere is a module `Capnp.Tutorial` which contains an introduction\nto the library; users are *strongly* encouraged to read this first, as\nthe reference documentation can be bewildering without that context.\n\n# Status\n\nSerialization support works, with some limitations:\n\n* We do not support defining custom default values for fields of pointer\n  type; see ([#28][issue28]).\n* We currently do not correctly handle decoding lists of structs from\n  non-composite lists ([#27][issue27]). This means that, contrary to the\n  [protocol evolution rules][2], it is not safe to change a field from\n  type List(T) (where T is any non-struct type) to a list of a struct\n  type.\n\nLevel 1 RPC support is implemented and usable, though it should be\nconsidered alpha quality for now. Specific things to be aware of:\n\n* The implementation is *not* robust against resource exhaustion\n  attacks; for now users are strongly discouraged from using it to do\n  RPC with untrusted peers.\n\nThe API is considered unstable. It will likely see changes, for the\nsake of polish, consistency, etc. as well as to improve performance and\naccommodate more features as we add them.\n\n[1]: https://capnproto.org/\n[2]: https://capnproto.org/language.html#evolving-your-protocol\n\n[issue27]: https://codeberg.org/zenhack/haskell-capnp/issues/27\n[issue28]: https://codeberg.org/zenhack/haskell-capnp/issues/28\n\n[hackage-img]: https://img.shields.io/hackage/v/capnp.svg\n[hackage]: https://hackage.haskell.org/package/capnp\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenhack%2Fhaskell-capnp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzenhack%2Fhaskell-capnp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenhack%2Fhaskell-capnp/lists"}