{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,6]],"date-time":"2025-11-06T20:06:23Z","timestamp":1762459583959,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":30,"publisher":"ACM","license":[{"start":{"date-parts":[[2018,2,24]],"date-time":"2018-02-24T00:00:00Z","timestamp":1519430400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"EPSRC","award":["EP\/K034413\/1,EP\/L00058X\/1,EP\/K011715\/1,EP\/N027833\/1,EP\/N028201\/1,Rumyana Neykova EPSRC Doctoral Prize Fellowship"],"award-info":[{"award-number":["EP\/K034413\/1,EP\/L00058X\/1,EP\/K011715\/1,EP\/N027833\/1,EP\/N028201\/1,Rumyana Neykova EPSRC Doctoral Prize Fellowship"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2018,2,24]]},"DOI":"10.1145\/3178372.3179495","type":"proceedings-article","created":{"date-parts":[[2018,2,21]],"date-time":"2018-02-21T16:46:16Z","timestamp":1519231576000},"page":"128-138","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":46,"title":["A session type provider: compile-time API generation of distributed protocols with refinements in F#"],"prefix":"10.1145","author":[{"given":"Rumyana","family":"Neykova","sequence":"first","affiliation":[{"name":"Imperial College London, UK"}]},{"given":"Raymond","family":"Hu","sequence":"additional","affiliation":[{"name":"Imperial College London, UK"}]},{"given":"Nobuko","family":"Yoshida","sequence":"additional","affiliation":[{"name":"Imperial College London, UK"}]},{"given":"Fahd","family":"Abdeljallal","sequence":"additional","affiliation":[{"name":"Imperial College London, UK"}]}],"member":"320","published-online":{"date-parts":[[2018,2,24]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1561\/2500000031"},{"key":"e_1_3_2_1_2_1","series-title":"EPTCS","first-page":"38","volume-title":"LINEARITY","author":"Baltazar P.","year":"2012","unstructured":"P. Baltazar, D. Mostrous, and V. T. Vasconcelos. Linearly refined session types. In LINEARITY, volume 101 of EPTCS, pages 38-49, 2012."},{"volume-title":"from Theory to Tools","year":"2017","key":"e_1_3_2_1_3_1","unstructured":"Behavioural Types: from Theory to Tools. River Publishers, 2017."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/1887654.1887666"},{"issue":"2","key":"e_1_3_2_1_5_1","first-page":"238","article-title":"Global progress for dynamically interleaved multiparty sessions","volume":"26","author":"Coppo M.","year":"2016","unstructured":"M. Coppo, M. Dezani-Ciancaglini, N. Yoshida, and L. Padovani. Global progress for dynamically interleaved multiparty sessions. MSCS, 26(2):238-302, 2016.","journal-title":"MSCS"},{"key":"e_1_3_2_1_6_1","unstructured":"D. Delimarsky. WsdlService Type Provider (F#). https:\/\/msdn.microsoft.com\/visualfsharpdocs\/conceptual\/wsdlservice-type-provider-%5bfsharp%5d."},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39212-2_18"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-05032-4_2"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/113445.113468"},{"key":"e_1_3_2_1_10_1","unstructured":"F# data: Library for data access. http:\/\/fsharp.github.io\/FSharp.Data\/."},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796809990268"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/645392.651876"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2827695"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.5555\/3089458.3089489"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-54494-5_7"},{"key":"e_1_3_2_1_16_1","series-title":"LNCS","first-page":"99","volume-title":"COORDINATION","author":"Imai K.","year":"2017","unstructured":"K. Imai, N. Yoshida, and S. Yuen. Session-ocaml: A session-based library with polarities and lenses. In COORDINATION, volume 10319 of LNCS, pages 99-118. Springer, 2017."},{"key":"e_1_3_2_1_17_1","first-page":"915","volume-title":"IFIP Congress","author":"Nordstr\u00f6m B.","year":"1983","unstructured":"B. Nordstr\u00f6m and K. Petersson. Types and specifications. In IFIP Congress, pages 915-920, 1983."},{"key":"e_1_3_2_1_18_1","unstructured":"Ocean Observatories Initiative. http:\/\/www.oceanobservatories.org\/."},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796816000289"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2908080.2908115"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411286.1411290"},{"key":"e_1_3_2_1_22_1","series-title":"LIPIcs","first-page":"1","volume-title":"ECOOP","author":"Scalas A.","year":"2017","unstructured":"A. Scalas, O. Dardha, R. Hu, and N. Yoshida. A linear decomposition of multiparty sessions for safe distributed programming. In ECOOP, volume 74 of LIPIcs, pages 24:1-24:31, 2017."},{"key":"e_1_3_2_1_23_1","series-title":"LIPIcs","first-page":"1","volume-title":"ECOOP","author":"Scalas A.","year":"2016","unstructured":"A. Scalas and N. Yoshida. Lightweight session programming in scala. In ECOOP, volume 56 of LIPIcs, pages 21:1-21:28, 2016."},{"key":"e_1_3_2_1_24_1","unstructured":"Scribble home page. http:\/\/www.scribble.org."},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134016"},{"key":"e_1_3_2_1_26_1","unstructured":"Project page. https:\/\/session-type-provider.github.io\/."},{"key":"e_1_3_2_1_27_1","unstructured":"D. Syme et al. F#3.0: Strongly-typed language support for internetscale information sources."},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2003476.2003499"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jlamp.2016.11.005"},{"key":"e_1_3_2_1_30_1","unstructured":"Z3 SMT solver. http:\/\/z3.codeplex.com\/."}],"event":{"name":"CGO '18: 16th Annual IEEE\/ACM International Symposium on Code Generation and Optimization","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGMICRO ACM Special Interest Group on Microarchitectural Research and Processing","IEEE-CS Computer Society"],"location":"Vienna Austria","acronym":"CGO '18"},"container-title":["Proceedings of the 27th International Conference on Compiler Construction"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3178372.3179495","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3178372.3179495","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:26:23Z","timestamp":1750213583000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3178372.3179495"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,2,24]]},"references-count":30,"alternative-id":["10.1145\/3178372.3179495","10.1145\/3178372"],"URL":"https:\/\/doi.org\/10.1145\/3178372.3179495","relation":{},"subject":[],"published":{"date-parts":[[2018,2,24]]},"assertion":[{"value":"2018-02-24","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}