type fixes and bindings + notes on subtyping
This commit is contained in:
parent
7e3c7c88ea
commit
c18f56f7be
28 changed files with 2253 additions and 783 deletions
37
README.md
37
README.md
|
@ -2,25 +2,24 @@
|
|||
|
||||
experimental type system implementation
|
||||
|
||||
## sappho grammar
|
||||
## getting and building
|
||||
|
||||
```
|
||||
s, t ::= s | t (disjunction, a.k.a. union)
|
||||
| s & t (conjunction, a.k.a. intersection)
|
||||
| s => t (implication)
|
||||
| s -> t (arrow, a.k.a. function)
|
||||
| forall x . t (forall, polymorphic)
|
||||
| box t (box, modular logic)
|
||||
| a [t..] (type operator application)
|
||||
| x (variable)
|
||||
| n (nominal)
|
||||
| true (true, a.k.a. top)
|
||||
| false (false, a.k.a. bottom)
|
||||
| { m : t } (member, a.k.a. atomic record)
|
||||
|
||||
|
||||
x ∈ var
|
||||
n ∈ nominal
|
||||
a ∈ opname
|
||||
```sh
|
||||
git clone ssh://git@gitta.log-e.se:222/lnsol/log-e-sappho.git
|
||||
cd ./log-e-sappho
|
||||
cmake . -B build
|
||||
cd build
|
||||
make
|
||||
```
|
||||
|
||||
## repository content
|
||||
|
||||
This repository contains:
|
||||
|
||||
* a library implementation of *sappho* called `spho`.
|
||||
* a simple language parser (and soon type checker), called `msph`, developed in
|
||||
tandem with `spho`.
|
||||
* documentation of the sappho type system in `docs/`
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue