| Gert Smolka. Concurrent constraint programming based on functional programming. In Chris Hankin, editor, Programming Languages and Systems, volume 1381 of Lecture Notes in Computer Science, pages 1--11, Lisbon, Portugal, 1998. Springer-Verlag. |
....in the context of Oz, they are a general mechanism independent from the underlying programming language. To stress this point (and to make the paper s program fragments more accessible to a broader audience) this paper chooses Standard ML extended by threads and logic variables as host language [12]. Our experience shows that applications of constraint combinators in finite domain programming are not frequent. They turn out to be of great importance for other constraint domains, like feature or finite set constraints. In particular, they have turned out to be essential in the area of ....
....threads. A thread is a functional evaluator operating on the store. As programming language that defines the set of expressions threads can evaluate, we use Standard ML extended by threads and logic variables. This extension of SML is due to Smolka, for more information we refer the reader to [12]. Threads are used to provide the concurrent execution needed by concurrent constraint combinators. Logic variables are used for synchronization. For example, the evaluation of an application x ( might block since x can be a logic variable. The application blocks until x is bound to a value (in ....
Gert Smolka. Concurrent constraint programming based on functional programming. In Chris Hankin, editor, Programming Languages and Systems, volume 1381 of Lecture Notes in Computer Science, pages 1--11, Lisbon, Portugal, 1998. Springer-Verlag.
....presented in this paper goes beyond all the others, since it allows the combination of the functional and logic aspects of Z in a higher order setting. Functional and Logic Programming Languages. There is a close relationship of our setting to functional logic languages such as Curry [6] or Oz [9]: in these languages it is possible to write functions which return constraints, enabling abstractions as have been used in this paper. However, our setting provides a tighter integration and has a richer predicate language as f.i. Curry, including negation and universal quanti cation which are ....
G. Smolka. Concurrent constraint programming based on functional programming. In C. Hankin, editor, Programming Languages and Systems, Lecture Notes in Computer Science, vol. 1381, pages 1-11, Lisbon, Portugal, 1998. Springer-Verlag.
....presented in this paper goes beyond all the others, since it allows the combination of the functional and logic aspects of Z in a higher order setting. Functional and Logic Programming Languages. There is a close relationship of our setting to functional logic languages such as Curry [6] or Oz [9]: in these languages it is possible to write functions which return constraints, enabling abstractions as have been used in this paper. However, our setting provides a tighter integration and has a richer predicate language as f.i. Curry, including negation and universal quantification which are ....
G. Smolka. Concurrent constraint programming based on functional programming. In C. Hankin, editor, Programming Languages and Systems, Lecture Notes in Computer Science, vol. 1381, pages 1--11, Lisbon, Portugal, 1998. Springer-Verlag.
....have made in the development of FaCiLe with the functional language Objective Caml [12] First, we have deliberately avoided the Yet Another Language approach: we do not want to reinvent the wheel and restart the language designers work and compromises. From this point of view, we di er from Oz [20] or Claire Choco [10] systems. Among CP dedicated languages, a modelling language like OPL [24] plays a di erent role: it may be viewed as an upper layer over some CP system which still needs to be accurately chosen. We found that the most suitable approach would be to design a library for a ....
Gert Smolka. Concurrent constraint programming based on functional programming. In Chris Hankin, editor, Programming Languages and Systems, Lecture Notes in Computer Science, vol. 1381, pages 111, Lisbon, Portugal, 1998. SpringerVerlag.
....this paper goes beyond all the others, since it allows the combination of the functional and logic aspects of Z in a higher order setting. Functional Logic Languages and Logic Functional Languages. There is a close relationship of our setting to functional logic languages such as Curry [8] or Oz [14]: in these languages it is possible to write functions which return constraints, enabling abstractions as have been used in this paper. However, our setting provides a tighter integration and has a richer predicate language as f.i. Curry, including negation and universal quanti cation which are ....
G. Smolka. Concurrent constraint programming based on functional programming. In C. Hankin, editor, Programming Languages and Systems, Lecture Notes in Computer Science, vol. 1381, pages 1-11, Lisbon, Portugal, 1998. Springer-Verlag.
.... has been incorporated into several host languages, e.g. C (ILOG, 1999) and Prolog (Dincbas et al. 1988; Aggoun and Beldiceanu, 1993; Aggoun et al. 1995) There are also special programming languages for CP, e.g. the concurrent CP language Oz (Smolka, 1995; Mozart Consortium, 1999) and others (Smolka, 1998; Caseau and Laburthe, 1996) We will use Oz in this paper. CP has been applied successfully to scheduling and optimization problems in industry (ILOG, 1999; Aggoun and Beldiceanu, 1993) CP is usually applied to NP hard combinatoric problems. The traditional approach to these problems is ....
Smolka, G. 1998. Concurrent constraint programming based on functional programming. In Hankin, C., editor, Programming Languages and Systems, Lecture Notes in Computer Science, vol. 1381, pages 1--11, Lisbon, Portugal. Springer-Verlag.
....means that results are passed as side effects on variables. This decision has no impact on the design of spaces. Any language will do, provided it offers the essential ingredients such as implicit synchronization through logic variables, concurrency, and first class procedures. Smolka describes in [139] a variant of Standard ML that offers these features. Spaces can straightforwardly build on top of this language. My paper [130] exemplifies this by using spaces for composable constraint combinators in the context of this variant of SML. The decision to use Oz is motivated by the following ....
Gert Smolka. Concurrent constraint programming based on functional programming. In Chris Hankin, editor, Programming Languages and Systems, volume 1381 of Lecture Notes in Computer Science, pages 1--11, Lisbon, Portugal, March 1998. Springer-Verlag.
....to create thousands of threads within a process. 1.3 DML The Amadeus project now develops a dialect of Oz, Alice, with its implementation called Stockhausen. DML is an experimental language that has emerged from the development process of Alice. The roots of DML are described in [MSS98, Smo98a, Smo98b] DML stands for Dynamic ML ; the syntax is derived from Standard ML. Like Oz, DML is dynamically typed. Further, DML supports transients and concurrency with first class threads. The transient model of DML is a mixture of Mozart s transient model and the Alice model. In DML, there are three ....
Gert Smolka. Concurrent Constraint Programming based on Functional Programming, April 1998. Available at http://www.ps.uni-sb.de/~smolka/drafts/ etaps98.ps.
....possible to create thousands of threads within a process. 1.3 DML The Amadeus project now develops a dialect of Oz, Alice, with its implementation called Stockhausen. DML is an experimental language that has emerged from the development process of Alice. The roots of DML are described in [MSS98, Smo98a, Smo98b] DML stands for Dynamic ML ; the syntax is derived from Standard ML. Like Oz, DML is dynamically typed. Further, DML supports transients and concurrency with first class threads. The transient model of DML is a mixture of Mozart s transient model and the Alice model. In DML, there are ....
Gert Smolka. Concurrent Constraint Programming Based on Functional Programming. In Chris Hankin, editor, Programming Languages and Systems, Lecture Notes in Computer Science, vol. 1381, pages 1--11, Lisbon, Portugal, 1998. Springer-Verlag.
....to create thousands of threads within a process. 1.3 DML The Amadeus project now develops a dialect of Oz, Alice, with its implementation called Stockhausen. DML is an experimental language that has emerged from the development process of Alice. The roots of DML are described in [MSS98, Smo98a, Smo98b] DML stands for Dynamic ML ; the syntax is derived from Standard ML. Like Oz, DML is dynamically typed. Further, DML supports transients and concurrency with first class threads. The transient model of DML is a mixture of Mozart s transient model and the Alice model. In DML, there are three ....
Gert Smolka. Concurrent Constraint Programming based on Functional Programming, April 1998. Available at http://www.ps.uni-sb.de/~smolka/drafts/ etaps98.ps.
....possible to create thousands of threads within a process. 1.3 DML The Amadeus project now develops a dialect of Oz, Alice, with its implementation called Stockhausen. DML is an experimental language that has emerged from the development process of Alice. The roots of DML are described in [MSS98, Smo98a, Smo98b] DML stands for Dynamic ML ; the syntax is derived from Standard ML. Like Oz, DML is dynamically typed. Further, DML supports transients and concurrency with first class threads. The transient model of DML is a mixture of Mozart s transient model and the Alice model. In DML, there are ....
Gert Smolka. Concurrent Constraint Programming Based on Functional Programming. In Chris Hankin, editor, Programming Languages and Systems, Lecture Notes in Computer Science, vol. 1381, pages 1--11, Lisbon, Portugal, 1998. Springer-Verlag.
....All other stateful units cannot be distributed. We outline an implementation of futures that does not incur an efficiency penalty. Futures require an extension of the protocols for distributed variables. The proposed extensions are useful for Oz as is. They also fit into the new model for Oz [2, 3] that starts from functional programming and that introduces logic variables only in subsequent steps for the purposes of topdown construction of stateless data structures, concurrency, and constraint programming. 1 2 Futures A future is a read only view of a logic variable. Every variable is ....
G. Smolka. Concurrent constraint programming based on functional programming, Slides of an Invited Talk at ETAPS'98, 1998. http://www.ps.uni-sb.de/ smolka/drafts/etaps98.ps. 6
....All other stateful units cannot be distributed. We outline an implementation of futures that does not incur an efficiency penalty. Futures require an extension of the protocols for distributed variables. The proposed extensions are useful for Oz as is. They also fit into the new model for Oz [2, 3] that starts from functional programming and that introduces logic variables only in subsequent steps for the purposes of topdown construction of stateless data structures, concurrency, and constraint programming. 1 2 Futures A future is a read only view of a logic variable. Every variable is ....
G. Smolka. Concurrent constraint programming based on functional programming. In C. Hankin, editor, Programming Languages and Systems, Lecture Notes in Computer Science, vol. 1381, pages 1--11, Lisbon, Portugal, 1998. Springer-Verlag.
....the variable and to obtain its value. At each point where the value of an object of class UnknownC is needed, the compiler inserts a call to obtain the value. If the value is not yet available, then the calling thread is blocked until the value becomes available through unification. 2.5.2 ML. Smolka [1998] has recently shown how logic variables can be added as a conservative extension to a functional language very similar to Standard ML. We outline how the extension is done. Several new operations are added, including the following: lvar: unit a. The operation lvar( creates a fresh logic ....
Smolka, G. 1998. Concurrent constraint programming based on functional programming. In Programming Languages and Systems, C. Hankin, Ed. Lecture Notes in Computer Science, vol. 1381. Springer-Verlag, Lisbon, Portugal, 1--11.
....where the value of an object of class UnknownC is needed, the compiler inserts a call to obtain the value. If the value is not yet available, then the calling thread is suspended until the value becomes available through unification. The Java code to do this is given in [31] 2.5. 2 ML Smolka [28] has recently shown how logic variables can be added as a conservative extension to a functional language very similar to Standard ML. 3 Basic concepts and notation This section introduces the basic concepts and notation used for the centralized algorithms. Most of this notation remains valid ....
Gert Smolka. Concurrent constraint programming based on functional programming. In Chris Hankin, editor, Programming Languages and Systems, Lecture Notes in Computer Science, vol. 1381, pages 1--11, Lisbon, Portugal, 1998. Springer-Verlag.
....and to obtain its value. At each point where the value of an object of class UnknownC is needed, the compiler inserts a call to obtain the value. If the value is not yet available, then the calling thread is suspended until the value becomes available through unification. 2.5. 2 ML Smolka [30] has recently shown how logic variables can be added as a conservative extension to a functional language very similar to Standard ML. We outline how the extension is done. Several new operations are added, including the following: ffl lvar: unit a. The operation lvar( creates a fresh logic ....
Gert Smolka. Concurrent constraint programming based on functional programming. In Chris Hankin, editor, Programming Languages and Systems, Lecture Notes in Computer Science, vol. 1381, pages 1--11, Lisbon, Portugal, 1998. Springer-Verlag.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC