scispace - formally typeset
Search or ask a question

Showing papers on "Functional logic programming published in 2018"


Journal ArticleDOI
TL;DR: This paper presents an in-depth study that examines to what extent Python language is suitable for teaching parallel programming to inexperienced students and shows that Python has stumbling blocks that prevent it from preserving its advantages when shifting from serial programming to parallel programming.
Abstract: Python is gaining popularity in academia as the preferred language to teach novices serial programming. The syntax of Python is clean, easy, and simple to understand. At the same time, it is a high-level programming language that supports multi programming paradigms such as imperative, functional, and object-oriented. Therefore, by default, it is almost obvious to believe that Python is also the appropriate language for teaching parallel programming paradigms. This paper presents an in-depth study that examines to what extent Python language is suitable for teaching parallel programming to inexperienced students. The findings show that Python has stumbling blocks that prevent it from preserving its advantages when shifting from serial programming to parallel programming. Therefore, choosing Python as the first language for teaching parallel programming calls for strong justifications, especially when better solutions exist in the community.

24 citations


Book ChapterDOI
08 Jan 2018
TL;DR: PFLP is presented, a library for probabilistic programming in the functional logic programming language Curry, and it is seen that an implementation based on the concepts offunctional logic programming can have benefits with respect to performance compared to a standard list-based implementation.
Abstract: This paper presents PFLP, a library for probabilistic programming in the functional logic programming language Curry. It demonstrates how the concepts of a functional logic programming language support the implementation of a library for probabilistic programming. In fact, the paradigms of functional logic and probabilistic programming are closely connected. That is, we can apply techniques from one area to the other and vice versa. We will see that an implementation based on the concepts of functional logic programming can have benefits with respect to performance compared to a standard list-based implementation.

6 citations


Book
07 Feb 2018
TL;DR: This paper describes program structuring mechanism for integrating algebraic, functional and object-oriented programming in a single framework with statistically typed higher-order language with specifications, structures, types, and values.
Abstract: : We describe program structuring mechanism for integrating algebraic, functional and object-oriented programming in a single framework. Our language is statistically typed higher-order language with specifications, structures, types, and values, and with universal and existential abstraction over structures, types, and values.

4 citations



Book ChapterDOI
06 Sep 2018
TL;DR: In this article, the authors present a technique to synthesize the definition of the set function of a function f of a functional logic program written in Curry, which can be added to any Curry system and has the potential of changing our thinking about the implementation of non-determinism.
Abstract: Set functions are a feature of functional logic programming to encapsulate all results of a non-deterministic computation in a single data structure. Given a function f of a functional logic program written in Curry, we describe a technique to synthesize the definition of the set function of f. The definition produced by our technique is based on standard Curry constructs. Our approach is interesting for three reasons. It allows reasoning about set functions, it offers an implementation of set functions which can be added to any Curry system, and it has the potential of changing our thinking about the implementation of non-determinism, a notoriously difficult problem.

1 citations


Posted Content
TL;DR: This work describes a technique to synthesize the definition of the set function of f, a feature of functional logic programming to encapsulate all results of a non-deterministic computation in a single data structure.
Abstract: Set functions are a feature of functional logic programming to encapsulate all results of a non-deterministic computation in a single data structure. Given a function $f$ of a functional logic program written in Curry, we describe a technique to synthesize the definition of the set function of $f$. The definition produced by our technique is based on standard Curry constructs. Our approach is interesting for three reasons. It allows reasoning about set functions, it offers an implementation of set functions which can be added to any Curry system, and it has the potential of changing our thinking about the implementation of non-determinism, a notoriously difficult problem.

Book ChapterDOI
08 Oct 2018