{"id":21676955,"url":"https://github.com/uwplse/cheerios","last_synced_at":"2025-04-12T05:02:05.178Z","repository":{"id":3852116,"uuid":"51119543","full_name":"uwplse/cheerios","owner":"uwplse","description":"Formally verified Coq serialization library with support for extraction to OCaml","archived":false,"fork":false,"pushed_at":"2023-10-22T09:38:02.000Z","size":379,"stargazers_count":23,"open_issues_count":0,"forks_count":5,"subscribers_count":31,"default_branch":"master","last_synced_at":"2025-03-26T00:34:54.394Z","etag":null,"topics":["coq","coq-library","ocaml","proof","serialization","serialization-library"],"latest_commit_sha":null,"homepage":"","language":"Coq","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uwplse.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,"governance":null}},"created_at":"2016-02-05T01:55:15.000Z","updated_at":"2024-01-28T20:51:09.000Z","dependencies_parsed_at":"2023-01-11T16:33:34.277Z","dependency_job_id":"5326ae6d-ca4b-4f70-a317-1e8648963f6e","html_url":"https://github.com/uwplse/cheerios","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/uwplse%2Fcheerios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uwplse%2Fcheerios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uwplse%2Fcheerios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uwplse%2Fcheerios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uwplse","download_url":"https://codeload.github.com/uwplse/cheerios/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248519464,"owners_count":21117757,"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":["coq","coq-library","ocaml","proof","serialization","serialization-library"],"created_at":"2024-11-25T14:17:00.436Z","updated_at":"2025-04-12T05:02:05.111Z","avatar_url":"https://github.com/uwplse.png","language":"Coq","readme":"# Cheerios\n\n[![Docker CI][docker-action-shield]][docker-action-link]\n\n[docker-action-shield]: https://github.com/uwplse/cheerios/workflows/Docker%20CI/badge.svg?branch=master\n[docker-action-link]: https://github.com/uwplse/cheerios/actions?query=workflow:\"Docker%20CI\"\n\n\n\n\nA formally verified serialization library for Coq\nwhich defines a typeclass for serializable types and instances\nfor many standard library types.\n\n## Meta\n\n- Author(s):\n  - Justin Adsuara\n  - Karl Palmskog\n  - Keith Simmons (initial)\n  - James R. Wilcox (initial)\n  - Doug Woos (initial)\n- License: [BSD 2-Clause \"Simplified\" license](LICENSE)\n- Compatible Coq versions: 8.14 or later\n- Additional dependencies:\n  - [StructTact](https://github.com/uwplse/StructTact)\n- Coq namespace: `Cheerios`\n- Related publication(s): none\n\n## Building and installation instructions\n\nThe easiest way to build and install the Cheerios Coq library is via [opam](http://opam.ocaml.org/doc/Install.html):\n```shell\nopam repo add coq-extra-dev https://coq.inria.fr/opam/extra-dev\nopam install coq-cheerios\n```\n\nTo instead build and install manually, do:\n```shell\ngit clone https://github.com/uwplse/cheerios.git\ncd cheerios\nmake   # or make -j \u003cnumber-of-cores-on-your-machine\u003e \nmake install\n```\n\nTo use serializable types in executable programs, code must be extracted\nto OCaml and linked with the Cheerios runtime library. The connection between\nthe Coq definitions and the runtime library primitives is established in\n`ExtractOCamlCheeriosBasic.v` in the `extraction` directory, which must be\nimported before extraction of serializable types.\n\nTo build and install the OCaml runtime library:\n```shell\nopam pin add cheerios-runtime -k git https://github.com/uwplse/cheerios.git\n```\n\nTo compile the runtime library manually, go to the `runtime` directory\nand run `make` (requires [OCamlbuild](https://github.com/ocaml/ocamlbuild)).\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuwplse%2Fcheerios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuwplse%2Fcheerios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuwplse%2Fcheerios/lists"}