An Effectful Treatment of Dependent Types
We extend Levy's call-by-push-value (CBPV) analysis from simple to dependent type theory (DTT) in order to study the interaction between computational effects and dependent types. We define the naive system of dependently typed CBPV, dCBPV-, and its extension with a principle of Kleisli extensi...
Saved in:
Main Author | |
---|---|
Format | Journal Article |
Language | English |
Published |
14.03.2016
|
Subjects | |
Online Access | Get full text |
DOI | 10.48550/arxiv.1603.04298 |
Cover
Summary: | We extend Levy's call-by-push-value (CBPV) analysis from simple to dependent
type theory (DTT) in order to study the interaction between computational
effects and dependent types. We define the naive system of dependently typed
CBPV, dCBPV-, and its extension with a principle of Kleisli extensions for
dependent functions, dCBPV+. We investigate these systems from the points of
view of syntax, categorical semantics, concrete models and operational
semantics, in presence of a range of effects. We observe that, while the
expressive power of dCBPV+ is needed if we want well-defined call-by-value
(CBV) and call-by-name (CBN) translations of DTT, it is a less straightforward
system than dCBPV-, in presence of some effects. Indeed, to be able to
construct specific models and to retain the subject reduction property in the
operational semantics, we are required to impose certain subtyping conditions,
the idea being that the type of a computation may only become more (not less)
specified as certain effects are executed. |
---|---|
DOI: | 10.48550/arxiv.1603.04298 |