2006
DOI: 10.1016/j.tcs.2006.06.028
|View full text |Cite
|
Sign up to set email alerts
|

Type checking a multithreaded functional language with session types

Abstract: We define a language whose type system, incorporating session types, allows complex protocols to be specified by types and verified by static typechecking. A session type, associated with a communication channel, specifies the state transitions of a protocol and also the data types of messages associated with transitions; thus typechecking can verify both correctness of individual messages and correctness of sequences of transitions. Previously, session types have mainly been studied in the context of the π-ca… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
60
0

Year Published

2007
2007
2021
2021

Publication Types

Select...
6
2

Relationship

1
7

Authors

Journals

citations
Cited by 75 publications
(60 citation statements)
references
References 27 publications
0
60
0
Order By: Relevance
“…In order to guarantee protocol soundness it is crucial to introduce a duality relation between shared session types which ensures that two sessions agree with each other with respect to the order in which data are communicated and with respect to the types of the communicated data. The introduction of bounded polymorphism allows to relate more than one session type to another session type, in contrast to the systems of [1,12,16,20,30], where each session type has a unique dual. The definition of this relation (denoted by ) is given in Fig.…”
Section: Typesmentioning
confidence: 99%
“…In order to guarantee protocol soundness it is crucial to introduce a duality relation between shared session types which ensures that two sessions agree with each other with respect to the order in which data are communicated and with respect to the types of the communicated data. The introduction of bounded polymorphism allows to relate more than one session type to another session type, in contrast to the systems of [1,12,16,20,30], where each session type has a unique dual. The definition of this relation (denoted by ) is given in Fig.…”
Section: Typesmentioning
confidence: 99%
“…As mentioned in the introduction, work on session types for functional languages started with our own work (Gay et al 2003;Vasconcelos et al 2004Vasconcelos et al , 2006. Neubauer and Thiemann (2004a) showed how to implement session types on top of the Haskell programming language; furthermore, Neubauer and Thiemann (2004b) modelled software components as concurrent functional processes and used session types to extract the smallest protocol required by each process; in addition, they addressed the problem of program transformation, from sequential to multi-tier, guided by session types (Neubauer and Thiemann 2005).…”
Section: Related and Future Workmentioning
confidence: 99%
“…Much of the research has defined systems of session types for pi calculus and related process calculi, but recently there has been considerable interest in session types for more standard language paradigms. Our own previous work (Gay et al 2003;Vasconcelos et al 2004Vasconcelos et al , 2006 was the first proposal for a functional language with session types. Neubauer and Thiemann (2004a) took a different approach, embedding session types within the type system of Haskell.…”
Section: Introductionmentioning
confidence: 99%
“…They were firstly introduced for a dialect of the pi calculus (Honda et al, 1998;Takeuchi et al, 1994). Later the concept has been transferred to different realms, including functional Vasconcelos et al, 2006) and object-oriented programming (Capecchi et al, 2009;Coppo et al, 2007;Dezani-Ciancaglini et al, 2005;Dezani-Ciancaglini et al, 2007;Dezani-Ciancaglini et al, 2006;Hu et al, 2008), service oriented computing (Cruz-Filipe et al, 2008;Bruni and Mezzina, 2008) and operating systems (Fähndrich et al, 2006), to name a few; the reader is referred to (Dezani-Ciancaglini and de'Liguoro, 2010) for a recent overview.…”
Section: Introductionmentioning
confidence: 99%