Kind inference for the FreeST programming language
FreeST is a message-passing concurrent functional programming language where messages are exchanged on channels governed by context-free session types. Thus far, FreeST only distinguishes two kinds of types: arbitrary types and session types. We introduce explicit channel closing operators — close a...
Uloženo v:
| Vydáno v: | Journal of logical and algebraic methods in programming Ročník 148; s. 101083 |
|---|---|
| Hlavní autoři: | , , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
Elsevier Inc
01.01.2026
|
| Témata: | |
| ISSN: | 2352-2208 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | FreeST is a message-passing concurrent functional programming language where messages are exchanged on channels governed by context-free session types. Thus far, FreeST only distinguishes two kinds of types: arbitrary types and session types. We introduce explicit channel closing operators — close and wait — together with their corresponding types — Close and Wait — which call for a third kind of types, that of channel types. Type variable declaration is usually annotated with its kind. We provide a sound and complete algorithm for kind inference and prove that it terminates yielding the most general kind. |
|---|---|
| AbstractList | FreeST is a message-passing concurrent functional programming language where messages are exchanged on channels governed by context-free session types. Thus far, FreeST only distinguishes two kinds of types: arbitrary types and session types. We introduce explicit channel closing operators — close and wait — together with their corresponding types — Close and Wait — which call for a third kind of types, that of channel types. Type variable declaration is usually annotated with its kind. We provide a sound and complete algorithm for kind inference and prove that it terminates yielding the most general kind. |
| ArticleNumber | 101083 |
| Author | Almeida, Bernardo Vasconcelos, Vasco T. Mordido, Andreia |
| Author_xml | – sequence: 1 givenname: Bernardo orcidid: 0000-0001-5398-6529 surname: Almeida fullname: Almeida, Bernardo email: bpdalmeida@fc.ul.pt – sequence: 2 givenname: Andreia orcidid: 0000-0002-1547-0692 surname: Mordido fullname: Mordido, Andreia email: afmordido@fc.ul.pt – sequence: 3 givenname: Vasco T. orcidid: 0000-0002-9539-8861 surname: Vasconcelos fullname: Vasconcelos, Vasco T. email: vmvasconcelos@fc.ul.pt |
| BookMark | eNp9j81OhDAUhbsYE8dxnsANLwD2h8Jl4cJMHDVO4sJx3ZRyiyVQSEET314Q165OcnO-m_NdkY3vPRJyw2jCKMtum6RpdTcknHK5XCiIDdlyIXnMOYVLsh_HhtK5CjkItiX8xfkqct5iQG8wsn2Ipg-MjgHx7RwNoa-D7jrn66jVvv7UNV6TC6vbEfd_uSPvx4fz4Sk-vT4-H-5PseFSTjGnhulMckAoc5EzXUiAssxTCpnNinlaWkFW5NxaWlitOQOJAtI8tRK0sWJHxPrXhH4cA1o1BNfp8K0YVYutatSvrVps1Wo7U3crhfO0L4dBjcYtapULaCZV9e5f_gcNsGCC |
| Cites_doi | 10.1145/3158093 10.1016/0304-3975(87)90045-4 10.1145/3408985 10.1145/3229062 |
| ContentType | Journal Article |
| Copyright | 2025 |
| Copyright_xml | – notice: 2025 |
| DBID | AAYXX CITATION |
| DOI | 10.1016/j.jlamp.2025.101083 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| ExternalDocumentID | 10_1016_j_jlamp_2025_101083 S2352220825000495 |
| GroupedDBID | --M 0R~ 4.4 457 4G. 7-5 8P~ AAEDT AAEDW AAIKJ AAKOC AALRI AAOAW AATTM AAXKI AAXUO AAYFN AAYWO ABBOA ABJNI ABMAC ABXDB ACDAQ ACGFS ACLOT ACRLP ACVFH ADBBV ADCNI ADEZE ADVLN AEBSH AEIPS AEKER AENEX AEUPX AFJKZ AFPUW AFTJW AGHFR AGUBO AIALX AIEXJ AIGII AIIUN AIKHN AITUG AKBMS AKRWK AKYEP ALMA_UNASSIGNED_HOLDINGS AMRAJ ANKPU AOUOD AXJTR BKOJK BLXMC EBS EFJIC EFKBS EFLBG EJD FDB FIRID FYGXN GBLVA GBOLZ HZ~ KOM M41 O9- OAUVE ROL SPC SPCBC SSV SSZ T5K ~G- AAYXX CITATION |
| ID | FETCH-LOGICAL-c255t-20c1a6528e8b7371a9588bb74086f691084d86972ff09faa2185e38474f58acf3 |
| ISICitedReferencesCount | 0 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001565168800001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 2352-2208 |
| IngestDate | Thu Nov 13 04:27:57 EST 2025 Sat Oct 04 17:01:27 EDT 2025 |
| IsPeerReviewed | true |
| IsScholarly | true |
| Keywords | Kind inference Functional programming Context-free session types Polymorphism |
| Language | English |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c255t-20c1a6528e8b7371a9588bb74086f691084d86972ff09faa2185e38474f58acf3 |
| ORCID | 0000-0002-9539-8861 0000-0002-1547-0692 0000-0001-5398-6529 |
| ParticipantIDs | crossref_primary_10_1016_j_jlamp_2025_101083 elsevier_sciencedirect_doi_10_1016_j_jlamp_2025_101083 |
| PublicationCentury | 2000 |
| PublicationDate | January 2026 2026-01-00 |
| PublicationDateYYYYMMDD | 2026-01-01 |
| PublicationDate_xml | – month: 01 year: 2026 text: January 2026 |
| PublicationDecade | 2020 |
| PublicationTitle | Journal of logical and algebraic methods in programming |
| PublicationYear | 2026 |
| Publisher | Elsevier Inc |
| Publisher_xml | – name: Elsevier Inc |
| References | Almeida, Mordido, Thiemann, Vasconcelos (br0010) 2022; 289 Bernardy, Boespflug, Newton, Peyton Jones, Spiwack (br0050) 2018; 5 Walker (br0270) 2005 Vasconcelos (br0250) 2011; 103 Fowler, Lindley, Morris, Decova (br0060) 2019; 3 Morris (br0160) 2016 Radanne, Saffrich, Thiemann (br0210) 2020; 103 Gay, Thudichum Vasconcelos (br0090) 2010; 20 Mazurak, Zhao, Zdancewic (br0150) 2010 Almeida, Mordido, Vasconcelos (br0030) 2019; vol. 291 Padovani (br0180) 2017; 27 Thudichum Vasconcelos, Ravara, Gay (br0260) 2004; vol. 3170 Wright (br0280) 1995; 8 Pierce (br0200) 2002 Thiemann, Vasconcelos (br0230) 2016 Tov, Pucella (br0240) 2011 Honda, Thudichum Vasconcelos, Kubo (br0130) 1998; vol. 1381 Gay, Gesbert, Ravara, Vasconcelos (br0070) 2015; 11 Padovani (br0190) 2019; 41 Almeida, Mordido, Vasconcelos (br0020) 2019 Harper (br0110) 2016 Takeuchi, Honda, Kubo (br0220) 1994; vol. 817 Girard (br0100) 1987; 50 Lindley, Morris (br0140) 2017 Padovani (br0170) 2017; vol. 10201 Almeida, Mordido, Vasconcelos (br0040) 2023; vol. 378 Gay, Thiemann, Vasconcelos (br0080) 2020; vol. 314 Honda (br0120) 1993; vol. 715 Tov (10.1016/j.jlamp.2025.101083_br0240) 2011 Harper (10.1016/j.jlamp.2025.101083_br0110) 2016 Lindley (10.1016/j.jlamp.2025.101083_br0140) 2017 Honda (10.1016/j.jlamp.2025.101083_br0130) 1998; vol. 1381 Morris (10.1016/j.jlamp.2025.101083_br0160) 2016 Padovani (10.1016/j.jlamp.2025.101083_br0190) 2019; 41 Gay (10.1016/j.jlamp.2025.101083_br0070) 2015; 11 Almeida (10.1016/j.jlamp.2025.101083_br0020) Honda (10.1016/j.jlamp.2025.101083_br0120) 1993; vol. 715 Almeida (10.1016/j.jlamp.2025.101083_br0030) 2019; vol. 291 Takeuchi (10.1016/j.jlamp.2025.101083_br0220) 1994; vol. 817 Padovani (10.1016/j.jlamp.2025.101083_br0170) 2017; vol. 10201 Almeida (10.1016/j.jlamp.2025.101083_br0010) 2022; 289 Pierce (10.1016/j.jlamp.2025.101083_br0200) 2002 Radanne (10.1016/j.jlamp.2025.101083_br0210) 2020; 103 Girard (10.1016/j.jlamp.2025.101083_br0100) 1987; 50 Thiemann (10.1016/j.jlamp.2025.101083_br0230) 2016 Walker (10.1016/j.jlamp.2025.101083_br0270) 2005 Vasconcelos (10.1016/j.jlamp.2025.101083_br0250) 2011; 103 Bernardy (10.1016/j.jlamp.2025.101083_br0050) 2018; 5 Fowler (10.1016/j.jlamp.2025.101083_br0060) 2019; 3 Wright (10.1016/j.jlamp.2025.101083_br0280) 1995; 8 Almeida (10.1016/j.jlamp.2025.101083_br0040) 2023; vol. 378 Thudichum Vasconcelos (10.1016/j.jlamp.2025.101083_br0260) 2004; vol. 3170 Gay (10.1016/j.jlamp.2025.101083_br0090) 2010; 20 Padovani (10.1016/j.jlamp.2025.101083_br0180) 2017; 27 Gay (10.1016/j.jlamp.2025.101083_br0080) 2020; vol. 314 Mazurak (10.1016/j.jlamp.2025.101083_br0150) 2010 |
| References_xml | – start-page: 462 year: 2016 end-page: 475 ident: br0230 article-title: Context-free session types publication-title: ICFP – volume: 27 start-page: e4 year: 2017 ident: br0180 article-title: A simple library implementation of binary sessions publication-title: J. Fam. Psychol. – start-page: 448 year: 2016 end-page: 461 ident: br0160 article-title: The best of both worlds: linear functional programming without compromise publication-title: ICFP – volume: 11 year: 2015 ident: br0070 article-title: Modular session types for objects publication-title: Log. Methods Comput. Sci. – year: 2019 ident: br0020 article-title: FreeST, a concurrent programming language with context-free session types – volume: vol. 715 start-page: 509 year: 1993 end-page: 523 ident: br0120 article-title: Types for dyadic interaction publication-title: CONCUR – volume: 8 start-page: 343 year: 1995 end-page: 355 ident: br0280 article-title: Simple imperative polymorphism publication-title: LISP Symb. Comput. – volume: 289 year: 2022 ident: br0010 article-title: Polymorphic lambda calculus with context-free session types publication-title: Inf. Comput. – volume: 20 start-page: 19 year: 2010 end-page: 50 ident: br0090 article-title: Linear type theory for asynchronous session types publication-title: J. Fam. Psychol. – volume: 5 start-page: 1 year: 2018 ident: br0050 article-title: Linear Haskell: practical linearity in a higher-order polymorphic language publication-title: Proc. ACM Program. Lang. – volume: vol. 291 start-page: 12 year: 2019 end-page: 23 ident: br0030 article-title: FreeST: context-free session types in a functional language publication-title: PLACES – volume: 50 start-page: 1 year: 1987 end-page: 102 ident: br0100 publication-title: Linear logic. Theor. Comput. Sci. – volume: vol. 1381 start-page: 122 year: 1998 end-page: 138 ident: br0130 article-title: Language primitives and type discipline for structured communication-based programming publication-title: ESOP – volume: 103 start-page: 53 year: 2011 end-page: 73 ident: br0250 article-title: Sessions, from types to programming languages publication-title: Bull. Eur. Assoc. Theor. Comput. Sci. – volume: 3 start-page: 28:1 year: 2019 end-page: 28:29 ident: br0060 article-title: Exceptional asynchronous session types: session types without tiers publication-title: PACMPL – start-page: 77 year: 2010 end-page: 88 ident: br0150 article-title: Lightweight linear types in system fdegree publication-title: TLDI – start-page: 447 year: 2011 end-page: 458 ident: br0240 article-title: Practical affine types publication-title: POPL – volume: vol. 817 start-page: 398 year: 1994 end-page: 413 ident: br0220 article-title: An interaction-based language and its typing system publication-title: PARLE – volume: vol. 10201 start-page: 804 year: 2017 end-page: 830 ident: br0170 article-title: Context-free session type inference publication-title: ESOP – volume: vol. 378 start-page: 1 year: 2023 end-page: 13 ident: br0040 article-title: Kind inference for the FreeST programming language publication-title: PLACES@ETAPS 2023 – volume: vol. 3170 start-page: 497 year: 2004 end-page: 511 ident: br0260 article-title: Session types for functional multithreading publication-title: CONCUR – volume: vol. 314 start-page: 23 year: 2020 end-page: 33 ident: br0080 article-title: Duality of session types: the final cut publication-title: PLACES@ETAPS – start-page: 265 year: 2017 end-page: 286 ident: br0140 article-title: Lightweight functional session types publication-title: Behavioural Types: from Theory to Tools – year: 2002 ident: br0200 article-title: Types and Programming Languages – year: 2005 ident: br0270 article-title: Advanced Topics in Types and Programming Languages – volume: 41 start-page: 9:1 year: 2019 end-page: 9:37 ident: br0190 article-title: Context-free session type inference publication-title: ACM Trans. Program. Lang. Syst. – year: 2016 ident: br0110 article-title: Practical Foundations for Programming Languages – volume: 103 start-page: 1 year: 2020 ident: br0210 article-title: Kindly bent to free us publication-title: Proc. ACM Program. Lang. – volume: 289 issue: Part year: 2022 ident: 10.1016/j.jlamp.2025.101083_br0010 article-title: Polymorphic lambda calculus with context-free session types publication-title: Inf. Comput. – year: 2016 ident: 10.1016/j.jlamp.2025.101083_br0110 – volume: 5 start-page: 1 year: 2018 ident: 10.1016/j.jlamp.2025.101083_br0050 article-title: Linear Haskell: practical linearity in a higher-order polymorphic language publication-title: Proc. ACM Program. Lang. doi: 10.1145/3158093 – volume: 103 start-page: 53 year: 2011 ident: 10.1016/j.jlamp.2025.101083_br0250 article-title: Sessions, from types to programming languages publication-title: Bull. Eur. Assoc. Theor. Comput. Sci. – start-page: 265 year: 2017 ident: 10.1016/j.jlamp.2025.101083_br0140 article-title: Lightweight functional session types – start-page: 462 year: 2016 ident: 10.1016/j.jlamp.2025.101083_br0230 article-title: Context-free session types – volume: vol. 3170 start-page: 497 year: 2004 ident: 10.1016/j.jlamp.2025.101083_br0260 article-title: Session types for functional multithreading – year: 2005 ident: 10.1016/j.jlamp.2025.101083_br0270 – start-page: 447 year: 2011 ident: 10.1016/j.jlamp.2025.101083_br0240 article-title: Practical affine types – start-page: 448 year: 2016 ident: 10.1016/j.jlamp.2025.101083_br0160 article-title: The best of both worlds: linear functional programming without compromise – volume: 50 start-page: 1 year: 1987 ident: 10.1016/j.jlamp.2025.101083_br0100 publication-title: Linear logic. Theor. Comput. Sci. doi: 10.1016/0304-3975(87)90045-4 – volume: vol. 291 start-page: 12 year: 2019 ident: 10.1016/j.jlamp.2025.101083_br0030 article-title: FreeST: context-free session types in a functional language – volume: 11 issue: 4 year: 2015 ident: 10.1016/j.jlamp.2025.101083_br0070 article-title: Modular session types for objects publication-title: Log. Methods Comput. Sci. – volume: vol. 715 start-page: 509 year: 1993 ident: 10.1016/j.jlamp.2025.101083_br0120 article-title: Types for dyadic interaction – volume: vol. 10201 start-page: 804 year: 2017 ident: 10.1016/j.jlamp.2025.101083_br0170 article-title: Context-free session type inference – volume: vol. 378 start-page: 1 year: 2023 ident: 10.1016/j.jlamp.2025.101083_br0040 article-title: Kind inference for the FreeST programming language – volume: vol. 1381 start-page: 122 year: 1998 ident: 10.1016/j.jlamp.2025.101083_br0130 article-title: Language primitives and type discipline for structured communication-based programming – volume: 3 start-page: 28:1 issue: POPL year: 2019 ident: 10.1016/j.jlamp.2025.101083_br0060 article-title: Exceptional asynchronous session types: session types without tiers publication-title: PACMPL – volume: 27 start-page: e4 year: 2017 ident: 10.1016/j.jlamp.2025.101083_br0180 article-title: A simple library implementation of binary sessions publication-title: J. Fam. Psychol. – volume: vol. 817 start-page: 398 year: 1994 ident: 10.1016/j.jlamp.2025.101083_br0220 article-title: An interaction-based language and its typing system – volume: vol. 314 start-page: 23 year: 2020 ident: 10.1016/j.jlamp.2025.101083_br0080 article-title: Duality of session types: the final cut – volume: 103 start-page: 1 year: 2020 ident: 10.1016/j.jlamp.2025.101083_br0210 article-title: Kindly bent to free us publication-title: Proc. ACM Program. Lang. doi: 10.1145/3408985 – year: 2002 ident: 10.1016/j.jlamp.2025.101083_br0200 – start-page: 77 year: 2010 ident: 10.1016/j.jlamp.2025.101083_br0150 article-title: Lightweight linear types in system fdegree – ident: 10.1016/j.jlamp.2025.101083_br0020 – volume: 41 start-page: 9:1 issue: 2 year: 2019 ident: 10.1016/j.jlamp.2025.101083_br0190 article-title: Context-free session type inference publication-title: ACM Trans. Program. Lang. Syst. doi: 10.1145/3229062 – volume: 20 start-page: 19 issue: 1 year: 2010 ident: 10.1016/j.jlamp.2025.101083_br0090 article-title: Linear type theory for asynchronous session types publication-title: J. Fam. Psychol. – volume: 8 start-page: 343 issue: 4 year: 1995 ident: 10.1016/j.jlamp.2025.101083_br0280 article-title: Simple imperative polymorphism publication-title: LISP Symb. Comput. |
| SSID | ssj0001687831 |
| Score | 2.3340795 |
| Snippet | FreeST is a message-passing concurrent functional programming language where messages are exchanged on channels governed by context-free session types. Thus... |
| SourceID | crossref elsevier |
| SourceType | Index Database Publisher |
| StartPage | 101083 |
| SubjectTerms | Context-free session types Functional programming Kind inference Polymorphism |
| Title | Kind inference for the FreeST programming language |
| URI | https://dx.doi.org/10.1016/j.jlamp.2025.101083 |
| Volume | 148 |
| WOSCitedRecordID | wos001565168800001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection Journals 2021 issn: 2352-2208 databaseCode: AIEXJ dateStart: 20211207 customDbUrl: isFulltext: true dateEnd: 99991231 titleUrlDefault: https://www.sciencedirect.com omitProxy: false ssIdentifier: ssj0001687831 providerName: Elsevier |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3JTsMwELWgcODCjtjlAzdI1Tix4xwRKmKREBIF9RY5iY1StSlqC-LzGdtxWlbBgUvURM0k8nsZjyeTNwgdKZYSGVMgr2gJLwwV8dKAMg9m4pxxI3CemWYT0c0N73bj2yqVPTbtBKKy5K-v8dO_Qg3HAGz96ewf4K6NwgH4DaDDFmCH7a-Avy6MnpLTj3VlhOcjKe86rh5roDMELlf5TYDqvKKRc-0_6jfMRVa1nLbV51NbNW_6A1nktp2zzjSO8mENKSxzi3xYV1EW9YTwIMaZ_nqyb0v-zO5xpzmbkCCzCQnjtwjEdB4hLf7OyVo9zcpNgh9o2f41nzy4TSb0mj14ILSeKKHN6b_f62V_mMfq6kJXuNZLjJFEG0mskXm0QCIag_tbOL1sd6-m6TjGI266V9a37zSqTDXgp9v5Oo6ZiU06q2i5wgyfWjKsoTlZrqMV17ADV_57AxHNDVxzAwM3MHADW27gGTyx48Ymuj9vd84uvKpphpfB6nACj0LmC0YJlzyNgsgXMeU8TaMQ1q6KQXDIw5yzOCJKtWIlBIR4VAYQo4SKcpGpYAs1ymEptxGmQvowDn4ehHmohNKvkMG6H-ZKC8-xHXTihiB5stooyQ9jv4OYG6akCu9s2JYA9j-duPu36-yhpSkt91FjMnqWB2gxe5kU49FhBfwbNpZu7A |
| linkProvider | Elsevier |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Kind+inference+for+the+FreeST+programming+language&rft.jtitle=Journal+of+logical+and+algebraic+methods+in+programming&rft.au=Almeida%2C+Bernardo&rft.au=Mordido%2C+Andreia&rft.au=Vasconcelos%2C+Vasco+T.&rft.date=2026-01-01&rft.issn=2352-2208&rft.volume=148&rft.spage=101083&rft_id=info:doi/10.1016%2Fj.jlamp.2025.101083&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_j_jlamp_2025_101083 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2352-2208&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2352-2208&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2352-2208&client=summon |