RSS Meetups are monthly gatherings of LASIGE members with research interests mainly in Software Architecture, Verification, Testing, Programming Languages, Type Systems, Logic, Concurrency, and Formal Methods.
Title: Propositions-as-Types and Shared State
Speaker: Pedro Rocha, NOVA LINCS, FCT/NOVA
When: Monday, September 27, 14h00
Where: FCUL, room 6.3.27
Abstract: Modern software construction depends on imperative state, state sharing, and concurrency. Still, safely programming with state, aliasing and concurrency has always been considered a significant challenge. While the foundation of type systems for the functional core of programming languages often builds on the proposition-as-types correspondence, automatically ensuring strong safety and liveness properties, imperative features have mostly been handled by extra-logical constructions. In this work, we develop a principled integration of shared mutable state into a propositions-as-types linear logic interpretation of a session-based concurrent programming language. Our system crucially builds on the integration of nondeterminism and sharing, inspired by logical rules of differential linear logic, and ensures session fidelity, progress, confluence and normalisation, while being able to handle first-class shareable reference cells storing any persistent object. We illustrate the expressiveness of our language with examples highlighting detailed features, up to simple shareable concurrent ADTs. This is joint work with Luís Caires.
Bio: Pedro is a final-year PhD student, supervised by Luís Caires, in Computer Science at the NOVA School of Science and Technology / NOVA LINCS. Pedro got his Master in Electrical and Computer Engineering from Faculty of Engineering of University of Porto (FEUP). He won the prize Asea Brown Boveri, granted to the student with the highest rank dissertation of FEUP, and merit scholarships attributed during the years 2010-2012, granted to the top 12 students of the University of Porto. Before enrolling in the PhD program he worked for 2 years with Synopsys as an R&D engineer.