{"id":15061176,"url":"https://github.com/redprl/cooltt","last_synced_at":"2025-04-09T13:09:36.607Z","repository":{"id":36999010,"uuid":"229336366","full_name":"RedPRL/cooltt","owner":"RedPRL","description":"😎TT","archived":false,"fork":false,"pushed_at":"2023-10-21T17:39:40.000Z","size":3646,"stargazers_count":225,"open_issues_count":33,"forks_count":14,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-04-09T13:09:32.356Z","etag":null,"topics":["cubical-type-theory","homotopy-type-theory","ocaml","ocaml-program","proof-assistant","type-theory"],"latest_commit_sha":null,"homepage":"http://www.redprl.org/","language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RedPRL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2019-12-20T21:06:30.000Z","updated_at":"2025-03-05T01:52:19.000Z","dependencies_parsed_at":"2023-02-15T12:01:36.897Z","dependency_job_id":"6fe86ec0-25c3-41f9-869f-9b27bca8ec67","html_url":"https://github.com/RedPRL/cooltt","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/RedPRL%2Fcooltt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedPRL%2Fcooltt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedPRL%2Fcooltt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedPRL%2Fcooltt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RedPRL","download_url":"https://codeload.github.com/RedPRL/cooltt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248045245,"owners_count":21038554,"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":["cubical-type-theory","homotopy-type-theory","ocaml","ocaml-program","proof-assistant","type-theory"],"created_at":"2024-09-24T23:11:04.039Z","updated_at":"2025-04-09T13:09:36.586Z","avatar_url":"https://github.com/RedPRL.png","language":"OCaml","readme":"## cooltt\n\nA cool implementation of normalization by evaluation (NbE) \u0026 elaboration for\nCartesian cubical type theory.\n\nFor examples, see the `test/` directory.\n\nThis implementation is forked from `blott`, the implementation artifact of\n[Implementing a Modal Dependent Type Theory](https://doi.acm.org/10.1145/3341711)\nby Gratzer, Sterling, and Birkedal. Code has been incorporated from\n[redtt](https://www.github.com/RedPRL/redtt), implemented by Sterling and\nFavonia.\n\nA small collection of example programs is contained in the `test/` directory.\nSee `test/README.md` for a brief description of each program's purpose.\n\n## Building\n\ncooltt has been built with OCaml 5.0 with [opam 2.0.8](https://opam.ocaml.org/).\n\n### With OPAM\n\nIf you are running an older version of OCaml, try executing the following command:\n\n```\n$ opam switch create 5.0.0\n```\n\nOnce these dependencies are installed cooltt can be built with the following set of commands.\n\n```\n$ opam update\n$ opam pin add -y cooltt .              # first time\n$ opam upgrade                          # after packages change\n```\n\nAfter this, the executable `cooltt` should be available. The makefile can be\nused to rebuild the package for small tests. Locally, cooltt is built with\n[dune](https://dune.build); running the above commands will also install dune.\nOnce dune is available the executable can be locally changed and run with the\nfollowing:\n\n```\n$ make upgrade-pins                     # update and upgrade dependencies in active development\n$ dune exec cooltt                      # from the `cooltt` top-level directory\n```\n\n### With Nix\n\nFirst, you'll need the [Nix package manager](https://nixos.org/download.html), and then\nyou'll need to [install or enable flakes](https://nixos.wiki/wiki/Flakes).\n\nThen, cooltt can be built with the command\n\n```\nnix build\n```\n\nto put a binary `cooltt` in `result/bin/cooltt`. This is good for if you just want to build\nand play around with cooltt.\n\nIf you're working on cooltt, you can enter a development shell with an OCaml compiler, dune,\nand other tools with\n\n```\nnix develop\n```\n\nand then build as in the [with OPAM](https://github.com/RedPRL/cooltt/#with-opam=) section\nabove.\n\n## Acknowledgments\n\nThis research was supported by the Air Force Office of Scientific Research under MURI grants FA9550-15-1-0053, FA9550-19-1-0216, and FA9550-21-1-0009. Any opinions, findings and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of any sponsoring institution, government or any other entity.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredprl%2Fcooltt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredprl%2Fcooltt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredprl%2Fcooltt/lists"}