skip to main content
10.1145/3354166acmotherconferencesBook PagePublication PagesppdpConference Proceedingsconference-collections
PPDP '19: Proceedings of the 21st International Symposium on Principles and Practice of Declarative Programming
ACM2019 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
PPDP '19: Principles and Practice of Programming Languages 2019 Porto Portugal October 7 - 9, 2019
ISBN:
978-1-4503-7249-7
Published:
07 October 2019
In-Cooperation:
Sony
Recommend ACM DL
ALREADY A SUBSCRIBER?SIGN IN

Reflects downloads up to 17 Feb 2025Bibliometrics
Skip Abstract Section
Abstract

Welcome to the 21st Symposium on Principles and Practice of Declarative Programming - PPDP 2019! This year's symposium continues the long tradition of bringing together researchers from the various declarative programming communities, including those working in the functional, logic, answer-set and constraint-solving programming paradigms. PPDP's mission is to stimulate research in the use of logical formalisms and methods for specifying, performing, and analysing computations, including mechanisms for mobility, modularity, concurrency, object orientation, security, verification and static analysis.

Skip Table Of Content Section
invited-talk
research-article
10 Years of the Higher-Order Model Checking Project (Extended Abstract)
Article No.: 2, Pages 1–2https://doi.org/10.1145/3354166.3354167

We give an overview of the higher-order model checking project at the University of Tokyo. We provide references to the results obtained in the past 10 years, and explain what the project is now heading for.

research-article
Normalization by Evaluation for Call-By-Push-Value and Polarized Lambda Calculus
Article No.: 3, Pages 1–12https://doi.org/10.1145/3354166.3354168

We observe that normalization by evaluation for simply-typed lambda-calculus with weak coproducts can be carried out in a weak bi-cartesian closed category of presheaves equipped with a monad that allows us to perform case distinction on neutral terms ...

research-article
Crumbling Abstract Machines
Article No.: 4, Pages 1–15https://doi.org/10.1145/3354166.3354169

Extending the λ-calculus with a construct for sharing, such as let expressions, enables a special representation of terms: iterated applications are decomposed by introducing sharing points in between any two of them, reducing to the case where ...

research-article
Property-Based Testing via Proof Reconstruction
Article No.: 5, Pages 1–13https://doi.org/10.1145/3354166.3354170

Property-based testing (PBT) is a technique for validating code against an executable specification by automatically generating test-data. We present a proof-theoretical reconstruction of this style of testing for relational specifications and employ ...

research-article
Type-Driven Verification of Non-functional Properties
Article No.: 6, Pages 1–15https://doi.org/10.1145/3354166.3354171

Energy, Time and Security (ETS) properties of programs are becoming increasingly prioritised by developers, especially where applications are running on ETS sensitive systems, such as embedded devices or the Internet of Things. Moreover, developers ...

research-article
Functional Reactive Programming, restated
Article No.: 7, Pages 1–14https://doi.org/10.1145/3354166.3354172

Functional Reactive Programming is an approach to declarative programming of reactive systems by describing interactions between time-varying values. FRP implementations are often realised as an embedding in a functional host language, making for very ...

research-article
Generic Encodings of Constructor Rewriting Systems
Article No.: 8, Pages 1–12https://doi.org/10.1145/3354166.3354173

Rewriting is a formalism widely used in computer science and mathematical logic. The classical formalism has been extended, in the context of functional languages, with an order over the rules and, in the context of rewrite based languages, with the ...

research-article
Sharing Equality is Linear
Article No.: 9, Pages 1–14https://doi.org/10.1145/3354166.3354174

The λ-calculus is a handy formalism to specify the evaluation of higher-order programs. It is not very handy, however, when one interprets the specification as an execution mechanism, because terms can grow exponentially with the number of β-steps. This ...

research-article
Public Access
Relational Symbolic Execution
Article No.: 10, Pages 1–14https://doi.org/10.1145/3354166.3354175

Symbolic execution is a classical program analysis technique used to show that programs satisfy or violate given specifications. In this work we generalize symbolic execution to support program analysis for relational specifications in the form of ...

research-article
An Adequate While-Language for Hybrid Computation
Article No.: 11, Pages 1–15https://doi.org/10.1145/3354166.3354176

