Practical Aspects of Declarative Languages
DOI: 10.1007/978-3-540-77442-6_21
|View full text |Cite
|
Sign up to set email alerts
|

High-Level Database Programming in Curry

Abstract: This paper presents an environment to support high-level database programming in the multi-paradigm declarative programming language Curry. We define an application programming interface (API) that abstracts from the concrete database access methods. The API supports transactions and exploits Curry's type system to ensure a strict separation between queries and updates. In order to ensure database updates that are safe w.r.t. an intended data model (e.g., containing specific relations between entities), we ass… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
29
0

Publication Types

Select...
7
1

Relationship

3
5

Authors

Journals

citations
Cited by 15 publications
(29 citation statements)
references
References 13 publications
(21 reference statements)
0
29
0
Order By: Relevance
“…The performance of non-deterministic computations depends on the evaluation strategy, which are formalized using definitional trees [2]. Applications using functional logic languages include programming of graphical and web user interfaces [28,29] as well as providing high-level APIs for accessing and manipulating databases [11]. The Oz language and the associated Mozart Programming System is another admirable combination of multiple paradigms [72], with applications in functional, concurrent, and logic programming.…”
Section: Run-time Constraint Solvingmentioning
confidence: 99%
“…The performance of non-deterministic computations depends on the evaluation strategy, which are formalized using definitional trees [2]. Applications using functional logic languages include programming of graphical and web user interfaces [28,29] as well as providing high-level APIs for accessing and manipulating databases [11]. The Oz language and the associated Mozart Programming System is another admirable combination of multiple paradigms [72], with applications in functional, concurrent, and logic programming.…”
Section: Run-time Constraint Solvingmentioning
confidence: 99%
“…Moreover, it predefines primitive operations to encapsulate search, that is, to embed the non-deterministic search for solutions into purely functional computations by passing some or all the solutions into list structures. The combined functional and logic programming features of Curry have been shown useful in diverse applications: for example, to provide high-level APIs to access and manipulate databases [12], to construct graphical user interfaces [26], and to support web programming [21,26]. These developments were instrumental in identifying new design patterns that are specific to functional logic programming [6].…”
Section: Currymentioning
confidence: 99%
“…In particular, they combine higher-order functions and demand-driven evaluation from functional programming with logic programming features like non-deterministic search and computing with partial information (logic variables). The combination of these features has led to new design patterns [6] and better abstractions for application programming, e.g., as shown for programming with databases [14,18], GUI programming [21], web programming [22,23,26], or string parsing [17].…”
Section: Introductionmentioning
confidence: 99%