2006
DOI: 10.1007/11737414_11
|View full text |Cite
|
Sign up to set email alerts
|

A Syntactic Approach to Combining Functional Notation, Lazy Evaluation, and Higher-Order in LP Systems

Abstract: Abstract. Nondeterminism and partially instantiated data structures give logic programming expressive power beyond that of functional programming. However, functional programming often provides convenient syntactic features, such as having a designated implicit output argument, which allow function call nesting and sometimes results in more compact code. Functional programming also sometimes allows a more direct encoding of lazy evaluation, with its ability to deal with infinite data structures. We present a s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
22
0

Year Published

2008
2008
2023
2023

Publication Types

Select...
8

Relationship

4
4

Authors

Journals

citations
Cited by 24 publications
(22 citation statements)
references
References 17 publications
0
22
0
Order By: Relevance
“…To simplify notation, we include sequences of terms (Seq(T )) as part of T . 3 We also assume some standard definitions and operations on terms: termFn(x) denotes the (name, arity) of the term, args : T → Seq(T ) obtains the term arguments (i.e., the sequence of children), and setArgs : T × Seq(T ) → T replaces the arguments of a term.…”
Section: Language Extensions As Translation Rulesmentioning
confidence: 99%
See 1 more Smart Citation
“…To simplify notation, we include sequences of terms (Seq(T )) as part of T . 3 We also assume some standard definitions and operations on terms: termFn(x) denotes the (name, arity) of the term, args : T → Seq(T ) obtains the term arguments (i.e., the sequence of children), and setArgs : T × Seq(T ) → T replaces the arguments of a term.…”
Section: Language Extensions As Translation Rulesmentioning
confidence: 99%
“…For example, consider embedding a simple handy functional notation [3] (syntactic sugar to write goals, marked with~, in term positions), into a more complex extension, such as the Prologbased implementation of CHR [8]. In this new dialect, the CHR rule (see Sect.…”
Section: Introductionmentioning
confidence: 99%
“…FibFun is the result of parallelizing a definition of the Fibonacci numbers written using the functional notation capabilities of Ciao [6]. Because of the order in which code is generated in the (automatic) translation into Prolog, the result is only parallelizable by UOUDG and UUDG, hence the speedup obtained in this case.…”
Section: Performance Evaluationmentioning
confidence: 99%
“…Note the use of higher order in list.of. More details on Ciao's functional notation can be found in [21]. Logic Programmíng Flavors: a set of packages (which are loaded by default when a Prolog module is read in) provide support for full ISO-Prolog and a number of other classical "builtins" expected by users to be provided by Prolog systems -except that of course in Ciao rather than builtins all of them are optional features brought in from the libraries.…”
Section: ?-Use_package(functional) ?-[321] = ~Nrev(x)mentioning
confidence: 99%