Publicação
Propositions-as-types and shared state
| 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 |