experimental subtyping system
Find a file
2025-05-05 13:05:03 +02:00
example added type grammar to readme, add example, del spho loc 2025-05-05 13:05:03 +02:00
include added type grammar to readme, add example, del spho loc 2025-05-05 13:05:03 +02:00
src sphophi decorating with types 2025-05-01 18:16:10 +02:00
.clangd prefix notation type parser 2025-04-19 20:35:42 +03:00
.gitignore prefix notation type parser 2025-04-19 20:35:42 +03:00
CMakeLists.txt sphophi decorating with types 2025-05-01 18:16:10 +02:00
LICENSE Initial commit 2025-04-09 14:21:40 +02:00
README.md added type grammar to readme, add example, del spho loc 2025-05-05 13:05:03 +02:00

log-e-sappho

experimental type system implementation

sappho grammar

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