A Practical Study of Control in Objected-Oriented–Functional–Logic Programming with Paisley

Paisley is an extensible lightweight embedded domain-specific language for nondeterministic pattern matching in Java. Using simple APIs and programming idioms, it brings the power of functional-logic processing of arbitrary data objects to the Java platform, without constraining the underlying obje...

Full description

Bibliographic Details
Main Authors: Baltasar Trancón y Widemann, Markus Lepper
Format: Article
Language:English
Published: Open Publishing Association 2017-01-01
Series:Electronic Proceedings in Theoretical Computer Science
Online Access:http://arxiv.org/pdf/1701.00634v1
id doaj-601bd3c89e0c4edfa043fb02b2d186f9
record_format Article
spelling doaj-601bd3c89e0c4edfa043fb02b2d186f92020-11-24T23:32:43ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802017-01-01234Proc. WLP 2015/'16/WFLP'1615016410.4204/EPTCS.234.11:304A Practical Study of Control in Objected-Oriented–Functional–Logic Programming with PaisleyBaltasar Trancón y Widemann0Markus Lepper1 Ilmenau University of Technology, DE semantics GmbH, DE Paisley is an extensible lightweight embedded domain-specific language for nondeterministic pattern matching in Java. Using simple APIs and programming idioms, it brings the power of functional-logic processing of arbitrary data objects to the Java platform, without constraining the underlying object-oriented semantics. Here we present an extension to the Paisley framework that adds pattern-based control flow. It exploits recent additions to the Java language, namely functional interfaces and lambda expressions, for an explicit and transparent continuation-passing style approach to control. We evaluate the practical impact of the novel features on a real-world case study that reengineers a third-party open-source project to use Paisley in place of conventional object-oriented data query idioms. We find the approach viable for incremental refactoring of legacy code, with significant qualitative improvements regarding separation of concerns, clarity and intentionality, thus making for easier code understanding, testing and debugging.http://arxiv.org/pdf/1701.00634v1
collection DOAJ
language English
format Article
sources DOAJ
author Baltasar Trancón y Widemann
Markus Lepper
spellingShingle Baltasar Trancón y Widemann
Markus Lepper
A Practical Study of Control in Objected-Oriented–Functional–Logic Programming with Paisley
Electronic Proceedings in Theoretical Computer Science
author_facet Baltasar Trancón y Widemann
Markus Lepper
author_sort Baltasar Trancón y Widemann
title A Practical Study of Control in Objected-Oriented–Functional–Logic Programming with Paisley
title_short A Practical Study of Control in Objected-Oriented–Functional–Logic Programming with Paisley
title_full A Practical Study of Control in Objected-Oriented–Functional–Logic Programming with Paisley
title_fullStr A Practical Study of Control in Objected-Oriented–Functional–Logic Programming with Paisley
title_full_unstemmed A Practical Study of Control in Objected-Oriented–Functional–Logic Programming with Paisley
title_sort practical study of control in objected-oriented–functional–logic programming with paisley
publisher Open Publishing Association
series Electronic Proceedings in Theoretical Computer Science
issn 2075-2180
publishDate 2017-01-01
description Paisley is an extensible lightweight embedded domain-specific language for nondeterministic pattern matching in Java. Using simple APIs and programming idioms, it brings the power of functional-logic processing of arbitrary data objects to the Java platform, without constraining the underlying object-oriented semantics. Here we present an extension to the Paisley framework that adds pattern-based control flow. It exploits recent additions to the Java language, namely functional interfaces and lambda expressions, for an explicit and transparent continuation-passing style approach to control. We evaluate the practical impact of the novel features on a real-world case study that reengineers a third-party open-source project to use Paisley in place of conventional object-oriented data query idioms. We find the approach viable for incremental refactoring of legacy code, with significant qualitative improvements regarding separation of concerns, clarity and intentionality, thus making for easier code understanding, testing and debugging.
url http://arxiv.org/pdf/1701.00634v1
work_keys_str_mv AT baltasartranconywidemann apracticalstudyofcontrolinobjectedorientedfunctionallogicprogrammingwithpaisley
AT markuslepper apracticalstudyofcontrolinobjectedorientedfunctionallogicprogrammingwithpaisley
AT baltasartranconywidemann practicalstudyofcontrolinobjectedorientedfunctionallogicprogrammingwithpaisley
AT markuslepper practicalstudyofcontrolinobjectedorientedfunctionallogicprogrammingwithpaisley
_version_ 1725533585724669952