2015
DOI: 10.1007/978-3-319-19195-9_1
|View full text |Cite
|
Sign up to set email alerts
|

Types for Deadlock-Free Higher-Order Programs

Abstract: Abstract. Type systems for communicating processes are typically studied using abstract models -e.g., process algebras -that distill the communication behavior of programs but overlook their structure in terms of functions, methods, objects, modules. It is not always obvious how to apply these type systems to structured programming languages. In this work we port a recently developed type system that ensures deadlock freedom in the π-calculus to a higher-order language.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
18
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
2
2
1

Relationship

1
4

Authors

Journals

citations
Cited by 11 publications
(18 citation statements)
references
References 17 publications
0
18
0
Order By: Relevance
“…In general, the structure of a program may prevent the type checker from knowing the behavior of the program beyond a certain horizon, which is in contrast with the rightmost premise of rule [T-IN]. In [32] we have shown how to adapt the type system for deadlock freedom to a higher-order concurrent programming language based on linear channels. The basic idea is to use an effect system to keep track of the channels occurring in, and used by, functions so as to enable a compositional analysis of programs.…”
Section: Discussionmentioning
confidence: 99%
“…In general, the structure of a program may prevent the type checker from knowing the behavior of the program beyond a certain horizon, which is in contrast with the rightmost premise of rule [T-IN]. In [32] we have shown how to adapt the type system for deadlock freedom to a higher-order concurrent programming language based on linear channels. The basic idea is to use an effect system to keep track of the channels occurring in, and used by, functions so as to enable a compositional analysis of programs.…”
Section: Discussionmentioning
confidence: 99%
“…We present Priority GV (PGV), a session-typed functional language based on GV [54,39] which uses prioritiesà la Kobayashi and Padovani [34,45] to enforce deadlock freedom. Priority GV o↵ers a more fine-grained analysis of communication structures, and by separating channel creation form thread spawning it allows cyclic structures.…”
Section: Priority Gvmentioning
confidence: 99%
“…Priorities are based on obligations/capabilities used by Kobayashi [34], and simplified to single priorities following Padovani [44]. The integration of priorities into GV is adapted from Padovani and Novara [45]. Paraphrasing Dardha and Gay [20], priorities obey the following two laws: (i) an action with lower priority happens before an action with higher priority; and (ii) communication requires equal priorities for dual actions.…”
Section: Priority Gvmentioning
confidence: 99%
“…Recursion. We could implement recursive session via priority-polymorphic types, or via priority-shifting [53]. For instance, we could give the summation service from section 2.2 the following type:…”
Section: Deadlock Freedom Via Prioritiesmentioning
confidence: 99%
“…Recent works by Padovani and Novara [53] and Kokke and Dardha [PGV,35] integrate priorities [32,51] into functional languages. Priorities are natural numbers that abstractly represent the time at which a communication action happens.…”
Section: Introductionmentioning
confidence: 99%