https://github.com/lysxia/cochis
Calculus of coherent implicits
https://github.com/lysxia/cochis
Last synced: about 1 year ago
JSON representation
Calculus of coherent implicits
- Host: GitHub
- URL: https://github.com/lysxia/cochis
- Owner: Lysxia
- License: mit
- Created: 2017-07-09T17:44:30.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-07-27T17:24:16.000Z (almost 9 years ago)
- Last Synced: 2025-02-16T15:53:39.801Z (over 1 year ago)
- Language: Haskell
- Size: 15.6 KB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Calculus of CoHerent ImplicitS
Type checker for the Cochis calculus and translation to explicit terms.
Based on *Cochis: Deterministic and Coherent Implicits*,
a technical report by
Tom Schrijvers, Bruno C. d. S. Oliveira, Philip Wadler (2017).
Language:
E = x -- variable
| \x -> E -- abstraction (λ)
| E E -- application
| (E :: forall a. _) -- type abstraction (Λ)
| E @T -- type application
| implicit @i E -- implicit abstraction (λ?)
| with E E -- implicit application
| (_ :: T) -- implicit query (?)
Note: (with e1 e0) is the implicit function e0 applied to e1
T = a -- variable
| A -- type constructor
| forall a. T -- universal type
| T -> T -- function type
| T ~> T -- rule type