## Implicit Polymorphic Type System for the Blue Calculus (1997)

Citations: | 4 - 2 self |

### BibTeX

@TECHREPORT{Dal-Zilio97implicitpolymorphic,

author = {Silvano Dal-Zilio},

title = {Implicit Polymorphic Type System for the Blue Calculus},

institution = {},

year = {1997}

}

### OpenURL

### Abstract

The Blue Calculus is a direct extension of both the lambda and the pi calculi. In a preliminary work from Gérard Boudol, a simple type system was given that incorporates Curry's type inference for the lambda-calculus. In the present paper we study an implicit polymorphic type system, adapted from the ML typing discipline. Our typing system enjoys subject reduction and principal type properties and we give results on the complexity for the type inference problem. These are interesting results for the blue calculus as a programming notation for higher-order concurrency.

### Citations

936 | A theory of type polymorphism in progra.mming
- Milner
- 1978
(Show Context)
Citation Context ... property of DM calculus. But, contrary to Damas type system, type inference is not a decidable problem. Automatic and practical type inference for ML has been achieved for the earlier implementation =-=[27, 13]-=- and was a major advantage of ML with respect to other applicative programming languages. However, results concerning the type reconstruction complexity are more recent. For almost ten years programme... |

453 | The Chemical Abstract Machine
- Berry, Boudol
- 1989
(Show Context)
Citation Context ... P i or hu = P i, decl(P ) denotes the free references in the subject of a declaration. In particular decl(hu ( Ri) = fug [ decl(R). The operational semantics is presented using the chemical metaphor =-=[2]-=-. In particular, structural equivalence over processes, denoted\Omega , is dened as the combination of two relations, cooling + and heating * (see Table 1). Axioms for the heating relations can be ded... |

272 |
The Polyadic -Calculus: A Tutorial
- Milner
- 1993
(Show Context)
Citation Context ...ur translation, only an iaccessj to N is transmitted and not the term itself. The next step is to identifysxu with application and (x)N with small -abstraction (a comparison already done by Milner in =-=[28]-=-). We have by denition that JxK u = defsxu. Abstracting the extra argument u, it follows that (u)(JxK u ) = (u)(xu), which is jequivalent tosx. Likewise, if we denote f[M ]g = def (u)(JMK u ), we have... |

267 | A calculus of mobile agents
- Fournet, Gonthier, et al.
(Show Context)
Citation Context ...ell-typed programs. It is also interesting to understand why those algorithms are more complicated than for the iML with polymorphic recursionj case. Contrary to the ML let-construct (and the join of =-=[15]-=-), the scope of declarations are not syntactically xed in the blue calculus. Therefore, if we think ofs? in terms of programming languages and of declarations in terms of function denitions, we are in... |

241 | Typing and subtyping for mobile processes
- Pierce, Sangiorgi
- 1996
(Show Context)
Citation Context ...the receiver. A situation comparable to runtime failure. To prevent this situation, Milner dened a channel-use discipline, called sorts, which is the foundation of many type systems for the -calculus =-=[32, 37]-=- and for programming languages developed on its model (Pict [35], the join-calculus [16], etc). Since communication ins? is a combination of resource fetching and fi-reduction steps there is no notion... |

233 |
Principal type schemes for functional programs
- Damas, Milner
- 1982
(Show Context)
Citation Context ... property of DM calculus. But, contrary to Damas type system, type inference is not a decidable problem. Automatic and practical type inference for ML has been achieved for the earlier implementation =-=[27, 13]-=- and was a major advantage of ML with respect to other applicative programming languages. However, results concerning the type reconstruction complexity are more recent. For almost ten years programme... |

186 | The call-by-need lambda calculus
- Ariola, Felleisen
- 1997
(Show Context)
Citation Context ...ranslation of redex ((x:M) N) reduces to a process equivalent to JMK u in parallel with an agent perpetually ooeering N at x. This situation is comparable to the callby -need calculus of Ariola et al =-=[1]-=-, a -calculus extended with the iletj operator together with the reduction rule (x:M) N ! let x = N in M (1) A comparison with fi-reduction (x:M) N ! M [N=x] would have been less satisfactory since, i... |

142 | Operations on records
- Cardelli, Mitchell
- 1989
(Show Context)
Citation Context ...gj becomes correlated. This operator, subsequently denoted by pair-declarations, veries ae ha ( P; b ( Qi j a ! P ha ( P; b ( Qi j b ! Q (3) This construction provides us with an encoding for records =-=[9, 33]-=-, but it is a special kind of records since eld extraction is not an application but a parallel composition. Thus it is asynchronous and non-deterministic. In fact, pair-declarations are better unders... |

140 |
A Polymorphic Type System For Prolog
- Mycroft, O'Keefe
- 1984
(Show Context)
Citation Context ...rogramming INRIA Implicit Polymorphic Type System for the Blue Calculus 23 language Prolog where predicates are incrementally and mutually dened. Type systems for Prolog have been extensively studied =-=[31]-=- and it should be possible to adapt them to our need. An other interesting contribution of this work are the consequences we can draw on the -calculus. Simple translation exists between the blue calcu... |

139 | Typeful Programming
- Cardelli
- 1991
(Show Context)
Citation Context ...pression dened in a let-construct is evaluated at most once and its result is shared. This good behaviour with respects to iimperative featuresj was already observed in the programming language Quest =-=[10]-=- where polymorphically typed expression are evaluated each time their types are specialized. Another, more relevant, reference is MLN, the variant of ML with polymorphism by name described in [25]. 3.... |

135 | Type inference with polymorphic recursion
- Henglein
- 1993
(Show Context)
Citation Context ... M hu ( P i : ! (decl +) \Gamma ` M P :s\Gamma(u) = Gen \Gamma () OEs0 \Gamma ju ` M rec u:P :s0 (rec +) which has been iimplementedj in a version of ML, was shown to be undecidable in 1990. Henglein =-=[18]-=- and independently Kfoury, Tiuryn and Urzyczyn [22] shown that the typability problem in MM is log-space equivalent to semi-unication, where semi-unication is the problem of solving subsumption inequa... |

110 |
Type inference for polymorphic references
- Tofte
- 1990
(Show Context)
Citation Context ...rable to the na#ve extension of the ML polymorphic type system to references.,and in fact, to all imperative constructs. Many type systems, have been proposed for typing polymorphic references: Tofte =-=[34]-=-, Mac Queen, Wright and Leroy ([24] gives a good overview). It would be interesting to study how those systems can be adapted tos? . An intuition is given in Appendix A. 5 Principal types Beside subje... |

97 |
A Simple Applicative Language: Mini-ML
- Clément, Despeyroux, et al.
- 1986
(Show Context)
Citation Context ... exist some simple typess0 and ~ !, and variables ~ ff such that oe = 8~ff: 0 ands=s0 [ ~ !=~ff]. We present a syntax-directed type inference system (see table 2 on the next page) in the same vein as =-=[12]-=-. Note that, contrary to [14], we give simple types to processes and not type schemes. An enjoyable propriety of such system is that the structure of a valid typing sequent \Gamma ` P :sis P . For con... |

95 | The Polymorphic Pi-calculus: Theory and Implementation
- Turner
- 1996
(Show Context)
Citation Context ...this situation, Milner dened a channel-use discipline, called sorts, which is the foundation of many type systems for the -calculus [32, 37] and for programming languages developed on its model (Pict =-=[35]-=-, the join-calculus [16], etc). Since communication ins? is a combination of resource fetching and fi-reduction steps there is no notion of a polyadic calculus. There is also no corresponding operatio... |

94 |
Type Assignment in Programming Languages
- Damas
- 1984
(Show Context)
Citation Context ...d ~ !, and variables ~ ff such that oe = 8~ff: 0 ands=s0 [ ~ !=~ff]. We present a syntax-directed type inference system (see table 2 on the next page) in the same vein as [12]. Note that, contrary to =-=[14]-=-, we give simple types to processes and not type schemes. An enjoyable propriety of such system is that the structure of a valid typing sequent \Gamma ` P :sis P . For convenience, we neglect to give ... |

93 | What are principal typings and what are they good for
- Jim
- 1996
(Show Context)
Citation Context ...ess from the context and provides more. With this denition, it happens that a imost general typingj can't be given in every case. More specically, we have that ` M lacks the principal typing property =-=[20]-=-. Example 5.1 a : 8ff:ff ` (a a) : fi and a : 8ff:(ff ! ff) ` (a a) : fi ! fi But we can prove that for every typable process P , there is a particular typing which represent all the possible typing o... |

64 | The π-calculus in direct style
- Boudol
- 1998
(Show Context)
Citation Context ...ed. The Hindley-Milner type system, used in the denition of many higher-order functional languages like Haskell or ML, partially overcomes this limitation by introducing parameterization on types. In =-=[8]-=-, a simple type system was given that incorporates Curry's type inference for the -calculus (see table 1 on page 9). Therefore, it is natural to encounter the same limitation. Our goal is to apply to ... |

55 |
Type reconstruction in the presence of polymorphic recursion
- Kfoury, Tiuryn, et al.
- 1993
(Show Context)
Citation Context ... Gen \Gamma () OEs0 \Gamma ju ` M rec u:P :s0 (rec +) which has been iimplementedj in a version of ML, was shown to be undecidable in 1990. Henglein [18] and independently Kfoury, Tiuryn and Urzyczyn =-=[22]-=- shown that the typability problem in MM is log-space equivalent to semi-unication, where semi-unication is the problem of solving subsumption inequations between rst order terms. Semi-unication has b... |

47 | Implicit Typing à la ML for the Join-Calculus
- Fournet, Laneve, et al.
- 1997
(Show Context)
Citation Context ...ened a channel-use discipline, called sorts, which is the foundation of many type systems for the -calculus [32, 37] and for programming languages developed on its model (Pict [35], the join-calculus =-=[16]-=-, etc). Since communication ins? is a combination of resource fetching and fi-reduction steps there is no notion of a polyadic calculus. There is also no corresponding operational notion of runtime fa... |

46 |
Asynchrony and the -calculus
- Boudol
- 1992
(Show Context)
Citation Context ...c polymorphism, implicit type assignment and decidable type inference. To get an idea of the blue calculus, let us see how the weak call-by-name -calculus can be encoded in the asynchronous -calculus =-=[4, 7]-=-. We suppose the set of -calculus variables is a subset of the -calculus set of channel names. Lambda terms are given by the usual grammar M ::= x fi fi x:M fi fi (M M) and the lazy reduction relation... |

46 |
Two extensions of Curry's type inference system
- Cardone, Coppo
- 1990
(Show Context)
Citation Context ... ff) ` (a a) : fi ! fi But we can prove that for every typable process P , there is a particular typing which represent all the possible typing of P . A property comparable for ML to Theorem 1:5:3 in =-=[11]-=-. Theorem 5.2 For every typable process P there exists a most general typing \Gamma p ` P :sp such that: if \Delta ` P : !, there is a substitution S such that Gen \Gamma p ( p )OE S(Gen \Delta (!)) a... |

38 |
On the expressiveness of internal mobility in name-passing calculi
- Boreale
- 1998
(Show Context)
Citation Context ...lus viewpoint, this restriction is equivalent to the limitation that a name received during an input cannot be used as an input channel. This restriction is present in Michele Boreale'ssi a -calculus =-=[3]-=-, and it has been shown that the asynchronous -calculus of Boudol [4, 19] can be faithfully encoded in its fragmentsi a . To conclude, let us see, in some examples, how the blue calculus takes the bes... |

35 | Polymorphic type assignment and CPS conversion
- Harper, Lillibridge
- 1993
(Show Context)
Citation Context ...emark with the distinction made by Leroy in [24, 25] between a construct, ilet valj, for value sharing and a construct, ilet namej, for type generalization. The same distinction is also introduced in =-=[17]-=-, where it is stated that, in this variant of ML, it becomes possible to dene a correct ivariant call-by-value CPS transformj for a polymorphic type assignment system. In Section 2 we brieAEy presents... |

31 | Polymorphism by name for references and continuations
- Leroy
- 1993
(Show Context)
Citation Context ...f x appears more than once in M . Polymorphism Type generalization is restricted to variable bounded in a let-construct. It is interesting to compare this remark with the distinction made by Leroy in =-=[24, 25]-=- between a construct, ilet valj, for value sharing and a construct, ilet namej, for type generalization. The same distinction is also introduced in [17], where it is stated that, in this variant of ML... |

29 |
Polymorphic typing of an algorithmic language
- Leroy
- 1992
(Show Context)
Citation Context ...f x appears more than once in M . Polymorphism Type generalization is restricted to variable bounded in a let-construct. It is interesting to compare this remark with the distinction made by Leroy in =-=[24, 25]-=- between a construct, ilet valj, for value sharing and a construct, ilet namej, for type generalization. The same distinction is also introduced in [17], where it is stated that, in this variant of ML... |

18 |
Two bisimilarities for the -calculus
- Honda
- 1992
(Show Context)
Citation Context ...a name received during an input cannot be used as an input channel. This restriction is present in Michele Boreale'ssi a -calculus [3], and it has been shown that the asynchronous -calculus of Boudol =-=[4, 19]-=- can be faithfully encoded in its fragmentsi a . To conclude, let us see, in some examples, how the blue calculus takes the best from both the functional and the process calculi world. It is possible ... |

17 | The lambda calculus with multiplicities
- Boudol
- 1993
(Show Context)
Citation Context ...s between resources, thesand the -calculus it is interesting to study how declarations are reminiscent of the -calculus with resources and its deterministic version, the -calculus with multiplicities =-=[5, 6, 7, 23]-=-, dened by G#rard Boudol in connection with the encoding of the -calculus in . It should be noted that, contrary to the original presentation made in [8], references are not rst class in our calculus ... |

13 |
The discriminating power of multiplicities in the -calculus
- Boudol, Laneve
- 1996
(Show Context)
Citation Context ...s between resources, thesand the -calculus it is interesting to study how declarations are reminiscent of the -calculus with resources and its deterministic version, the -calculus with multiplicities =-=[5, 6, 7, 23]-=-, dened by G#rard Boudol in connection with the encoding of the -calculus in . It should be noted that, contrary to the original presentation made in [8], references are not rst class in our calculus ... |

13 |
Decidability of ML Typing is Complete for Deterministic Exponential Time
- Mairson
- 1990
(Show Context)
Citation Context ...rogramming languages. However, results concerning the type reconstruction complexity are more recent. For almost ten years programmers thought this problem had polynomial time complexity until Maison =-=[26]-=- proved in 1990 that the polymorphic type inference problem is complete for exponential time. Likewise, the MM type system from 1984, RR n\Sigma3244 12 Silvano Dal-Zilio Type System 6 Damas and Mycrof... |

8 |
Polymorphic type schemes and recursive de nitions
- Mycroft
- 1984
(Show Context)
Citation Context ...e 4. A characteristic of the Damas-Milner Calculus is that occurrences of a function inside the body of its (recursive) denition can only be used monomorphically. To overtake this limitation, Mycroft =-=[29]-=- suggested a typing rule for polymorphic recursive denitions INRIA Implicit Polymorphic Type System for the Blue Calculus 11 (see Table 5 and rule (letrec +), table 8 on page 20). We dioeerentiate tho... |

3 |
Lambda-calculus, multiplicities and the -calculus
- Boudol, Laneve
- 1995
(Show Context)
Citation Context ...c polymorphism, implicit type assignment and decidable type inference. To get an idea of the blue calculus, let us see how the weak call-by-name -calculus can be encoded in the asynchronous -calculus =-=[4, 7]-=-. We suppose the set of -calculus variables is a subset of the -calculus set of channel names. Lambda terms are given by the usual grammar M ::= x fi fi x:M fi fi (M M) and the lazy reduction relation... |

2 | Incremental polymorphic type checking with update
- Mycroft
- 1992
(Show Context)
Citation Context ...a reference can appear in subject part of many declarations, a situation comparable to multiply dened functions. This problem is called incremental polymorphic type checking with update by Mycroft in =-=[30]-=- and It is exactly the case of the programming INRIA Implicit Polymorphic Type System for the Blue Calculus 23 language Prolog where predicates are incrementally and mutually dened. Type systems for P... |

1 |
The undecidability of the semi-unication problem
- Kfoury, Tiuryn, et al.
- 1990
(Show Context)
Citation Context ....e., no declarations hu = Qi with u 2 fn(Q)) and that I is semi-uniable if and only if rec x:P is MM typable. Proof for Theorem 7.1 follows since semi-unication has been shown recursively undecidable =-=[21, 36]-=-. We show in fact that typability in the Damas-like type inference system ` D is also undecidable Theorem 7.2 The type inference problem for ` D [ ? ] is undecidable. Proof To prove Theorem 7.2, it is... |

1 |
S#mantique du lambda calcul avec ressources
- Lavatelli
- 1996
(Show Context)
Citation Context ...s between resources, thesand the -calculus it is interesting to study how declarations are reminiscent of the -calculus with resources and its deterministic version, the -calculus with multiplicities =-=[5, 6, 7, 23]-=-, dened by G#rard Boudol in connection with the encoding of the -calculus in . It should be noted that, contrary to the original presentation made in [8], references are not rst class in our calculus ... |

1 |
Type inference for records in a natural extension of ML
- Rmy
- 1991
(Show Context)
Citation Context ...gj becomes correlated. This operator, subsequently denoted by pair-declarations, veries ae ha ( P; b ( Qi j a ! P ha ( P; b ( Qi j b ! Q (3) This construction provides us with an encoding for records =-=[9, 33]-=-, but it is a special kind of records since eld extraction is not an application but a parallel composition. Thus it is asynchronous and non-deterministic. In fact, pair-declarations are better unders... |

1 |
Polymorphic type checking and related problems
- Urzyczyn
- 1996
(Show Context)
Citation Context ....e., no declarations hu = Qi with u 2 fn(Q)) and that I is semi-uniable if and only if rec x:P is MM typable. Proof for Theorem 7.1 follows since semi-unication has been shown recursively undecidable =-=[21, 36]-=-. We show in fact that typability in the Damas-like type inference system ` D is also undecidable Theorem 7.2 The type inference problem for ` D [ ? ] is undecidable. Proof To prove Theorem 7.2, it is... |

1 | Principal typing-schemes in a polyadic picalculus
- Vasconcelos, Honda
- 1993
(Show Context)
Citation Context ...the receiver. A situation comparable to runtime failure. To prevent this situation, Milner dened a channel-use discipline, called sorts, which is the foundation of many type systems for the -calculus =-=[32, 37]-=- and for programming languages developed on its model (Pict [35], the join-calculus [16], etc). Since communication ins? is a combination of resource fetching and fi-reduction steps there is no notion... |