Publicação

Propositions-as-types and shared state

Ver documento

Detalhes bibliográficos
Resumo:We develop a principled integration of shared mutable state into a proposition-as-types linear logic interpretation of a session-based concurrent programming language. 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. 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 also show how preservation and, perhaps surprisingly, progress, resiliently survive in a natural extension of our language with first-class locks. We illustrate the expressiveness of our language with examples highlighting detailed features, up to simple shareable concurrent ADTs.
Autores principais:Rocha, Pedro
Outros Autores:Caires, Luís
Assunto:Propositions-as-Types Session Types Shared State Software Safety, Risk, Reliability and Quality
Ano:2021
País:Portugal
Tipo de documento:artigo
Tipo de acesso:acesso aberto
Instituição associada:Universidade Nova de Lisboa
Idioma:inglês
Origem:Repositório Institucional da UNL
_version_ 1868983615852904448
author Rocha, Pedro
author2 Caires, Luís
author2_role author
author_facet Rocha, Pedro
Caires, Luís
author_role author
contributor_name_str_mv NOVALincs
ACM - Association for Computing Machinery
RUN
country_str PT
creators_json_txt [{\"Person.name\":\"Rocha, Pedro\"},{\"Person.name\":\"Caires, Luís\"}]
datacite.contributors.contributor.contributorName.fl_str_mv NOVALincs
ACM - Association for Computing Machinery
RUN
datacite.creators.creator.creatorName.fl_str_mv Rocha, Pedro
Caires, Luís
datacite.date.Accepted.fl_str_mv 2021-08-01T00:00:00Z
datacite.date.available.fl_str_mv 2022-08-01T22:25:41Z
datacite.date.embargoed.fl_str_mv 2022-08-01T22:25:41Z
datacite.rights.fl_str_mv http://purl.org/coar/access_right/c_abf2
datacite.subjects.subject.fl_str_mv Propositions-as-Types
Session Types
Shared State
Software
Safety, Risk, Reliability and Quality
datacite.titles.title.fl_str_mv Propositions-as-types and shared state
dc.contributor.none.fl_str_mv NOVALincs
ACM - Association for Computing Machinery
RUN
dc.creator.none.fl_str_mv Rocha, Pedro
Caires, Luís
dc.date.Accepted.fl_str_mv 2021-08-01T00:00:00Z
dc.date.available.fl_str_mv 2022-08-01T22:25:41Z
dc.date.embargoed.fl_str_mv 2022-08-01T22:25:41Z
dc.format.none.fl_str_mv application/pdf
dc.identifier.none.fl_str_mv http://hdl.handle.net/10362/142766
dc.language.none.fl_str_mv eng
dc.rights.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.subject.none.fl_str_mv Propositions-as-Types
Session Types
Shared State
Software
Safety, Risk, Reliability and Quality
dc.title.fl_str_mv Propositions-as-types and shared state
dc.type.none.fl_str_mv http://purl.org/coar/resource_type/c_6501
description We develop a principled integration of shared mutable state into a proposition-as-types linear logic interpretation of a session-based concurrent programming language. 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. 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 also show how preservation and, perhaps surprisingly, progress, resiliently survive in a natural extension of our language with first-class locks. We illustrate the expressiveness of our language with examples highlighting detailed features, up to simple shareable concurrent ADTs.
dirty 0
eu_rights_str_mv openAccess
format article
fulltext.url.fl_str_mv https://run.unl.pt/bitstreams/9a2e7f30-83de-4ac1-bf51-59f3103c381d/download
funder_facet_str_mv FCT{{{_:::_}}}Fundação para a Ciência e a Tecnologia
FCT{{{_:::_}}}Fundação para a Ciência e a Tecnologia
funding.funder.alternateName_str_mv FCT
FCT
funding.funder.identifier_str_mv http://doi.org/10.13039/501100001871
http://doi.org/10.13039/501100001871
funding.funder.name_str_mv Fundação para a Ciência e a Tecnologia
Fundação para a Ciência e a Tecnologia
funding.name_str_mv 6817 - DCRRNI ID
6817 - DCRRNI ID
id run_6e021f2bcfd17cea92dbfdcd8912d128
identifier.url.fl_str_mv http://hdl.handle.net/10362/142766
inst_facet_str urn:organizationAcronym:unl{{{_:::_}}}Universidade Nova de Lisboa
instacron_str unl
institution Universidade Nova de Lisboa
instname_str Universidade Nova de Lisboa
language eng
network_acronym_str run
network_name_str Repositório Institucional da UNL
oai_identifier_str oai:run.unl.pt:10362/142766
organization_str_mv urn:organizationAcronym:unl
person_str_mv Rocha, Pedro
Caires, Luís
publishDate 2021
repo_facet_str urn:repositoryAcronym:run{{{_:::_}}}Repositório Institucional da UNL
reponame_str Repositório Institucional da UNL
repository_id_str urn:repositoryAcronym:run
service_str_mv urn:repositoryAcronym:run
spelling engenWe develop a principled integration of shared mutable state into a proposition-as-types linear logic interpretation of a session-based concurrent programming language. 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. 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 also show how preservation and, perhaps surprisingly, progress, resiliently survive in a natural extension of our language with first-class locks. We illustrate the expressiveness of our language with examples highlighting detailed features, up to simple shareable concurrent ADTs.application/pdfenPropositions-as-types and shared stateRocha, PedroCaires, LuísNOVALincsACM - Association for Computing MachineryHostingInstitutionOrganizationalRUNe-mailmailto:run@unl.ptrun@unl.ptISSNIsPartOf2475-1421URNIsPartOfPURE: 45748394URNIsPartOfPURE UUID: 6fe2a585-b583-4b0f-b1c6-1162dadcd916URNIsPartOfScopus: 85113288799URNIsPartOfWOS: 000687133800019DOIIsPartOf10.1145/34735842022-08-01T22:25:41Z2021-082021-08-01T00:00:00ZHandlehttp://hdl.handle.net/10362/142766http://purl.org/coar/access_right/c_abf2open accessPropositions-as-TypesSession TypesShared StateSoftwareSafety, Risk, Reliability and Quality420566 bytesFundação para a Ciência e a TecnologiaNOVA Laboratory for Computer Science and Informatics6817 - DCRRNI IDCrossref Funder IDhttp://doi.org/10.13039/501100001871Fundação para a Ciência e a TecnologiaNOVA Laboratory for Computer Science and Informatics6817 - DCRRNI IDCrossref Funder IDhttp://doi.org/10.13039/501100001871literaturehttp://purl.org/coar/resource_type/c_6501journal articlehttp://purl.org/coar/access_right/c_abf2application/pdffulltexthttps://run.unl.pt/bitstreams/9a2e7f30-83de-4ac1-bf51-59f3103c381d/download
spellingShingle Propositions-as-types and shared state
Rocha, Pedro
Propositions-as-Types
Session Types
Shared State
Software
Safety, Risk, Reliability and Quality
status SINGLETON
subject.fl_str_mv Propositions-as-Types
Session Types
Shared State
Software
Safety, Risk, Reliability and Quality
title Propositions-as-types and shared state
title_full Propositions-as-types and shared state
title_fullStr Propositions-as-types and shared state
title_full_unstemmed Propositions-as-types and shared state
title_short Propositions-as-types and shared state
title_sort Propositions-as-types and shared state
topic Propositions-as-Types
Session Types
Shared State
Software
Safety, Risk, Reliability and Quality
topic_facet Propositions-as-Types
Session Types
Shared State
Software
Safety, Risk, Reliability and Quality
url http://hdl.handle.net/10362/142766
visible 1