Conference: Workshop on Functional and Constraint Logic Programming - WFLP, 2010]]>

Safe is a rst-order eager language with facilities for pro- grammer controlled destruction and copying of data structures. It pro- vides also regions, i.e. disjoint parts of the heap, where the program allo- cates data structures. The runtime system does not need a garbage collec- tor and all allocation/deallocation actions are done in constant time. The language ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 145-161, 2009]]>Type systems are widely used in programming languages as a powerful tool providing safety to programs, and forcing the programmers to write code in a clearer way. Functional logic languages have inherited Damas & Milner type system from their functional part due to its simplicity and popularity. In this paper we address a couple of aspects that can be subject ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 128-144, 2009]]>Context-sensitive rewriting is a restriction of rewriting that can be used to elegantly model declarative specification and program- ming languages such as Maude. Furthermore, it can be used to model lazy evaluation in functional languages such as Haskell. Building upon our previous work on an expressive and elegant class of rewrite systems (called CERSs) that contains built-in numbers ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 44-61, 2009]]>Numerous computational and deductive frameworks use the notion of strategy to guide reduction and search space exploration, making the macro scale control of micro operations an explicit object of interest. In recent works, abstract strategies have been defined in extension but also intensionally. In this paper we complete these views with a new declarative approach based on constraints, which are ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 13-26, 2009]]>A logic program strongly terminates if it terminates for any selection rule. Clearly, considering a particular selection rule|like Pro- log's leftmost selection rule|allows one to prove more goals terminating. In contrast, a strong termination analysis gives valuable information for those applications in which the selection rule cannot be xed in advance (e.g., partial evaluation, dynamic selection ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 111-127, 2009]]>In this paper, we extend the well-known Naish’s declarative debugging scheme for diagnosing wrong computed answers in first-order lazy functional-logic programs to the higher-order setting of the simply typed λ-calculus, where programs are presented by conditional pattern rewrite systems. Our approach generalizes and combines declarative debugging techniques previously developed for less expressive declarative programming paradigms ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 162-178, 2009]]>The constraint functional logic programming system TOY\mathcal{TOY} has been using the SICStus Prolog finite domain (FD\mathcal{FD}) constraint solver. In this work, we show how to integrate the ILOG CP FD\mathcal{FD} constraint solving technology into this system, with the aim of improving its application domain and performance. We describe our implementation emphasizing the synchronization between ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 27-43, 2009]]>This paper shows that type-checking and type-inference problems are equivalent in domain-free lambda calculi with existential types, that is, type-checking problem is Turing reducible to type-inference problem and vice versa. In this paper, the equivalence is proved for two variants of domain-free lambda calculi with existential types: one is an implication and existence fragment, ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 96-110, 2009]]>We give a novel transformation method for proving termination of higher-order rewrite rules in Klop’s format called Combinatory Reduction System (CRS). The format CRS essentially covers the usual pure higher-order functional programs such as Haskell. Our method called higher-order semantic labelling is an extension of a method known in the theory of term rewriting. This attaches semantics ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 62-78, 2009]]>Lua is a scripting language used in many industrial applications, with an emphasis on embedded systems and games. Two key points in the design of the language that led to its widely adoption are flexibility and small size. To achieve these two conflicting goals, the design emphasizes the use of few but powerful mechanisms, such as first-class functions, associative ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 1-12, 2009]]>This paper presents a taxonomy of some exact, right-to-left, string-matching algorithms. The taxonomy is based on results obtained by using logic program transformation over a naive and nondeterministic specification. A derivation of the search part and some notes about the preprocessing part of each algorithm is presented. The derivations show several design decisions behind each algorithm, and ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 79-95, 2009]]>In this paper we present a system, called CurryWeb, to sup- port web-based learning. Characteristic features of this system is open- ness and self-responsible use. Openness means that there is no strong distinction between instructors and students, i.e., every user can learn with the system or add new learning material to it. Self-responsible use means that ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, 2003]]>Conference: Workshop on Functional and Constraint Logic Programming - WFLP, 2002]]>

