| David N. Turner. The Polymorphic Pi-calulus: Theory and Implementation. PhD thesis, University of Edinburgh, 1996. |
.... concurrency [MPW92, Mil91] This extension is syntactically quite straightforward especially since a variety of type systems based on existing typed lambda calculi have already been given for the pi calculus and standard metatheoretic properties such as subject reduction are easily proved [Tur96]. However, the eoeect of polymorphism on behavioral properties of programs poses more challenging problems, and here standard tools from the lambda calculus are less useful; in particular, ithe value of an expressionj loses its simple sense in a world of communicating agents. To our knowledge, the ....
....function that, when its rst argument happens to be g, is able to test concretely for equality of its second and third arguments, even though it is given these arguments with completely abstract type. 10 Related Work The basic metatheory of the polymorphic pi calculus has been studied by Turner [Tur96], who also shows a strong correspondence between the polymorphic pi and lambda calculi by demonstrating that Milner s translations of lambda terms into untyped pi calculus both preserve and reAEect polymorphic typing. Process calculi with weaker ML style polymorphism have been developed by Gay ....
David N. Turner. The Polymorphic Pi-calulus: Theory and Implementation. PhD thesis, University of Edinburgh, 1996.
....Rey74] to the pi calculus. This extension is conceptually quite straightforward especially since a variety of type systems based on existing typed lambda calculi have already been given for the pi calculus and standard metatheoretic properties such as subject reduction are easily proved [Tur95]. However, the effect of polymorphism on behavioral properties of programs poses more challenging problems, and here standard tools from the lambda calculus are less useful; in particular, the value of an expression This is an expanded and revised version of a paper originally appearing in ....
....of process terms, so that we can see more clearly how the type information in a process evolves. In a practical implementation, we might prefer to erase types during compilation and execute just the underlying bare processes ; this is the strategy adopted, for example, in the Pict compiler [PT97, Tur95]. Abstract Data Types As in the lambda calculus, polymorphism can be used in the pi calculus to ensure that different parts of a program cannot directly manipulate the internal representations of each other s data structures. The following example illustrates the use of polymorphic typing to ....
[Article contains additional citation context not shown here]
David N. Turner. The Polymorphic Pi-calulus: Theory and Implementation. PhD thesis, University of Edinburgh, 1995.
....have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA. Citations The best bibliographic single citation for Pict is [PT96a] Others that may be of interest are [PT95, PT96b, Tur96] and [Pie96] this document) Contents I Basics 6 1 Processes and Channels 7 1.1 Simple Processes : 8 1.2 Channels and Communication : 9 1.3 Replication : ....
....2 starting Worker 2 working Worker 2 working Worker 2 finished Worker 1 starting Worker 1 working Worker 1 working Worker 1 finished [Solution on page 94. Chapter 5 Core Type System The type system of Pict has its roots in the theoretical literature on type systems for the calculus [Mil91, Tur96, PS93, Gay93] and for functional languages, among which the most immediate predecessors to Pict are ML [GMW79, MTH90, WAL 89] quest [Car91] and amber [Car86] The type inference technique introduced in Chapter 9 is similar to the ones used in lego [Pol90] prolog [NM88] and Cardelli s ....
[Article contains additional citation context not shown here]
David N. Turner. The Polymorphic Pi-calulus: Theory and Implementation. PhD thesis, University of Edinburgh, 1996.
.... concurrency [MPW92, Mil91] This extension is syntactically quite straightforward especially since a variety of type systems based on existing typed lambda calculi have already been given for the pi calculus and standard metatheoretic properties such as subject reduction are easily proved [Tur96]. However, the effect of polymorphism on behavioral properties of programs poses more challenging problems, and here standard tools from the lambda calculus are less useful; in particular, the value of an expression loses its simple sense in a world of communicating agents. To our knowledge, the ....
....function that, when its first argument happens to be g, is able to test concretely for equality of its second and third arguments, even though it is given these arguments with completely abstract type. 10 Related Work The basic metatheory of the polymorphic pi calculus has been studied by Turner [Tur96], who also shows a strong correspondence between the polymorphic pi and lambda calculi by demonstrating that Milner s translations of lambda terms into untyped pi calculus both preserve and reflect polymorphic typing. Process calculi with weaker ML style polymorphism have been developed by Gay ....
David N. Turner. The Polymorphic Pi-calulus: Theory and Implementation. PhD thesis, University of Edinburgh, 1996.
....the fundamental computational mechanism used in the calculus. Such operations are at least as pervasive as function calls in a functional language. Another goal of the Pict project was to explore the practical applicability of our earlier theoretical work on type systems for the calculus [PS93, Tur96] and on calculus type systems with subtyping [PT94, HP95, PS96] In particular, in [PT94] we proposed a powerful combination of subtyping and polymorphism as a basis for statically typed object oriented programming in functional languages; equipping Pict with a similar type system provides a ....
.... calculus be implemented efficiently (4) Can we design a practical type system for the calculus combining subtyping and higher order polymorphism In this paper, we offer our responses to these questions (concentrating on (1) and (4) since (2) has been addressed in detail in [PT95] and (3) in [Tur96] and survey the current state of the Pict language. Section 2 defines the syntax and operational semantics of the core language and discusses some points where it differs from the theoretical calculus of Milner, Parrow, and Walker. Section 3 presents a type system for the core language, ....
[Article contains additional citation context not shown here]
David N. Turner. The Polymorphic Pi-calulus: Theory and Implementation. PhD thesis, University of Edinburgh, 1996.
....the channel plustwo would be given the type l[Num; l[Num] since it is used to communicate pairs where the first element is a number and the second is a channel that is used to send a single number. This type system can be extended in many ways, for instance by adding polymorphism [Gay93, VH93, Tur95, LW95b] Of more interest here, however, is the possibility of refining it so that the types of channels carry more information about how they are used. For example, we can straightforwardly capture the polarity (or directionality) of communications on channels like plustwo by introducing two new ....
....optimized versions of our plustwo example are provably equivalent in the sense that they behave the same in all well typed contexts, as we show in Section 6. Actually, the refined typings of plusone and plustwo are instances of a general observation: using techniques similar to those in [PS93, Tur95] it is easy to show that every result channel used in the pi calculus encoding of a lambda term can be assigned a linear type. Not only are some useful equivalences gained in the presence of linear types; even the mechanics of reasoning about processes can be streamlined, since (in the absence ....
David N. Turner. The Polymorphic Pi-calulus: Theory and Implementation. PhD thesis, University of Edinburgh, 1995.
....fundamental computational mechanism used in the calculus and, for example, are at least as pervasive as function calls in a functional language. Another goal of the Pict project was to explore the practical applicability of our earlier theoretical work on type systems for the calculus [PS93, Tur96] and on calculus type systems with subtyping [PT94, HP95, PS97] In particular, in [PT94] we proposed a powerful combination of subtyping and polymorphism as a basis for statically typed object oriented programming in functional languages; equipping Pict with a similar type system provides a ....
.... be implemented efficiently (4) Can we design a practical type system for the calculus combining subtyping and higher order polymorphism In this paper, we offer our responses to these questions (concentrating on (1) and (4) since (2) has been addressed in detail in [PT95] and (3) in [Tur96] and survey the current state of the Pict language. Section 2 defines the syntax and operational semantics of the core language and discusses some points where it differs from the theoretical calculus of Milner, Parrow, and Walker. Section 3 presents a type system for the core language, ....
[Article contains additional citation context not shown here]
David N. Turner. The Polymorphic Pi-calulus: Theory and Implementation. PhD thesis, University of Edinburgh, 1996.
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