University of Sussex
Browse
tase.pdf (349.11 kB)

Asynchronous sessions with implicit functions and messages

Download (349.11 kB)
conference contribution
posted on 2023-06-09, 14:16 authored by Alexander Jeffery, Martin BergerMartin Berger
Session types are a well-established approach to ensuring protocol conformance and the absence of communication errors such as deadlocks in message passing systems. Haskell introduced implicit parameters, Scala popularised this feature and recently gave implicit types first-class status, yielding an expressive tool for handling context dependencies in a type-safe yet terse way. We ask: can type-safe implicit functions be generalised from Scala’s sequential setting to message passing computation? We answer this question in the affirmative by presenting the first concurrent functional language with implicit message passing. The key idea is to generalise the concept of an implicit function to an implicit message, its concurrent analogue. Our language extends Gay and Vasconcelos’s calculus of linear types for asynchronous sessions (LAST) with implicit functions and messages. We prove the resulting system sound by translation into LAST.

History

Publication status

  • Published

File Version

  • Accepted version

Journal

2018 International Symposium on Theoretical Aspects of Software Engineering (TASE)

Publisher

Institute of Electrical and Electronics Engineers

Event name

12th International Symposium on Theoretical Aspects of Software Engineering

Event location

Guangzhou, China

Event date

August 29-31 2018

ISBN

9781538673058

Department affiliated with

  • Informatics Publications

Research groups affiliated with

  • Foundations of Software Systems Publications

Full text available

  • Yes

Peer reviewed?

  • Yes

Legacy Posted Date

2018-07-26

First Open Access (FOA) Date

2018-07-26

First Compliant Deposit (FCD) Date

2018-07-25

Usage metrics

    University of Sussex (Publications)

    Categories

    No categories selected

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC