[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-135836-105":59,"doc-detail-135836-en":122},{"code":4,"msg":5,"data":6},0,"success",[7,13,18,23,28,33,38,43,48,51,55],{"id":8,"doc_module":4,"doc_module_name":9,"category_name":10,"show_sort_weight":11,"slug":12},1,"Document","Story & Novel",90,"story-novel",{"id":14,"doc_module":4,"doc_module_name":9,"category_name":15,"show_sort_weight":16,"slug":17},2,"Literature",80,"literature",{"id":19,"doc_module":4,"doc_module_name":9,"category_name":20,"show_sort_weight":21,"slug":22},4,"Exam",70,"exam",{"id":24,"doc_module":4,"doc_module_name":9,"category_name":25,"show_sort_weight":26,"slug":27},5,"Comic",60,"comic",{"id":29,"doc_module":4,"doc_module_name":9,"category_name":30,"show_sort_weight":31,"slug":32},6,"Technology",50,"technology",{"id":34,"doc_module":4,"doc_module_name":9,"category_name":35,"show_sort_weight":36,"slug":37},7,"Healthcare",40,"healthcare",{"id":39,"doc_module":4,"doc_module_name":9,"category_name":40,"show_sort_weight":41,"slug":42},8,"Research & Report",30,"research-report",{"id":44,"doc_module":4,"doc_module_name":9,"category_name":45,"show_sort_weight":46,"slug":47},9,"Religion & Spirituality",20,"religion-spirituality",{"id":46,"doc_module":4,"doc_module_name":9,"category_name":49,"show_sort_weight":46,"slug":50},"World Cup","world-cup",{"id":52,"doc_module":4,"doc_module_name":9,"category_name":53,"show_sort_weight":52,"slug":54},10,"Lifestyle","lifestyle",{"id":56,"doc_module":4,"doc_module_name":9,"category_name":57,"show_sort_weight":24,"slug":58},19,"General","general",{"code":4,"msg":60,"data":61},"ok",{"site_id":62,"language":63,"slug":64,"title":65,"keywords":66,"description":67,"schema_data":68,"social_meta":115,"head_meta":117,"extra_data":119,"updated_unix":121},105,"en","behaviour-interaction-priority-in-functional-programming-languages-formalisation-and-implementation-of-concurrency-frameworks-in-haskell-and-scala","Behaviour-Interaction-Priority in Functional Programming Languages - Formalisation and Implementation of Concurrency Frameworks in Haskell and Scala","","A formal study of Behaviour-Interaction-Priority (BIP) for concurrency in functional programming languages, centered on defining the BIP concepts and their theoretical foundations. The work develops connector algebras and combinators, including semantic relations and algebraic properties, and extends the theory with data transfer, types, and denotational semantics. It further presents concrete implementations in Haskell and Scala, describing system architecture, engine behavior, and optimization techniques such as caching and early detection. Evaluation uses representative examples to assess expressivity and performance.",{"@graph":69,"@context":114},[70,84,105],{"@type":71,"itemListElement":72},"BreadcrumbList",[73,77,79,82],{"item":74,"name":75,"@type":76,"position":8},"https://docshare.wps.com","Home","ListItem",{"item":78,"name":9,"@type":76,"position":14},"https://docshare.wps.com/document/",{"item":80,"name":40,"@type":76,"position":81},"https://docshare.wps.com/document/research-report/",3,{"item":83,"name":65,"@type":76,"position":19},"https://docshare.wps.com/document/behaviour-interaction-priority-in-functional-programming-languages-formalisation-and-implementation-of-concurrency-frameworks-in-haskell-and-scala/135836/",{"url":83,"name":65,"@type":85,"image":86,"author":91,"headline":65,"publisher":94,"fileFormat":97,"inLanguage":63,"description":67,"dateModified":98,"datePublished":99,"encodingFormat":97,"isAccessibleForFree":100,"interactionStatistic":101},"DigitalDocument",{"url":87,"@type":88,"width":89,"height":90},"https://docshare.wps.com/thumbnails/behaviour-interaction-priority-in-functional-programming-languages-formalisation-and-implementation-of-concurrency-frameworks-in-haskell-and-scala/135836.png","ImageObject",300,407,{"name":92,"@type":93},"Bintang","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-10-20","2026-08-21",true,{"@type":102,"interactionType":103,"userInteractionCount":44},"InteractionCounter",{"@type":104},"ViewAction",{"@type":106,"mainEntity":107},"FAQPage",[108],{"name":109,"@type":110,"acceptedAnswer":111},"Which optimizations are proposed and how are they evaluated?","Question",{"text":112,"@type":113},"The thesis introduces optimizations including early detection of incompatibility, caching of interactions, connector-specific optimizations, and early execution of stable interactions. Evaluation is carried out with examples such as token ring, masters-slaves, and producers-consumers to assess expressivity and performance.","Answer","https://schema.org",{"og:url":83,"og:type":116,"og:title":65,"og:site_name":95,"og:description":67},"article",{"robots":118,"canonical":83},"index,follow",{"doc_id":120,"site_id":62},135836,1787323648,{"code":4,"msg":5,"data":123},{"doc_id":120,"user_id":124,"nickname":92,"user_avatar":125,"doc_module":4,"category_id":39,"category_name":40,"doc_title":65,"doc_description":67,"doc_content":126,"file_id":127,"file_url":128,"file_type":129,"file_size":130,"view_count":44,"is_deleted":4,"is_public":8,"is_downloadable":8,"audit_status":8,"page_count":131,"language":132,"language_code":63,"site_id":62,"html_lang":63,"table_of_contents":133,"faqs":134,"seo_title":135,"seo_description":67,"update_tm":121,"read_time":136},962085564381,"https://ap-avatar.wpscdn.com/davatar_6f874abed73319feea01a86fa6f0fab8","Behaviour-Interaction-Priority in Functional Programming Languages  \nFormalisation and Implementation of Concurrency Frameworks in Haskell and Scala  \nRomain Edelmann  \nThis thesis was done under the supervision of Prof. Joseph Sifakis  \nand  \nDr. Simon Bliudze  \nRiSD laboratory-IC section  \n􀀓  \nEcole Polytechnique F􀀓ed􀀓erale de Lausanne Lausanne, Switzerland  \nJanuary 2015  \nAcknowledgements  \nFirst of all, I would like to thank my family. Without your endless support and care, this work would not have seen the light of day. Thank you for providing me with avery supportive environment!  \nI would also like to thank Prof. Sifakis and Dr. Bliudze, with whom I had very insightful discussions. I would also like to thank them for giving me the opportunity to take part in the Research Scholar program at EPFL and work at the RiSD laboratory prior to this thesis. This whole experience has been very instructive to me. Obviously, this work would not have been possible without this great opportunity that was o􀀋ered to me.  \nFinally, I would like to thank my partner in life, Naomi, who had to put up with me throughout my studies at EPFL. Naomi, thank you very much for your patience, attention and love!  \nContents  \n1 Introduction 1  \n1.1 Introduction to BIP ............................. 2  \n1.1.1 Behaviour .............................. 2  \n1.1.2 Interaction .............................. 3  \n1.1.3 Priority ............................... 6  \n1.1.4 BIP implementations ........................ 8  \n2 Overview 9  \n2.1 System .................................... 9  \n2.2 Behaviour layer ............................... 9  \n2.2.1 Atoms ................................ 10  \n2.2.2 Ports ................................. 11  \n2.2.3 Awaiting on ports .......................... 12  \n2.2.4 Spawning new atoms ........................ 15  \n2.3 Glue layer .................................. 16  \n2.3.1 Interactions ............................. 16  \n2.3.2 Connectors ............................. 16  \n3 Connector combinators 19  \n3.1 Introduction to connectors ......................... 19  \n3.2 Algebras of BIP ............................... 20  \n3.2.1 Algebra of Interactions ....................... 20  \n3.2.2 Algebra of Connectors ....................... 21  \n3.2.3 Connector combinators ....................... 22  \n3.3 Core combinators without data ...................... 23  \n3.3.1 Grammar .............................. 23  \n3.3.2 Semantics .............................. 23  \n3.3.3 Relation to the algebras of BIP .................. 24  \n3.3.4 Algebraic properties ........................ 24  \n3.3.5 Derived n-ary combinators ..................... 24  \n3.4 Extensions to the theory of connectors .................. 25  \n3.4.1 Data transfer ............................ 25  \n3.4.2 Types and semantic domains .................... 28  \n3.4.3 Grammar .............................. 29  \niv CONTENTS  \n3.4.4 Denotational semantics ....................... 29  \n3.5 Connector combinators ........................... 32  \n3.5.1 Core combinators .......................... 32  \n3.5.2 Data manipulation combinators .................. 34  \n3.5.3 Priority combinators ........................ 36  \n3.5.4 Dynamic combinators ........................ 38  \n3.5.5 Other derived combinators ..................... 39  \n3.6 Properties .................................. 41  \n3.6.1 Soundness .............................. 41  \n3.6.2 Algebraic properties ........................ 47  \n3.7 Properties from Category Theory ..................... 55  \n3.7.1 Hardness ............................... 62  \n3.7.2 Stability ............................... 66  \n4 Implementation 71  \n4.1 General principles and architecture .................... 72  \n4.1.1 Separation between user facing code and backend ........ 72  \n4.1.2 Domain Speci􀀌c Language ..................... 72  \n4.1.3 Engine architecture ......................... 74  \n4.1.4 Final words ............................. 77  \n4.2 Haskell implementation .","cbCaigoS8NXuMSbS","https://ap.wps.com/l/cbCaigoS8NXuMSbS","pdf",1149614,209,"English","# Introduction\n## Introduction to BIP\n### Behaviour\n### Interaction\n### Priority\n### BIP implementations\n# Overview\n## System\n## Behaviour layer\n### Atoms\n### Ports\n### Awaiting on ports\n### Spawning new atoms\n## Glue layer\n### Interactions\n### Connectors\n# Connector combinators\n## Introduction to connectors\n## Algebras of BIP\n### Algebra of Interactions\n### Algebra of Connectors\n### Connector combinators\n## Core combinators without data\n## Extensions to the theory of connectors\n## Connector combinators\n## Properties\n## Properties from Category Theory\n# Implementation\n## General principles and architecture\n## Haskell implementation\n## Scala implementation\n# Optimisations\n## Early detection of downwards incompatibility\n## Caching of interactions\n## Connector optimisation\n## Early execution of stable interactions\n# Examples and evaluation\n## Token ring (Haskell)\n## Masters-Slaves (Scala)\n## Producers-Consumers (Haskell)","[{\"question\":\"Which optimizations are proposed and how are they evaluated?\",\"answer\":\"The thesis introduces optimizations including early detection of incompatibility, caching of interactions, connector-specific optimizations, and early execution of stable interactions. Evaluation is carried out with examples such as token ring, masters-slaves, and producers-consumers to assess expressivity and performance.\"}]","Behaviour-Interaction-Priority in Functional Programming Languages - Formalisation and Implementation of Concurrency Frameworks in Haskell and Scala | PDF",527]