In this paper we present a component-based approach to mobile concurrent declarative programming, where we model systems as sets of interacting components. We first give a definition of a component and its different constituents. Finally, we briefly present a prototype implementation through an example.

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, 2001]]>We present a declarative semantics of generalized constraintlogic programs based on stable generated models. Generalized logic programscontain arbitrary quantifier free formulas in the bodies and headsof their rules. Up to now the only declarative semantics for this programclass is defined in terms of stable generated models introduced by Herreand Wagner.

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, 2001]]>On-demand rewriting provides an operational model for termrewriting controlled by annotations consisting of (sets of) positive andnegative integers referring the arguments of function symbols. Contextsensitiverewriting and lazy rewriting provide (different) operational modelsfor positive annotations. In this paper we prove that, under certainconditions, the three operational models coincide. In this case, it makessense using context-sensitive rewriting as it is ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, 2001]]>. We demonstrate how functional programming can be usedas a platform for developing integrated transformation systems that aretyped, scalable, easy to use, and adaptable. The kernel of such a functionaltransformation system for a certain language is a transformationframework generated from the language's grammar. The framework providesa fold traversal scheme and adaptable basic traversals. From thegrammar a parser and pretty-printer ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 154-168, 2000]]>We describe the current status of the development of CFLP, a system which aims at the integration of the best features of functional logic programming (FLP), cooper- ative constraint solving (CCS), and distributed constraint solving. FLP provides support for defining one's own ab- stractions (user-defined functions and predicates) over a constraintdomainin aneasy andcomfortableway, whereas CCS is employed to ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 382-390, 2000]]>Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 391-403, 2000]]>

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 418-426, 2000]]>

This paper presents ours rst experiences in building softwarecomponents in lazy functional languages, by construing functionalprograms as JavaBeans components. First we show how we have implementeda graph reduction machine, the G-Machine, on top of the JVM.Then, using a compiler for a small functional language to G-Code instructions,we show how to get JavaBeans components from functionalprograms.KEYWORDS: ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 470-479, 2000]]>In this paper we propose a new operational semantics, calledBCN, which is sound and complete with respect to Clark-Kunen's completionfor the unrestricted class of Normal Logic Programs. BCN isbased on constructive negation and can be seen as an operational semanticsfor the class of Normal Constraint Logic Programs (NCLP) overthe Herbrand universe. The main features of BCN making it ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 195-209, 2000]]>Curry is a multi-paradigm declarative languages that integratesfeatures from functional languages, logic languages, and concurrentprogramming. In this paper we present an extension of Curry whichadds linear constraints over real numbers to the language. The basic kernelof Curry already provides equational constraints and adding linearinequality constraints is a natural task. However, the integration of functionswhich compute minimal or maximal solutions ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 427-439, 2000]]>The functional notation relative to -calculi provides a simplemethod for establishing the implicit relations between concepts andobject-as-functor constructions. Prior research has mainly bypassed thesemantic characterization of concepts and has been focused on the descriptiveissues. This paper considers the functional notation for individualsand presents a functional approach to creation of metaobjects with increasing/decreasing degree of intensionality. The data ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 72-88, 2000]]>Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 309-323, 2000]]>

We introduce a framework for assessing the eectiveness of partial evaluators in functional logic languages. Our framework is based on properties of the rewrite system that models a functional logic pro- gram. Consequently, our assessment is independent of any specic lan- guage implementation or computing environment. We dene several cri- teria for measuring the cost of a computation: number of ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 120-127, 2000]]>. We present a method for characterizing the least fixed-pointsof a certain class of Datalog programs in Presburger arithmetic. Themethod consists in applying some rules of decomposition that transformgeneral sets of computation paths into &quot;flat&quot; ones. We apply the methodfor expressing the reachability relation of Petri nets as a linear arithmeticformula in order to prove (or ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 344-365, 2000]]>Higher-order lazy narrowing (HOLN for short) is a computational model for higher-order functional logic programming. It can be viewed as an extension of first-order lazy narrowing with inference rules to solve equations involving lambda-abstractions and higher-order variables. A common feature of the HOLN calculi proposed so far is the high nondeterminism between the inference rules ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 238-252, 2000]]>Traditionally, machine learning algorithms such as decision tree learn- ers have employed attribute-value representations. From the early 80's on people have started to explore Prolog as a representation formalism for machine learn- ing, an area which came to be called inductive logic programming (ILP). With hindsight, however, Prolog may not have been the best choice, since it can ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 225-237, 2000]]>Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 184-194, 2000]]>

