ABCDEFGHIJKLMNOPQRSTUVWXYZAAAB
1
how did you deal with binders and linearity, and why?
2
Author(s)LanguageProof AssistantResults/ReferenceRepresentation of bindersProsConsApproach to linearityProsCons
3
Uma Zalakain / Ornela Dardhapi with linear, graded and shared typesAgdahttps://arxiv.org/abs/2005.05902type level de Bruijn indiceswell-scoped by construction, easily mechanisednot immediately human-friendlyleftover typing on partial commutative monoidsno extrinsic context splitsneeds to be cancelative
4
James Wood / Robert AtkeyλR / simple quantitative type theoryAgdahttps://arxiv.org/abs/2005.02247tree-shaped de Bruijn indicesmetatheory just like STλC, no green slimeunreadablesemiring usage annotations
requires only standard linear algebra operations
no clear general approach to usage checking, users have to supply linear algebra proofs
5
Robert Atkeylinear STλCAgda
https://github.com/bobatkey/sorting-types/blob/master/agda/Linear.agda
co-de Bruijn indices
particularly simple in the linear case, readily translated to BCI combinators
even more unreadable than de Bruijn indiceslinear co-de Bruijn indicesno algebra
doesn't readily generalise away from syntactic linearity, users have to supply permutations
6
Luca Ciccone / Luca Padovanilinear pi calculus with dependent pairsAgda
https://gitlab.di.unito.it/luca.padovani/DependentLinearPi
de Brujin indices with Agda-binders in types
Agda functions can compute processes from received messages
somewhat heavy notation, inference possible but only to some extent
semiring usage annotations (one for each input/output capability)
channel types always splittable, pairs strictly linear
writing terms and processes by hand is extremely tedious
7
Guillaume AllaisMALLAgda
https://drops.dagstuhl.de/opus/volltexte/2018/10049/
de BruijnStandard de BruijnStandard de BruijnI/O model to track usages of variables
Easy to adapt to a type checking algorithm
Seems limited to MALL, doesn't handle exponentials
8
Uma Zalakain / Ornela Dardhapi with binary session typesCoq
http://www.dcs.gla.ac.uk/~ornela/projects/Uma%20Zalakain.pdf
polymorphic HOAStransparent to the usercannot reason about in host language
predicate on processes with polymorphic channels
trivial to defineuser loses access to channel type info
9
Adrian Francalanza / Marco Giunti / António Ravaralinear piCoqpaper submittedunique identifiers
names are identifiers (constants), all different (like Barendregts convention, but preserved by reduction); only one reduction rule needs adjusting (comm on replicated names generates fresh identifiers and renames the process template) and extension of names is exclusively localised to this rule (and the contextual rules that use it)
(we do with this support, but other applications might need that)
Addition and subtraction of capabilities as relations on types; addition (combination) of type environments as a relation that reduces to addition on types and is controlled by a well-formedness property
operations on types are partial functions, natural to implement
as type environments are lists that should be maps, insertion needs to be controlled to ensure they are still maps; some degree of non-determinism in the type system complicates soundness proofs
10
Enrico Tassi / Cinzia Di Giustolinear piCoqde Bruijn levels
Addition and subtraction of capabilities as relations on types; addition (combination) of type environments as a relation that reduces to addition on types and is controlled by a well-formedness property
11
Jonas Kastberg Hinrichsen / Daniël Louwrink / Robbert Krebbers / Jesper Bengtson
ML-like language + async affine binary message passing + message/term polymorphism + equi-recursive recursive types + references + copy types + locks
Coq/Iris
https://iris-project.org/pdfs/2020-actris2-submission.pdf
Coq-binders in types, strings in terms
Binders in types feel like HOAS, no meta theory needed
Relies on the semantic approach to type systemsSeparation logic (Iris)
Resource reasoning encapsulated
No so clear how to do other properties than safety (e.g., deadlock)
12
Petros Papapanagiotoupi calculus & CPHOL LightCP on GiHubsyntactic w/ custom substitution (Cf. Melham)quick & easy, no libraries requirednightmare to reason aboutLinear LogicCorrect-by-constructionallowed patterns severely limited
13
Edwin BradyIdrisIdris
https://www.type-driven.org.uk/edwinb/idris-2-quantitative-type-theory-in-action.html
de Bruijn indices with proof of context membership in types
well-scoped by construction, type-driven implementation of context manipulation
Sometimes costly at compile-timeQuantitative Type TheorySession types definable directly"Read only" operations are syntactically noisy
14
Jan de Muijnck-Hughes, Edwin Brady, & Wim VanderbauwhedeIdrisIdrishttps://doi.org/10.4204/EPTCS.291.5
de Bruijn indicies with proof of context membership in types.
well-scoped by construction, type-driven implementation of context manipulation
Sometimes costly at compile-timeresource dependent type-system.
Safe-Value-dependent session descriptions.
Still working on projection.
15
Kirstin Peterspi with multiparty session typesIsabelle/HOLNominal Setsbinders are used similar to paper proofsrequires equivariance proofs
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100