All Projects β†’ RedPRL β†’ Cooltt

RedPRL / Cooltt

Licence: apache-2.0
😎TT

Programming Languages

ocaml
1615 projects

Projects that are alternatives of or similar to Cooltt

path semantics
A research project in path semantics, a re-interpretation of functions for expressing mathematics
Stars: ✭ 136 (+60%)
Mutual labels:  type-theory
Datafun
Research on integrating datalog & lambda calculus via monotonicity types
Stars: ✭ 287 (+237.65%)
Mutual labels:  type-theory
Mlang
Towards changing things and see if it proofs
Stars: ✭ 57 (-32.94%)
Mutual labels:  type-theory
Isabelle-HoTT
An experimental implementation of homotopy type theory in the interactive proof assistant Isabelle
Stars: ✭ 30 (-64.71%)
Mutual labels:  type-theory
lplzoo
Fine-grain implementations of common lambda calculi in Haskell, tested with QuickCheck
Stars: ✭ 32 (-62.35%)
Mutual labels:  type-theory
Cubicaltt
Experimental implementation of Cubical Type Theory
Stars: ✭ 461 (+442.35%)
Mutual labels:  type-theory
tt-in-cubical
Type Theory in Type Theory using Cubical Agda
Stars: ✭ 12 (-85.88%)
Mutual labels:  type-theory
Modules Papers
A collection of papers on modules.
Stars: ✭ 74 (-12.94%)
Mutual labels:  type-theory
Write You A Haskell
Building a modern functional compiler from first principles. (http://dev.stephendiehl.com/fun/)
Stars: ✭ 3,064 (+3504.71%)
Mutual labels:  type-theory
Hott
Homotopy type theory
Stars: ✭ 946 (+1012.94%)
Mutual labels:  type-theory
MLPolyR
The MLPolyR programming language, revived
Stars: ✭ 21 (-75.29%)
Mutual labels:  type-theory
types-and-programming-languages
Exercises from Benjamin Pierce's "Types and Programming Languages" textbook + extras!
Stars: ✭ 92 (+8.24%)
Mutual labels:  type-theory
Plt
λΠ Programming Language Theory
Stars: ✭ 4,609 (+5322.35%)
Mutual labels:  type-theory
variant
Variant types in TypeScript
Stars: ✭ 147 (+72.94%)
Mutual labels:  type-theory
Narc Rs
(WIP) Dependently-typed programming language with Agda style dependent pattern matching
Stars: ✭ 58 (-31.76%)
Mutual labels:  type-theory
cicada
Cicada Language
Stars: ✭ 9 (-89.41%)
Mutual labels:  type-theory
Typedefs
Programming language agnostic type construction language based on polynomials.
Stars: ✭ 337 (+296.47%)
Mutual labels:  type-theory
Formal Type Theory
Formalising Type Theory in a modular way for translations between type theories
Stars: ✭ 74 (-12.94%)
Mutual labels:  type-theory
Rust Nbe For Mltt
Normalization by evaluation for Martin-LΓΆf Type Theory with dependent records
Stars: ✭ 72 (-15.29%)
Mutual labels:  type-theory
Pikelet
A friendly little systems language with first-class types. Very WIP! 🚧 🚧 🚧
Stars: ✭ 485 (+470.59%)
Mutual labels:  type-theory

cooltt

A cool implementation of normalization by evaluation (nbe) & elaboration for Cartesian cubical type theory.

For examples, see the test/ directory.

This implementation is forked from blott, the implementation artifact of Implementing a Modal Dependent Type Theory by Gratzer, Sterling, and Birkedal. Code has been incorporated from redtt, implemented by Sterling and Favonia.

building

cooltt has been built with OCaml 4.10.0 with opam 2.0.5. If you are running an older version of OCaml, try executing the following command:

$ opam switch create 4.10.0

Once these dependencies are installed cooltt can be built with the following set of commands.

$ opam update
$ opam pin add -y cooltt .              # first time
$ opam upgrade                          # after packages change

After this, the executable cooltt should be available. The makefile can be used to rebuild the package for small tests. Locally, cooltt is built with dune, running the above commands will also install dune. Once dune is available the executable can be locally changed and run with the following:

$ dune exec cooltt                      # from the `cooltt` top-level directory

A small collection of example programs is contained in the test/ directory. See test/README.md for a brief description of each program's purpose.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].