Abstract: Eden is a parallel extension of Haskell allowing the programmer to ex plicitly specify which expressions must be evaluated as parallel processes implemented by modifying the Glasgow Haskell Compiler (GHC) has saved a lot of work but has also produced some drawbacks: Some optimiz ing transformations done by GHC are not convenient for Eden, either because they spoil its ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 89-103, 2000]]>. Database query languages, while providing strong query facilities,lack the constructs needed to express complex algorithmic retrievaltasks such as those that occur during software maintenance. Althoughthere are a variety of solutions to this problem, we advocate themerger of an existing query language with a well-known general purposeprogramming language. To support the target domain of semi-structureddata, we combined the ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 486-498, 2000]]>Declarative programming languages provide a higher level of abstraction and more powerful concepts than typical imperative and object oriented languages. On the other hand, the object oriented paradigm is superseding conventional approaches to software development like SA/SD and modular design. This is, among others, due to the better reusability and simpler maintenance of object oriented components. As a consequence, ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 499-509, 2000]]>We propose a simple untyped calculus inspired by the proofsencodings of the Linear Logic by Girard. The basic elements of our calculusare multiset of terms sharing a workspace and their dynamic behaviouris de ned by a reduction semantics in the style of the ChemicalAbstract Machine. We address the issue of treating concurrency viaa model of computation whose basic step can ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 144-153, 2000]]>This paper introduces a novel approach for the specialization offunctional logic languages. We consider a maximally simplified abstract representationof programs (which still contains all the necessary information) anddefine a non-standard semantics for these programs. Both things mixed togetherallow us to design a simple and concise partial evaluation method for modernfunctional logic languages, avoiding several limitations of previous approaches.Moreover, ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 104-119, 2000]]>The notion of a equational shell is studied to involve theobjects and their environment. Appropriate methods are studied as validembeddings of re ned objects. The re nement process determines thelinkages between the variety of possible representations giving rise tovariants of computations. The case study is equipped with the adjustedequational systems that validate the initial applicative framework.

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 135-143, 2000]]>Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 210-224, 2000]]>

People reason hierarchically when they navigate highway net- works. The hierarchical structure is induced by a sequence of tasks starting with route planning, continuing with wayfinding instructions, and leading to the actual driving process. In order to perform adequately, people need to map highway features and navigation actions from one task level to the next. What exactly are these features, ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 480-485, 2000]]>Functional logic languages with a complete operational semanticsare based on narrowing, which combines the instantiation ofvariables with the reduction of expressions. In this paper, we investigatethe relationship between partial evaluation and more general transformationsbased on folding/unfolding. First, we show that the transformationsobtained by partial evaluators can be also achieved by folding/unfolding using a particular kind of eurekas which ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 169-183, 2000]]>Traditional debugging techniques are not well suited for lazyfunctional programming, because of the difficult-to-predict evaluationorder. Therefore, declarative debugging techniques have been proposed,which allow to focus on the intended meaning of programs, abstractingaway operational concerns. Similar techniques are known also for logicprogramming and for combined functional logic languages. The aim ofthis paper is to provide theoretical foundations for ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 8-22, 2000]]>. In general, programming languages and paradigms have eachbeen associated with their own underlying calculus. Thus functional programminghas -calculus, logic programming has inference systems andconcurrent programming has various calculi: Petri nets, -calculus, CCS,theoretical CSP and the like. Odersky recently showed how a development\Functional Nets&quot; of the Join-calculus can express ideas fromFunctional, Concurrent and Object-Oriented languages ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 1-7, 2000]]>This work studies demand analysis -- which is closely related to backwards strictness analysis -- in a semantic framework of partial predicates, which in turn are constructive realizations of ideals in a domain.

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 324-339, 2000]]>Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 296-308, 2000]]>

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 525-540, 2000]]>

The paper presents some aspects of the debugging subsystem of the ongoing project SLAM where the language Curry plays a significant role. The SLAM project is an attempt to amalgamate most of the best facilities of declarative languages to the development of imperative programs. The SLAM system is composed by i) an object oriented specification language. (Functional style) Rules are ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 23-41, 2000]]>Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 440-454, 2000]]>

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 404-417, 2000]]>

In previous work we have presented a simple generic frame- work to solve constraints on any domain (flnite or inflnite) which has a lattice structure. The approach is based on the use of a single constraint similar to the indexicals used by constraint logic programming (CLP) over flnite domains and on a particular deflnition of an interval lattice built from ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 455-469, 2000]]>Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 283-295, 2000]]>

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 510-524, 2000]]>

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 340-343, 2000]]>

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 268-282, 2000]]>

Abstract Constructor Systems (CSs) are an important subclass of Term Rewriting Systems (TRSs) which can be used as an abstract model of some programming,languages. While normalizing strategies are always desirable for achieving a good computational behavior of programs, when dealing with lazy languages infinitary normalizing strategies should be considered instead since (finite approximations of) infinite data structures can be ...

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 253-267, 2000]]>In the present paper we discuss how the use of a reflective logic like rewriting logic can change the current way of looking at module operations and to their implementation in declarative languages. We present our experience applying such ideas to the Maude system.

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 128-134, 2000]]>this article is as follows. First, we introduce Erlang, thelogic and the tool we use. Second, we present the symbolic program executionand debugging techniques and sketch some of the ideas behind the high-level

Conference: Workshop on Functional and Constraint Logic Programming - WFLP, pp. 42-55, 2000]]>Conference: Workshop on Functional and Constraint Logic Programming - WFLP, 2000]]>