Hybrid computation harbours discrete and continuous dynamics in the form of an entangled mixture, inherently present in various natural phenomena and in applications ranging from control theory to microbiology. The emergent behaviours bear signs of both ...

research-article
Functional programming with λ-tree syntax
Article No.: 12, Pages 1–16https://doi.org/10.1145/3354166.3354177

We present the design of a new functional programming language, MLTS, that uses the λ-tree syntax approach to encoding bindings appearing within data structures. In this approach, bindings never become free nor escape their scope: instead, binders in ...

research-article
Open Access
Inductive Theorem Proving in Non-terminating Rewriting Systems and Its Application to Program Transformation
Article No.: 13, Pages 1–14https://doi.org/10.1145/3354166.3354178

We present a framework for proving inductive theorems of first-order equational theories, using techniques of implicit induction developed in the field of term rewriting. In this framework, we make use of automated confluence provers, which have ...

research-article
Smart Contracts as Authorized Production Rules
Article No.: 14, Pages 1–14https://doi.org/10.1145/3354166.3354179

Rainfall is a smart contract programming model that allows mutually distrusting parties to manage assets on a distributed ledger. The model consists of a tuple space of authorized facts, and a set of production rules. Rules match on authorized facts, ...

research-article
Public Access
Moderately Complex Paxos Made Simple: High-Level Executable Specification of Distributed Algorithms
Article No.: 15, Pages 1–15https://doi.org/10.1145/3354166.3354180

This paper describes the application of a high-level language and method in developing simpler specifications of more complex variants of the Paxos algorithm for distributed consensus. The specifications are for Multi-Paxos with preemption, replicated ...

research-article
Under Control: Compositionally Correct Closure Conversion with Mutable State
Article No.: 16, Pages 1–15https://doi.org/10.1145/3354166.3354181

Compositional compiler verification aims to ensure correct compilation of components, not just whole programs. Perconti and Ahmed [2014] propose a methodology for compositional compiler correctness that supports linking with code of arbitrary ...

research-article
TopHat: A formal foundation for task-oriented programming
Article No.: 17, Pages 1–13https://doi.org/10.1145/3354166.3354182

Software that models how people work is omnipresent in today's society. Current languages and frameworks often focus on usability by non-programmers, sacrificing flexibility and high level abstraction. Task-oriented programming (TOP) is a programming ...

research-article
Spacetime Programming: A Synchronous Language for Composable Search Strategies
Article No.: 18, Pages 1–16https://doi.org/10.1145/3354166.3354183

Search strategies are crucial to efficiently solve constraint satisfaction problems. However, programming search strategies in the existing constraint solvers is a daunting task and constraint-based languages usually have compositionality issues. We ...

research-article
Intrinsically-Typed Mechanized Semantics for Session Types
Article No.: 19, Pages 1–15https://doi.org/10.1145/3354166.3354184

Session types have emerged as a powerful paradigm for structuring communication-based programs. They guarantee type soundness and session fidelity for concurrent programs with sophisticated communication protocols. As type soundness proofs for languages ...

research-article
Exponential Elimination for Bicartesian Closed Categorical Combinators
Article No.: 20, Pages 1–13https://doi.org/10.1145/3354166.3354185

Categorical combinators offer a simpler alternative to typed lambda calculi for static analysis and implementation. Since categorical combinators are accompanied by a rich set of conversion rules which arise from categorical laws, they also offer a ...

research-article
Exception Handling and Classical Logic
Article No.: 21, Pages 1–14https://doi.org/10.1145/3354166.3354186

We present λtry, an extension of the λ-calculus with named exception handling, via try, throw and catch, and present a basic notion of type assignment expressing recoverable exception handling and show that it is sound. We define an interpretation for ...

Contributors
  • Heriot-Watt University
Index terms have been assigned to the content through auto-classification.

Recommendations

Acceptance Rates

PPDP '19 Paper Acceptance Rate 19 of 45 submissions, 42%;
Overall Acceptance Rate 230 of 486 submissions, 47%
YearSubmittedAcceptedRate
PPDP '19451942%
PPDP '18392256%
PPDP '17281864%
PPDP '16371746%
PPDP '14432251%
PPDP '10572137%
PPDP '08482450%
PPDP '03482450%
PPDP '02361850%
PPDP '01401948%
PPDP '00652640%
Overall48623047%