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...
Main Authors: | , |
---|---|
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 |