A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2017; you can also visit the original URL.
The file type is application/pdf
.
Filters
KiCS2: A New Compiler from Curry to Haskell
[chapter]
2011
Lecture Notes in Computer Science
In this paper we present our first steps towards a new system to compile functional logic programs of the source language Curry into purely functional Haskell programs. ...
This enables the application of various search strategies to extract values from the search space. ...
Apart from the parser, where we reused an existing one implemented in Haskell, the compiler is completely written in Curry. ...
doi:10.1007/978-3-642-22531-4_1
fatcat:cyitk3hjnncoddwrcobjih2a7q
A New Functional-Logic Compiler for Curry: Sprite
[article]
2016
arXiv
pre-print
We introduce a new native code compiler for Curry codenamed Sprite. ...
We outline salient features of Sprite, discuss its implementation of Curry programs, and present benchmarking results. Sprite is the first-to-date operationally complete implementation of Curry. ...
KiCS2's compiler translates Curry source code into Haskell source code which is then processed by GHC [13] , a mainstream Haskell compiler. ...
arXiv:1608.04016v1
fatcat:ulsvv7qr35cpffl3ebqrsphile
A New Functional-Logic Compiler for Curry: Sprite
[chapter]
2017
Lecture Notes in Computer Science
We introduce a new native code compiler for Curry codenamed Sprite. ...
We outline salient features of Sprite, discuss its implementation of Curry programs, and present benchmarking results. Sprite is the first-to-date operationally complete implementation of Curry. ...
KiCS2's compiler translates Curry source code into Haskell source code which is then processed by GHC [13] , a mainstream Haskell compiler. ...
doi:10.1007/978-3-319-63139-4_6
fatcat:5iqmxm6ftva5vmbposwwxbk36q
Implementing Equational Constraints in a Functional Language
[chapter]
2013
Lecture Notes in Computer Science
KiCS2 is a new system to compile functional logic programs of the source language Curry into purely functional Haskell programs. ...
To overcome this drawback, we propose new techniques to implement equational constraints in this framework. ...
In this paper we consider KiCS2 [12] , a new system that compiles functional logic programs of the source language Curry [21] into purely functional Haskell programs. ...
doi:10.1007/978-3-642-45284-0_9
fatcat:jrt5kqbabbd2jdhimbzqyii264
Implementing Equational Constraints in a Functional Language
[article]
2011
arXiv
pre-print
KiCS2 is a new system to compile functional logic programs of the source language Curry into purely functional Haskell programs. ...
To overcome this drawback, we propose new techniques to implement equational constraints in this framework. ...
In this paper we consider KiCS2 [12] , a new system that compiles functional logic programs of the source language Curry [21] into purely functional Haskell programs. ...
arXiv:1108.5609v1
fatcat:j5nee5yj5vfgdlt4llrdn76od4
Integration of functional and logic programming
1996
ACM Computing Surveys
In such cases, one has to explain from the beginning the pitfalls of backtracking which harms the understanding of declarative programming. From a declarative point of view, ...
This combination led to new design patterns [AH02, AH11] and better abstractions for application programming, e.g., as shown for programming with databases [BHM08, Fis05], GUI programming [Han00], web ...
Since KiCS2 compiles Curry programs into Haskell programs, we used the Glasgow Haskell Compiler (GHC 7.0.4, option -O2) to compile and execute the generated target programs. ...
doi:10.1145/234528.234734
fatcat:o34vgwwnbbcllnwozymoizu3am
Improving Lazy Non-Deterministic Computations by Demand Analysis
2012
International Conference on Logic Programming
We demonstrate the positive effects of this program transformation with KiCS2, a recent highly efficient implementation of the functional logic programming language Curry. ...
In order to improve the execution behavior in such situations, we propose a program analysis that guides a program transformation to avoid such inefficiencies. ...
In this paper we consider KiCS2 [19] , a new system that compiles functional logic programs of the source language Curry [38] into purely functional Haskell programs. ...
doi:10.4230/lipics.iclp.2012.130
dblp:conf/iclp/Hanus12
fatcat:brk5o7y5rvajrgcoiqkpnxgop4
Memoized Pull-Tabbing for Functional Logic Programming
[article]
2020
arXiv
pre-print
This could result in a dramatic increase of execution time compared to a backtracking implementation. ...
It has been used to compile functional logic languages into imperative or purely functional target languages. Pull-tab steps might duplicate choices in case of shared subexpressions. ...
The Curry compiler KiCS2 [13] is based on pull-tabbing and compiles Curry programs into a purely functional Haskell programs. ...
arXiv:2008.11999v1
fatcat:i7c6gnt22jblveiamsljjgkwwe
A Generic Analysis Server System for Functional Logic Programs
[article]
2013
arXiv
pre-print
CASS is completely implemented in the functional logic language Curry as a master/worker architecture to exploit parallel or distributed execution environments. ...
For this purpose, CASS can also be invoked as a server system to get a language-independent access to its functionality. ...
The authors are grateful to Heiko Hoffmann for his contribution to an initial version of the analysis system and Sandra Dylus for her suggestions to improve the paper. ...
arXiv:1307.4648v1
fatcat:lmhunncxzjcp3ejgudeyzedcu4
Adding Data to Curry
[article]
2019
arXiv
pre-print
In this paper, we present a solution to these problems by introducing a new type class "Data" which is associated with specific algebraic data types, logic variables, and strict equality. ...
Thus, the definition of an appropriate meaning of equality has a long history in these languages, ranging from reflexive equality in early equational logic languages to strict equality in contemporary ...
The authors are grateful to Sandra Dylus and Marius Rasch for fruitful discussions during the conception phase of this paper. ...
arXiv:1908.10607v1
fatcat:vubjepbn2ba37owpqffzzqzgbi
ICurry
[article]
2019
arXiv
pre-print
FlatCurry is a well-established intermediate representation of Curry programs used in compilers that translate Curry code into Prolog and Haskell code. ...
We introduce a new representation of Curry programs, called ICurry, and derive a translation from all FlatCurry constructs into ICurry. ...
KiCS2 translates source Curry code into Haskell, leveraging the existence of first-class function and their efficient demand-driven execution in Haskell. ...
arXiv:1908.11101v1
fatcat:nuehgz5f3ndt3ck5tb6muyar4u
From Boolean Equalities to Constraints
[chapter]
2015
Lecture Notes in Computer Science
Consequently, the language Curry, which amalgamates functional and logic programming features, offers two kinds of equational expressions so that the programmer has to distinguish between these uses. ...
A typical example is the factorial function where the base case is distinguished from the recursive case by comparing the argument with 0: 1 fac n = if n==0 then 1 else n * fac (n-1) On the other hand, ...
KiCS2 (Version 0.4.0) has been used with the Glasgow Haskell Compiler (GHC 7.6.3, option -O2) as its backend. ...
doi:10.1007/978-3-319-27436-2_5
fatcat:bo4mpvk2pnhhfdsir37dvebhiy
A semantics for weakly encapsulated search in functional logic programs
2013
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming - PPDP '13
Encapsulated search is a key feature of (functional) logic languages. It allows the programmer to access and process different results of a non-deterministic computation within a program. ...
The semantics is also the basis of a practical implementation of search operators in the functional logic language Curry. ...
The authors are grateful to the anonymous referees for helpful comments and suggestions to improve the paper. ...
doi:10.1145/2505879.2505896
dblp:conf/ppdp/ChristiansenHRS13
fatcat:q6r4b5hmnzhspdsr3t46h47ntq
Combining Static and Dynamic Contract Checking for Curry
[article]
2017
arXiv
pre-print
Based on a formal model of contract checking for functional logic programming, we propose an automatic method to verify contracts at compile time. ...
To improve this situation for declarative languages, we present an approach to combine static and dynamic contract checking for the functional logic language Curry. ...
The author is grateful to the anonymous reviewers for their helpful comments. ...
arXiv:1709.04816v1
fatcat:gubkjo2vszawnc4efd2xji6mw4
From Logic to Functional Logic Programs
[article]
2022
arXiv
pre-print
Logic programming is a flexible programming paradigm due to the use of predicates without a fixed data flow. ...
To extend logic languages with the compact notation of functional programming, there are various proposals to map evaluable functions into predicates in order to stay in the logic programming framework ...
KiCS2 compiles Curry programs to Haskell programs by representing non-deterministic computations as search trees, i.e., the generated Haskell functions return a tree of all result values. ...
arXiv:2205.06841v1
fatcat:du6oucg3zrfptfxrlxhkky55ue
« Previous
Showing results 1 — 15 out of 25 results