The Sixth International Workshops on Trends in Functional Programming in Education, TFPIE 2017, was held on 22 June 2017 at the University of Kent, in Canterbury, UK, and was co-located with TFP, the Symposium on Trends in Functional Programming. The goal of TFPIE is to gather researchers, professors, teachers, and all professionals interested in functional programming in education. This includes the teaching of functional programming, but also the application of functional programming as a tool for teaching other topics and disciplines. A particular topic of this year's TFPIE was that of MOOCs and other online learning and, as well as a session on this, we were delighted to welcome Heather Miller of EFPL and Northeastern University to give a keynote on this topic entitled "Functional Programming for All! Scaling a MOOC for Students and Professionals Alike". Heather works on and around the Scala programming language and is Executive Director of the Scala Center.
{"title":"Proceedings Sixth Workshop on Trends in Functional Programming in Education","authors":"S. Thompson","doi":"10.4204/EPTCS.270","DOIUrl":"https://doi.org/10.4204/EPTCS.270","url":null,"abstract":"The Sixth International Workshops on Trends in Functional Programming in Education, TFPIE 2017, was held on 22 June 2017 at the University of Kent, in Canterbury, UK, and was co-located with TFP, the Symposium on Trends in Functional Programming. \u0000The goal of TFPIE is to gather researchers, professors, teachers, and all professionals interested in functional programming in education. This includes the teaching of functional programming, but also the application of functional programming as a tool for teaching other topics and disciplines. \u0000A particular topic of this year's TFPIE was that of MOOCs and other online learning and, as well as a session on this, we were delighted to welcome Heather Miller of EFPL and Northeastern University to give a keynote on this topic entitled \"Functional Programming for All! Scaling a MOOC for Students and Professionals Alike\". Heather works on and around the Scala programming language and is Executive Director of the Scala Center.","PeriodicalId":395626,"journal":{"name":"arXiv: Programming Languages","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-05-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124291230","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2016-05-08DOI: 10.2168/LMCS-12(3:3)2016
A. Murawski, N. Tzevelekos
We study the semantic meaning of block structure using game semantics. To that end, we introduce the notion of block-innocent strategies and characterise call-by-value computation with block-allocated storage through soundness, finite definability and universality results. This puts us in a good position to conduct a comparative study of purely functional computation, computation with block storage as well as that with dynamic memory allocation. For example, we can show that dynamic variable allocation can be replaced with block-allocated variables exactly when the term involved (open or closed) is of base type and that block-allocated storage can be replaced with purely functional computation when types of order two are involved. To illustrate the restrictive nature of block structure further, we prove a decidability result for a finitary fragment of call-by-value Idealized Algol for which it is known that allowing for dynamic memory allocation leads to undecidability.
{"title":"Block structure vs scope extrusion: between innocence and omniscience","authors":"A. Murawski, N. Tzevelekos","doi":"10.2168/LMCS-12(3:3)2016","DOIUrl":"https://doi.org/10.2168/LMCS-12(3:3)2016","url":null,"abstract":"We study the semantic meaning of block structure using game semantics. To that end, we introduce the notion of block-innocent strategies and characterise call-by-value computation with block-allocated storage through soundness, finite definability and universality results. This puts us in a good position to conduct a comparative study of purely functional computation, computation with block storage as well as that with dynamic memory allocation. For example, we can show that dynamic variable allocation can be replaced with block-allocated variables exactly when the term involved (open or closed) is of base type and that block-allocated storage can be replaced with purely functional computation when types of order two are involved. To illustrate the restrictive nature of block structure further, we prove a decidability result for a finitary fragment of call-by-value Idealized Algol for which it is known that allowing for dynamic memory allocation leads to undecidability.","PeriodicalId":395626,"journal":{"name":"arXiv: Programming Languages","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126533737","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
PLACES 2013 (full title: Programming Language Approaches to Concurrency- and Communication-cEntric Software) was the sixth edition of the PLACES workshop series. After the first PLACES, which was affiliated to DisCoTec in 2008, the workshop has been part of ETAPS every year since 2009 and is now an established part of the ETAPS satellite events. This year, PLACES was the best attended workshop at ETAPS 2013. The workshop series was started in order to promote the application of novel programming language ideas to the increasingly important problem of developing software for systems in which concurrency and communication are intrinsic aspects. This includes software for multi- and many-core systems, accelerators and large-scale distributed and/or service-oriented systems. The scope of PLACES includes new programming language features, whole new programming language designs, new type systems, new semantic approaches, new program analysis techniques, and new implementation mechanisms.
{"title":"Proceedings 5th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software","authors":"N. Yoshida, W. Vanderbauwhede","doi":"10.4204/EPTCS.137","DOIUrl":"https://doi.org/10.4204/EPTCS.137","url":null,"abstract":"PLACES 2013 (full title: Programming Language Approaches to Concurrency- and Communication-cEntric Software) was the sixth edition of the PLACES workshop series. After the first PLACES, which was affiliated to DisCoTec in 2008, the workshop has been part of ETAPS every year since 2009 and is now an established part of the ETAPS satellite events. This year, PLACES was the best attended workshop at ETAPS 2013. \u0000The workshop series was started in order to promote the application of novel programming language ideas to the increasingly important problem of developing software for systems in which concurrency and communication are intrinsic aspects. This includes software for multi- and many-core systems, accelerators and large-scale distributed and/or service-oriented systems. The scope of PLACES includes new programming language features, whole new programming language designs, new type systems, new semantic approaches, new program analysis techniques, and new implementation mechanisms.","PeriodicalId":395626,"journal":{"name":"arXiv: Programming Languages","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-12-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126155812","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Well-quasi orders such as homeomorphic embedding are commonly used to ensure termination of program analysis and program transformation, in particular supercompilation. We compare eight well-quasi orders on how discriminative they are and their computational complexity. The studied well-quasi orders comprise two very simple examples, two examples from literature on supercompilation and four new proposed by the author. We also discuss combining several well-quasi orders to get well-quasi orders of higher discriminative power. This adds 19 more well-quasi orders to the list.
{"title":"A comparison of well-quasi orders on trees","authors":"Torben Æ. Mogensen","doi":"10.4204/EPTCS.129.3","DOIUrl":"https://doi.org/10.4204/EPTCS.129.3","url":null,"abstract":"Well-quasi orders such as homeomorphic embedding are commonly used to ensure termination of program analysis and program transformation, in particular supercompilation. \u0000We compare eight well-quasi orders on how discriminative they are and their computational complexity. The studied well-quasi orders comprise two very simple examples, two examples from literature on supercompilation and four new proposed by the author. \u0000We also discuss combining several well-quasi orders to get well-quasi orders of higher discriminative power. This adds 19 more well-quasi orders to the list.","PeriodicalId":395626,"journal":{"name":"arXiv: Programming Languages","volume":"145 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115697534","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This Liber Amicorum is a collection of essays ranging from personal memories to technical contributions. It is a tribute to Dave Schmidt and his career, and was composed at the occasion of his sixtieth birthday.
{"title":"Abstract interpretation-based approaches to Security - A Survey on Abstract Non-Interference and its Challenging Applications","authors":"A. Banerjee, O. Danvy, Kyung-Goo Doh, J. Hatcliff","doi":"10.4204/EPTCS.129","DOIUrl":"https://doi.org/10.4204/EPTCS.129","url":null,"abstract":"This Liber Amicorum is a collection of essays ranging from personal memories to technical contributions. It is a tribute to Dave Schmidt and his career, and was composed at the occasion of his sixtieth birthday.","PeriodicalId":395626,"journal":{"name":"arXiv: Programming Languages","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123584105","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
PLACES 2012 (full title: Programming Language Approaches to Concurrency- and Communication-Centric Software) is the fifth edition of the PLACES workshop series. After the first PLACES, which was affiliated to DisCoTec in 2008, the workshop has been part of ETAPS every year since 2009 and is now an established part of the ETAPS satellite events. PLACES 2012 was held on 31st March in Tallinn, Estonia. The workshop series was started in order to promote the application of novel programming language ideas to the increasingly important problem of developing software for systems in which concurrency and communication are intrinsic aspects. This includes software for both multi-core systems and large-scale distributed and/or service-oriented systems. The scope of PLACES includes new programming language features, whole new programming language designs, new type systems, new semantic approaches, new program analysis techniques, and new implementation mechanisms. This year's call for papers attracted 17 submissions, from which the programme committee selected 10 papers for presentation at the workshop. After the workshop, all of the authors were invited to produce revised versions of their papers for inclusion in the EPTCS proceedings. The authors of six papers accepted the invitation, and those papers constitute the present volume.
{"title":"Proceedings Fifth Workshop on Programming Language Approaches to Concurrency- and Communication-cEntric Software","authors":"S. Gay, P. Kelly","doi":"10.4204/EPTCS.109","DOIUrl":"https://doi.org/10.4204/EPTCS.109","url":null,"abstract":"PLACES 2012 (full title: Programming Language Approaches to Concurrency- and Communication-Centric Software) is the fifth edition of the PLACES workshop series. After the first PLACES, which was affiliated to DisCoTec in 2008, the workshop has been part of ETAPS every year since 2009 and is now an established part of the ETAPS satellite events. PLACES 2012 was held on 31st March in Tallinn, Estonia. \u0000The workshop series was started in order to promote the application of novel programming language ideas to the increasingly important problem of developing software for systems in which concurrency and communication are intrinsic aspects. This includes software for both multi-core systems and large-scale distributed and/or service-oriented systems. The scope of PLACES includes new programming language features, whole new programming language designs, new type systems, new semantic approaches, new program analysis techniques, and new implementation mechanisms. \u0000This year's call for papers attracted 17 submissions, from which the programme committee selected 10 papers for presentation at the workshop. After the workshop, all of the authors were invited to produce revised versions of their papers for inclusion in the EPTCS proceedings. The authors of six papers accepted the invitation, and those papers constitute the present volume.","PeriodicalId":395626,"journal":{"name":"arXiv: Programming Languages","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130965348","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This volume contains the proceedings of the Tenth Workshop on Quantitative Aspects of Programming Languages (QAPL 2012), held in Tallin, Estonia, on March 31 and April 1, 2012. QAPL 2012 is a satellite event of the European Joint Conferences on Theory and Practice of Software (ETAPS 2012). The workshop theme is on quantitative aspects of computation. These aspects are related to the use of physical quantities (storage space, time, bandwidth, etc.) as well as mathematical quantities (e.g. probability and measures for reliability, security and trust), and play an important (sometimes essential) role in characterising the behavior and determining the properties of systems. Such quantities are central to the definition of both the model of systems (architecture, language design, semantics) and the methodologies and tools for the analysis and verification of the systems properties. The aim of this workshop is to discuss the explicit use of quantitative information such as time and probabilities either directly in the model or as a tool for the analysis of systems.
{"title":"Proceedings 10th Workshop on Quantitative Aspects of Programming Languages and Systems","authors":"H. Wiklicky, M. Massink","doi":"10.4204/EPTCS.85","DOIUrl":"https://doi.org/10.4204/EPTCS.85","url":null,"abstract":"This volume contains the proceedings of the Tenth Workshop on Quantitative Aspects of Programming Languages (QAPL 2012), held in Tallin, Estonia, on March 31 and April 1, 2012. QAPL 2012 is a satellite event of the European Joint Conferences on Theory and Practice of Software (ETAPS 2012). The workshop theme is on quantitative aspects of computation. These aspects are related to the use of physical quantities (storage space, time, bandwidth, etc.) as well as mathematical quantities (e.g. probability and measures for reliability, security and trust), and play an important (sometimes essential) role in characterising the behavior and determining the properties of systems. Such quantities are central to the definition of both the model of systems (architecture, language design, semantics) and the methodologies and tools for the analysis and verification of the systems properties. The aim of this workshop is to discuss the explicit use of quantitative information such as time and probabilities either directly in the model or as a tool for the analysis of systems.","PeriodicalId":395626,"journal":{"name":"arXiv: Programming Languages","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-07-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133812072","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This is the proceedings of PLACES'10, the 3rd Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software, held in Pathos, Cyprus, on 21st Mach, 2010, co-located with the ETAPS federated conferences. PLACES aims to offer a forum where researchers from different fields exchange new ideas on one of the central challenges in programming in near future, the development of programming methodologies and infrastructures where concurrency and distribution are a norm rather than a marginal concern. The Program Committee, after a careful and thorough reviewing process, selected for presentation in the programme 10 papers out of 14 submissions. Each submission was evaluated by at least two referees, and the accepted papers were selected during two weeks' electronic discussions. This post-proceedings contain the papers which are based on these submissions, incorporating the result of these and further reviews, resulting in strengthened technical results and presentations.
{"title":"Proceedings Third Workshop on Programming Language Approaches to Concurrency and communication-cEntric Software","authors":"Kohei Honda, A. Mycroft","doi":"10.4204/EPTCS.69","DOIUrl":"https://doi.org/10.4204/EPTCS.69","url":null,"abstract":"This is the proceedings of PLACES'10, the 3rd Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software, held in Pathos, Cyprus, on 21st Mach, 2010, co-located with the ETAPS federated conferences. PLACES aims to offer a forum where researchers from different fields exchange new ideas on one of the central challenges in programming in near future, the development of programming methodologies and infrastructures where concurrency and distribution are a norm rather than a marginal concern. The Program Committee, after a careful and thorough reviewing process, selected for presentation in the programme 10 papers out of 14 submissions. Each submission was evaluated by at least two referees, and the accepted papers were selected during two weeks' electronic discussions. This post-proceedings contain the papers which are based on these submissions, incorporating the result of these and further reviews, resulting in strengthened technical results and presentations.","PeriodicalId":395626,"journal":{"name":"arXiv: Programming Languages","volume":"83 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125965254","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}