| B. Z. Li. A #-Calculus Specification of Prolog. In D. Sannella, ed, Proceedings of ESOP |
.... San94a, Tho95, San94b, San95a, ALT95, Ode95b, Nie96] data types and other sequential programming constructs [Mil89, Mil93, Wal91b, Ode95a] from object oriented languages into process calculi [Vaa90, Wal91a, Wal95, Wal93, Jon93, Wal94, PT95] from logic programming languages into the # calculus [Ros93, Li94], and from concurrent constraint languages into the # calculus [Smo94, VP96] The formalization of compilers for concurrent languages has also motivated the study of encodings, e.g. for Occam [Gam91] Facile [Ama94] Urlang [Gla94] and Pict [PT99] Further interesting examples report on ....
B. Z. Li. A #-Calculus Specification of Prolog. In D. Sannella, ed, Proceedings of ESOP
....to the definition of the semantics in a formal, abstract way [3, 9, 13, 10, 12] Nevertheless, such semantic definitions embody the essence of sequential execution, thus being unpractical both to reason on parallel execution and to be the basis for a parallel computational model. The models in [23, 16] are given by using CCS and calculus [21] respectively, but, although the use of calculi for modelling concurrent systems, these two 1 A discussion about the problems related to the handling of binding environments in OR parallel implementations is out of the scope of this paper. 2 ....
....can be defined as CHOCS processes. However, the definition of Prolog terms in CHOCS is outside the scope of the paper, which is devoted to model and to prove properties of OR parallel executions of Prolog programs. An example of representation of Prolog terms by means of processes can be found in [16], in which calculus is used 2 . As a consequence of this assumption, we consider the operations on terms as predefined; in particular, unification and substitution application are given as primitive operations. Finally, we use a slightly different version of the Con rule: Con E r ff E 0 ....
[Article contains additional citation context not shown here]
B.Z. Li. A -calculus Specification of Prolog. In D. Sannella, editor, Proc. ESOP 94, volume 788 of Lecture Notes in Computer Science, 379--393. Springer-Verlag, Berlin, 1994.
....to the definition of the semantics in a formal, abstract way [3, 9, 13, 10, 12] Nevertheless, such semantic definitions embody the essence of sequential execution, thus being unpractical both to reason on parallel execution and to be the basis for a parallel computational model. The models in [23, 16] are given by using CCS and calculus [21] respectively, but, although the use of calculi for modelling concurrent systems, these two semantics still specify a sequential Prolog control. The aim of this paper is to provide computational models of OR parallel execution of pure Prolog (without ....
....unifier # to it. Actually, as noticed above, it is defined simply by a sum of processes, each one unifying a particular pair of terms. In this paper we are not interested in defining the unification process; for a more realistic definition of unification in process algebra, the reader can refer to [16], where the process is defined by using calculus. We simulate the application of a substitution to a process Q, by substituting the terms received through the var port name to the variables occurring in Q, var order(vars(Q) Q) The terms are sent, on the var port name, by the process (var ....
B.Z. Li. A -calculus Specification of Prolog. In D. Sannella, editor, Proc. ESOP 94, volume 788 of Lecture Notes in Computer Science, 379--393. Springer-Verlag, Berlin, 1994.
....over the name u. The expressive power of mobile processes has been established by using the calculus for semantics of programming languages such as PICT [9] and of objectoriented programming [16] for encoding higher order communications [10] and the calculus [3] Sequential logic programming [2] and simple concurrent constraint programming [15] have also been modelled: in both these cases, the major obstacle has been expressing logical variables, which can be updated from several processes and not only at their binding occurrence. The variables are modelled by separate processes which ....
....= y) and ae(x = y; C) In [7] it is shown that the calculus is a subcalculus of the fusion calculus. Compared to the encodings in this paper, the encoding of [15] was quite complex due to the difficulties of representing logical variables. Logical variables as part of Prolog were specified in [2], but no proofs of correctness were presented. The theory of barbed bisimulation originated in [5] where CCS was treated, and was further developed in [10] for the calculus and the higher order calculus. 2 The Fusion Calculus In this section we first review the syntax and operational ....
B. Li. A -calculus specification of Prolog. In D. Sannella, editor, Proceedings of ESOP '94, volume 788 of LNCS, pages 379--393. Springer, 1994.
....without constraints (ae( is a subcalculus both of ae(x = y) and of the calculus. We strengthen their result by formally showing the correspondence between the fl calculus and calculus directly. Ross [Ros93] gives calculus specifications of simplified logic variables and unification, and Li [Li94] gives a calculus specification of Prolog, in3 cluding logic variables and unification, with support for backtracking. Neither of these provide proofs of formal correctness. The programming languages PICT [PRT93] and Facile [TLP 93] have semantics formulated in calculus and CHOCS [Tho90] ....
B. Li. A -calculus specification of Prolog. In D. Sannella, editor, Proceedings of European Symposium on Programming, volume 788 of Lecture Notes in Computer Science, pages 379--393, Edinburgh, 1994. Springer-Verlag.
.... Lav93, San94a, Tho95, San95a, ALT95, Ode95b, Nie96] data types and other sequential programming constructs [Mil89, Mil93, Wal91b, Ode95a] from object oriented languages into process calculi [Vaa90, Wal91a, Wal95, Wal93, Jon93, Wal94, PT95] from logic programming languages into the calculus [Ros92, Li94], and from concurrent constraint languages into the calculus [Smo94, VP96] The formalization of compilers for concurrent languages has also motivated the study of encodings, e.g. for Occam [Gam91] Facile [Ama94] Urlang [Gla94] and Pict [PT97] Further interesting examples report on ....
B. Z. Li. A ß-Calculus Specification of Prolog. In D. Sannella, editor, Proceedings of ESOP '94, volume 788 of LNCS, pages 379--393. Springer, 1994.
....paper, we will be concerned with tool support for the calculus. Computer support when dealing with calculus should help in defining data structures [MPW92] telecommunication protocols [OP92] languages ( calculus, objectoriented [Wal94] a notation for design [Jon93] or even full Prolog [Li94] using the calculus. We expect the tools to perform syntactic checks, to allow for recursive agent definitions, to support some form of simulation, to enable one to manipulate calculus expressions conform the structural congruence or inference rules, and to help when wishing to show the ....
B.Z. Li. A ß-calculus specification of Prolog. In D. Sanella, editor, Programming Languages and Systems -- ESOP'94, volume 788 of LNCS, pages 379--393. Springer-Verlag, 1994.
....providing novel encodings of itself, it might provide valuable and flexible encodings of other programming languages. For example, the calculus provides a revealing encoding of evaluation in the calculus [17] evaluation in object oriented programming [28] and interpretation of Prolog programs [12]. Even the semantic theory of the calculus can be fruitfully exploited to probe the semantics of encoded object languages [27] While it has been useful as a meta language, it does not seem that the calculus would yield an interesting encoding of itself. Similarly, Prolog has been successful ....
Benjamin Li. A ß-calculus specification of Prolog. In Proc. ESOP 1994, 1994.
....constraints (ae( is a subcalculus both of ae(x = y) and of the calculus. We strengthen their result by formally showing the correspondence between the fl calculus and calculus directly. Ross [Ros93] gives calculus specifications of simplified logic variables and unification, and Li [Li94] gives a calculus specification of Prolog, including logic variables and unification, with support for backtracking. Neither of these provide proofs of formal correctness. The programming languages PICT [PRT93] and Facile [TLP 93] have semantics formulated in calculus and CHOCS [Tho90] ....
B. Li. A ß-calculus specification of Prolog. In D. Sannella, editor, Proceedings of European Symposium on Programming, volume 788 of Lecture Notes in Computer Science, pages 379--393, Edinburgh, 1994. Springer-Verlag.
....exchange names as data via names as channels, where a name is only an entity. Its semantics has been investigated intensively mainly from the algebraic point of view. Moreover, its connections to similar models have also been elaborated: e.g. calculus [3] object oriented languages [11] Prolog [2], and linear logic. This paper presents a new operational semantics for moded FGHC based on calculus. Given an FGHC program, we can consider the translated calculus statements to represent the operational meaning of the source program. Such a calculus semantics has the following advantages: ....
B. Li. A ß-calculus Specification of Prolog. In Proc. of ESOP 1994 (1994).
.... The expressive power of mobile processes has been established by using the calculus for semantics of programming languages such as PICT [PT97] and of object oriented programming [Wal95] for encoding higher order communications [San93] and the calculus [Mil92] Sequential logic programming [Li94] and simple concurrent constraint programming [VP96] have also been modelled: in both these cases, the major obstacle has been expressing logical variables, which can be updated from several processes and not only at their binding occurrence. The variables are modelled by separate processes which ....
....and ae(x = y; C) In [PV98] it is shown that the calculus is a subcalculus of the fusion calculus. Compared to the encodings in this paper, the encoding of [VP96] was quite complex due to the difficulties of representing logical variables. Logical variables as part of Prolog were specified in [Li94], but no proofs of correctness were presented. The theory of barbed bisimulation originated in [MS92] where CCS was treated, and was further developed in [San93] for the calculus and the higher order calculus. 2 The Fusion Calculus In this section we first review the syntax and operational ....
B. Li. A ß-calculus specification of Prolog. In D. Sannella, ed, Proceedings of ESOP '94, volume 788 of LNCS, pages 379--393. Springer, 1994.
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