This book constitutes the refereed conference proceedings of the 20th International Workshop on Functional and Constraint Logic Programming, WFLP 2011, held in Odense, Denmark, in July 2011 as Part of the 13th International Symposium on Principles and Practice of Declarative Programming (PPDP 2011), the 22st International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2011), and the 4th International Workshop on Approaches and Applications of Inductive Programming (AAIP 2011). From the 10 papers submitted, 9 were accepted for presentation the proceeding. The papers cover current research in all areas of functional and logic programming as well as the integration of constraint logic and object-oriented programming, and term rewriting.
Author(s): Herbert Kuchen
Publisher: Springer
Year: 2011
Language: English
Pages: 155
Cover
Lecture Notes in Computer Science 6816
Functional
and Constraint
Logic Programming
ISBN 9783642225307
Preface
Organization
Table of Contents
Functional Logic Programming
KiCS2: A New Compiler from Curry to Haskell
Introduction
Curry Programs
Compilation to Haskell: The Basics
Representing Non-deterministic Computations
The Basic Translation Scheme
Extracting Values
Benchmarks
Further Features
Search Strategies
Encapsulated Search
Logic Variables and Unification
Conclusions and Related Work
References
New Functional Logic Design Patterns
Introduction
Functional Logic Programming and Curry
Patterns
Call-by-Reference
Many-to-Many
Quantification
Deep Selection
Non-determinism Introduction and Elimination
Conclusion and Related Work
References
XQuery in the Functional-Logic Language Toy
Introduction
XPath in TOY
The Functional-Logic Language TOY
Representing XPath Queries
XQuery in TOY
XQuery Optimization in TOY
XQuery as Higher Order Patterns
XQuery Transformations
Conclusions
References
Functional Programming
Size Invariant and Ranking Function Synthesis in a Functional Language
Introduction
Linear Constraints Techniques
The Safe Functional Language
Size Invariant Inference
Ranking Function Synthesis
Conclusions
References
Memoizing a Monadic Mixin DSL
Application Domain
Brief DSL Overview
DSL Syntax
Implementation
C++ Abstract Syntax Tree
The Combinator Stack
The Code Generator
Code Generation Mixins
Monadic Components
Effect Encapsulation
Memoization and Inlining
Basic Memoization
Monadic Memoization
Backend Sharing
Evaluation
Related Work
Conclusions
References
A Functional Approach to Worst-Case Execution Time Analysis
Introduction
Related Work
The Two-Level Meta-language
Fixpoint Semantics
The Static Analyzer
Program Flow Analysis
Microarchitectural Analysis
Conclusions
References
Building a Faceted Browser in CouchDB Using Views on Views and Erlang Metaprogramming
Introduction and Background
Faceted Browsing
Motivation
Theoretical Background
CouchDB and Its Map-Reduce Framework
Design and Engineering Choices
Map-Reduce Framework
Implementation
Document Ingestion
Document Indexing with Map-Reduce
Data Curation and Conversion of Views to Documents
Faceted Search with Map-Reduce
Web Interface
Evaluation and Future Work
Related Work and Conclusion
References
Integration of Constraint Logic and Object-Oriented
Programming
Logic Java: Combining Object-Oriented and Logic Programming
Introduction
Related Work
Design of Logic Java
General Principles
Introductory Examples
Implementation
Strength and Limitations
Conclusion and Future Work
References
Term Rewriting
On Proving Termination of Constrained Term Rewrite Systems by Eliminating Edges from Dependency Graphs
Introduction
Preliminaries
Termination Criterion for Constrained TRSs
Necessary Condition of Two Dependency Pairs for Forming a Chain
DP Framework for Constrained TRSs
Graph-Handling DP Framework for Constrained TRSs
Conclusion
References
Author Index