{"id":"https://openalex.org/W2555837147","doi":"https://doi.org/10.4230/lipics.ecoop.2016.21","title":"Lightweight Session Programming in Scala","display_name":"Lightweight Session Programming in Scala","publication_year":2016,"publication_date":"2016-01-01","ids":{"openalex":"https://openalex.org/W2555837147","doi":"https://doi.org/10.4230/lipics.ecoop.2016.21","mag":"2555837147"},"language":"en","primary_location":{"id":"pmh:oai:drops-oai.dagstuhl.de:6115","doi":null,"is_oa":true,"landing_page_url":"https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2016.21","pdf_url":"https://drops.dagstuhl.de/storage/00lipics/lipics-vol056-ecoop2016/LIPIcs.ECOOP.2016.21/LIPIcs.ECOOP.2016.21.pdf","source":{"id":"https://openalex.org/S4377196569","display_name":"DROPS (Schloss Dagstuhl \u2013 Leibniz Center for Informatics)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I2799853480","host_organization_name":"Schloss Dagstuhl \u2013 Leibniz Center for Informatics","host_organization_lineage":["https://openalex.org/I2799853480"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"InProceedings"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["datacite","doaj"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://drops.dagstuhl.de/storage/00lipics/lipics-vol056-ecoop2016/LIPIcs.ECOOP.2016.21/LIPIcs.ECOOP.2016.21.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5033402139","display_name":"Alceste Scalas","orcid":"https://orcid.org/0000-0002-1153-6164","observed_orcids":["https://orcid.org/0000-0002-1153-6164"]},"institutions":[{"id":"https://openalex.org/I172446870","display_name":"University of Cagliari","ror":"https://ror.org/003109y17","country_code":"IT","type":"education","lineage":["https://openalex.org/I172446870"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Scalas, Alceste","raw_affiliation_strings":["University of Cagliari, Cagliari, Italy"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Cagliari, Cagliari, Italy","institution_ids":["https://openalex.org/I172446870"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5054171989","display_name":"Nobuko Yoshida","orcid":"https://orcid.org/0000-0002-3925-8557","observed_orcids":["https://orcid.org/0000-0002-3925-8557"]},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Yoshida, Nobuko","raw_affiliation_strings":["Imperial College London, London, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Imperial College London, London, United Kingdom","institution_ids":["https://openalex.org/I47508984"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":17.8348,"has_fulltext":true,"cited_by_count":83,"citation_normalized_percentile":{"value":0.99230029,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":100},"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9976000189781189,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9976000189781189,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.0008999999845400453,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.0003000000142492354,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/session-types","display_name":"session types","score":0.9909999966621399},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.7789999842643738},{"id":"https://openalex.org/keywords/concurrent-programming","display_name":"concurrent programming","score":0.621999979019165},{"id":"https://openalex.org/keywords/distributed-communication","display_name":"distributed communication","score":0.7239999771118164},{"id":"https://openalex.org/keywords/type-systems","display_name":"type systems","score":0.6779999732971191},{"id":"https://openalex.org/keywords/communication-protocols","display_name":"communication protocols","score":0.4309999942779541}],"concepts":[{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.9230129718780518},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8932558298110962},{"id":"https://openalex.org/C2779182362","wikidata":"https://www.wikidata.org/wiki/Q17126187","display_name":"Session (web analytics)","level":2,"score":0.7944601774215698},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6433218717575073},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6396296620368958},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.5600042939186096},{"id":"https://openalex.org/C153083717","wikidata":"https://www.wikidata.org/wiki/Q6535263","display_name":"Leverage (statistics)","level":2,"score":0.542812168598175},{"id":"https://openalex.org/C2780385302","wikidata":"https://www.wikidata.org/wiki/Q367158","display_name":"Protocol (science)","level":3,"score":0.47637316584587097},{"id":"https://openalex.org/C88626702","wikidata":"https://www.wikidata.org/wiki/Q1128903","display_name":"Continuation","level":2,"score":0.4302099943161011},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.14494919776916504},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.13025355339050293},{"id":"https://openalex.org/C136764020","wikidata":"https://www.wikidata.org/wiki/Q466","display_name":"World Wide Web","level":1,"score":0.12209108471870422},{"id":"https://openalex.org/C204787440","wikidata":"https://www.wikidata.org/wiki/Q188504","display_name":"Alternative medicine","level":2,"score":0.0},{"id":"https://openalex.org/C142724271","wikidata":"https://www.wikidata.org/wiki/Q7208","display_name":"Pathology","level":1,"score":0.0},{"id":"https://openalex.org/C71924100","wikidata":"https://www.wikidata.org/wiki/Q11190","display_name":"Medicine","level":0,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"pmh:oai:drops-oai.dagstuhl.de:6115","doi":null,"is_oa":true,"landing_page_url":"https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2016.21","pdf_url":"https://drops.dagstuhl.de/storage/00lipics/lipics-vol056-ecoop2016/LIPIcs.ECOOP.2016.21/LIPIcs.ECOOP.2016.21.pdf","source":{"id":"https://openalex.org/S4377196569","display_name":"DROPS (Schloss Dagstuhl \u2013 Leibniz Center for Informatics)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I2799853480","host_organization_name":"Schloss Dagstuhl \u2013 Leibniz Center for Informatics","host_organization_lineage":["https://openalex.org/I2799853480"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"InProceedings"},{"id":"pmh:oai:publications.aston.ac.uk:39217","doi":null,"is_oa":true,"landing_page_url":"https://publications.aston.ac.uk/id/eprint/39217/","pdf_url":"https://publications.aston.ac.uk/id/eprint/39217/1/LIPIcs_ECOOP_2016_21.pdf","source":{"id":"https://openalex.org/S4306400483","display_name":"Aston Publications Explorer (Aston University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I169199633","host_organization_name":"Aston University","host_organization_lineage":["https://openalex.org/I169199633"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Book Section"},{"id":"pmh:oai:spiral.imperial.ac.uk:10044/1/41760","doi":null,"is_oa":true,"landing_page_url":"http://hdl.handle.net/10044/1/41760","pdf_url":null,"source":{"id":"https://openalex.org/S4306401396","display_name":"Spiral (Imperial College London)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I47508984","host_organization_name":"Imperial College London","host_organization_lineage":["https://openalex.org/I47508984"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"30th European Conference on Object-Oriented Programming (ECOOP 2016)","raw_type":"Conference Paper"},{"id":"doi:10.4230/lipics.ecoop.2016.21","doi":"https://doi.org/10.4230/lipics.ecoop.2016.21","is_oa":true,"landing_page_url":"https://doi.org/10.4230/lipics.ecoop.2016.21","pdf_url":null,"source":{"id":"https://openalex.org/S4393917817","display_name":"Leibniz international proceedings in informatics","issn_l":"1868-8969","issn":["1868-8969"],"is_oa":true,"is_in_doaj":true,"is_core":false,"listed_in":["doaj","jufo-1","norway-1"],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"ConferencePaper"}],"best_oa_location":{"id":"pmh:oai:drops-oai.dagstuhl.de:6115","doi":null,"is_oa":true,"landing_page_url":"https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2016.21","pdf_url":"https://drops.dagstuhl.de/storage/00lipics/lipics-vol056-ecoop2016/LIPIcs.ECOOP.2016.21/LIPIcs.ECOOP.2016.21.pdf","source":{"id":"https://openalex.org/S4377196569","display_name":"DROPS (Schloss Dagstuhl \u2013 Leibniz Center for Informatics)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I2799853480","host_organization_name":"Schloss Dagstuhl \u2013 Leibniz Center for Informatics","host_organization_lineage":["https://openalex.org/I2799853480"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"InProceedings"},"sustainable_development_goals":[],"study_designs":[],"awards":[{"id":"https://openalex.org/G1798638720","display_name":"From Data Types to Session Types---A Basis for Concurrency and Distribution","funder_award_id":"EP/K034413/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G2725184853","display_name":"Conversation-Based Governance for Distributed Systems by Multiparty Session Types","funder_award_id":"EP/K011715/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G6968114954","display_name":"Exploiting Parallelism through Type Transformations for Hybrid Manycore Systems","funder_award_id":"EP/L00058X/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2555837147.pdf","grobid_xml":"https://content.openalex.org/works/W2555837147.grobid-xml"},"referenced_works_count":26,"referenced_works":["https://openalex.org/W136002940","https://openalex.org/W1432573364","https://openalex.org/W1498393124","https://openalex.org/W1511544530","https://openalex.org/W1537467263","https://openalex.org/W1555656963","https://openalex.org/W1607623316","https://openalex.org/W1784055113","https://openalex.org/W1993460177","https://openalex.org/W2040105559","https://openalex.org/W2054670810","https://openalex.org/W2069380956","https://openalex.org/W2076064037","https://openalex.org/W2080718905","https://openalex.org/W2087983393","https://openalex.org/W2088962847","https://openalex.org/W2103094658","https://openalex.org/W2112965682","https://openalex.org/W2124126159","https://openalex.org/W2128280268","https://openalex.org/W2128932399","https://openalex.org/W2138038864","https://openalex.org/W2153557668","https://openalex.org/W2216704661","https://openalex.org/W2219871211","https://openalex.org/W4235655521"],"related_works":["https://openalex.org/W2216704661","https://openalex.org/W2551917923","https://openalex.org/W7098939357","https://openalex.org/W1421419986","https://openalex.org/W7097748863","https://openalex.org/W4246574300","https://openalex.org/W2979911878","https://openalex.org/W4409974391","https://openalex.org/W7005957987","https://openalex.org/W2770088778"],"abstract_inverted_index":{"Designing,":[0],"developing":[1],"and":[2,9,59,73,88,124,130,151],"maintaining":[3],"concurrent":[4],"applications":[5],"is":[6],"an":[7],"error-prone":[8],"time-consuming":[10],"task;":[11],"most":[12],"difficulties":[13],"arise":[14],"because":[15],"compilers":[16],"are":[17],"usually":[18],"unable":[19],"to":[20,33,62,119],"check":[21],"whether":[22],"the":[23,51,55,93,133,141,153],"inputs/outputs":[24],"performed":[25],"by":[26],"a":[27,34,65,75,80,121,147,158],"program":[28],"at":[29],"runtime":[30],"will":[31],"adhere":[32],"given":[35],"protocol":[36,137],"specification.":[37],"To":[38],"address":[39],"this":[40],"problem,":[41],"we":[42,49],"propose":[43],"lightweight":[44],"session":[45,68,105,110],"programming":[46,111],"in":[47,116],"Scala:":[48,117],"leverage":[50],"native":[52],"features":[53],"of":[54,67,95,143,155,160],"Scala":[56,71,128],"type":[57],"system":[58],"standard":[60],"library,":[61,76],"introduce":[63],"(1)":[64],"representation":[66],"types":[69],"as":[70],"types,":[72],"(2)":[74],"called":[77],"lchannels,":[78,131],"with":[79,104,146,157],"convenient":[81],"API":[82],"for":[83],"session-based":[84],"programming,":[85],"supporting":[86],"local":[87],"distributed":[89],"communication.":[90],"We":[91,107,139],"generalise":[92],"idea":[94],"Continuation-Passing":[96],"Style":[97],"Protocols":[98],"(CPSPs),":[99],"studying":[100],"their":[101],"formal":[102],"relationship":[103],"types.":[106],"illustrate":[108],"how":[109,118],"can":[112],"be":[113],"carried":[114],"over":[115],"formalise":[120],"communication":[122],"protocol,":[123],"represent":[125],"it":[126],"using":[127],"classes":[129],"letting":[132],"compiler":[134],"help":[135],"spotting":[136],"violations.":[138],"attest":[140],"practicality":[142],"our":[144],"approach":[145],"complex":[148],"use":[149],"case,":[150],"evaluate":[152],"performance":[154],"lchannels":[156],"series":[159],"benchmarks.":[161]},"counts_by_year":[{"year":2026,"cited_by_count":6},{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":8},{"year":2022,"cited_by_count":12},{"year":2021,"cited_by_count":13},{"year":2020,"cited_by_count":9},{"year":2019,"cited_by_count":17},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":8},{"year":2016,"cited_by_count":3}],"updated_date":"2026-11-13T13:42:25.865203","created_date":"2016-11-30T00:00:00"}
