14 citations found. Retrieving documents...
Robin Milner: A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348--375, 1978.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Operations on Records - Cardelli, Mitchell (1991)   (67 citations)  (Correct)

....to a system with extensible records and limited second order typing. His system was later refined and shown to have principal types in [Jategaonkar Mitchell 88] R6my 89] and again in [Wand 89] The resulting system provides a flexible integration of record types and Milner style type inference [Milner 78] Meanwhile [Cardelli Wegner 85] defined a full second order extension of the system with fixed size records, based on techniques from [Mitchell 84] In that system, a program can work polymorphically over all the subtypes B of a given record type A, and it can preserve the unknown fields (the ....

R.Milner: A theory of type polymorphism in programming, Journal of Computer and System Science 17, pp. 348-375, 1978.


A Polymorphic lambda-calculus with Type:Type - Cardelli (1986)   (4 citations)  (Correct)

....holds. But, in the example, a reduces to 3, whose denotation (an integer) is generally different from a s (a boolean) Hence (ii) does not hold for such an incorrect type system. This inadequacy of (i) does not arise in Milner s definition of soundness for a semantics not based on retractions [Milner 78] hence (ii) is incorporated to make the semantic soundness theorem closer to its original significance. 10. Expressing other type systems Our calculus can be regarded as an w order typed l calculus; hence it is very easy to encode the secondorder typed l calculus, which in turn can be used ....

R.Milner: A theory of type polymorphism in programming, Journal of Computer and System Science 17, pp. 348-375, 1978.


A Semantics of Multiple Inheritance - Cardelli (1988)   (360 citations)  (Correct)

....and intuitions by means of examples. The second part is formal: it introduces a language, a semantics, a typeinference system and a typechecking algorithm. The algorithm is proved sound with respect to the inference system, and the inference system is proved sound with respect to the semantics [Milner 78] 3 2. Objects as records There are several ways of thinking of what objects are. In the pure Smalltalk like view, objects recall physical entities, like boxes or cars. Physical entities are unfortunately not very useful as semantic models of objects, because they are far too complicated to ....

....kinds of polymorphism does not seem to introduce new semantic problems. The interactions of inheritance and parametric polymorphism in typechecking are addressed in [Cardelli 85] There are now several competing (although not totally independent) styles of parametric polymorphism, noticeably in [Milner 78] Reynolds 74, McCracken 84] and [MacQueen 86] Inheritance is orthogonal to all of these, so it seems better to study it independently, at least initially. However, the final goal is to achieve full integration of parametric polymorphism and multiple inheritance, merging functional programming ....

R.Milner: A theory of type polymorphism in programming, Journal of Computer and System Science 17, pp. 348-375, 1978.


A Functional Abstraction of Typed Contexts - Danvy, Filinski (1989)   (13 citations)  (Correct)

....in Scheme. 5 A Type System In this section we present a polymorphic type inference system that can handle expressions containing shift and reset. We focus mainly on the new parts, i.e. shift reset, and do not treat the classical problems with polymorphic let and letrec, structured types, etc. Milner 78] To obtain the type of an expression it would be possible to first translate it to higher order functions, as described in the previous section, and then find the type using traditional methods. However, it is also possible to obtain the type directly, using modified inference rules. ....

Robin Milner: A Theory of Type Polymorphism in Programming. Journal of Computer and System Sciences, 17:348--375 (1978).


Basic Polymorphic Typechecking - Cardelli (1988)   (56 citations)  (Correct)

....[Milner 84] He introduced a crucial extension to Hindley s work: the notion of generic and non generic type variables, which is essential for handling declarations of polymorphic functions. Milner implemented the first practical polymorphic typechecker, and showed that the type system is sound [Milner 78] More recently, Milner and Damas proved the principal type property for the extended system [Damas 82] which implies that the type system is decidable. With minor refinements, this is the state of the art exposed in the rest of this paper. This style of polymorphic typechecking was soon adopted ....

....contributes to ML s feel of care free, quick turnaround language, which is wrongly associated only with interpretive, untyped languages. The pragmatics of polymorphic typechecking has so far been restricted to a small group of people. The only published description of the algorithm is the one in [Milner 78] which is rather technical, and mostly oriented towards the theoretical background. In the hope of making the algorithm accessible to a larger group of people, we present an implementation (in the form of a Modula 2 program) which is very close to the one used in LCF, Hope and Page 5 ML [Gordon ....

[Article contains additional citation context not shown here]

R.Milner: A theory of type polymorphism in programming, Journal of Computer and System Sciences, No. 17, 1978.


Polymorphic Subtyping for Effect Analysis: the Dynamic.. - Amtoft, Nielson..   (Correct)

....the static semantics (i.e. the type system) wrt. a dynamic semantics. Statements of semantic soundness typically contain as premise that the inference system assigns a type t to e but the conclusion depends on the kind of dynamic semantics used: for a denotational semantics one may require (as in [4]) that the denotation of e has type t; for a big step (natural) semantics one may require (as in [10, 3] that if e # v then v has type t; for a small step semantics [7] one requires (as in [11] the following subject reduction property: if e # e # then the inference system also assigns e ....

R. Milner: A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348--375, 1978.


Behaviour Analysis for Validating Communication Patterns - Amtoft, Nielson, Nielson (1997)   (Correct)

....rules for when it is possible to assign a given behaviour to an expression; 2. demonstrated that this inference system is sound wrt. a semantics for CML, in the sense that well typed programs communicate according to their behaviour (and hence that well typed programs do not go wrong , cf. [13,15, 16]) 3. demonstrated that the algorithm is sound wrt. the inference system, i.e. that its output represents a valid inference. The rather complex development is covered 4 in [2] which also establishes a completeness result, stating that the inferred behaviours are in a certain sense principal. ....

....given as second argument, from right to left. One use for this function is to find the number of nonzero elements in a list: fun num non zero xs = foldr (fn (x,a) if x = 0 then a else a 1) xs 0 SML is equipped with a type system which ensures that well typed programs cannot go wrong [13], that is if it is Torben Amtoft et al. Behaviour Analysis for Validating Communication Patterns 3 Fig. 1. The Karlsruhe Production Cell. possible at compile time to assign a type to a given expression then certain kinds of run time errors (such as adding a boolean to an integer) cannot happen ....

[Article contains additional citation context not shown here]

Robin Milner: A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348--375, 1978.


Graph-based Implementation of a Functional Logic Language - Kuchen, Loogen.. (1990)   (21 citations)  (Correct)

....2 DC Sigma , j f f 2 FS Sigma , j (MN) application, j (B M) guarded expression, B: bool j (B M 1 2M 2 ) conditional expression, B: bool, M 1 ; M 2 : for some Expressions should be well typed. We omit the formal definition of a type inference system for expressions; cfr. Milner 78, Damas, Milner 82] In the sequel we will reserve B;C for boolean expressions. We remark that B M and B M 1 2M 2 are intended to mean if B then M else undefined and if B then M 1 else M 2 , respectively. We shall assume that application associates to the left and omit brackets accordingly. ....

R. Milner: A theory of type polymorphism in programming, Journal of Computer and System Sciences, 17(3), 1978.


On Understanding Types, Data Abstraction, and Polymorphism - Cardelli, Wegner (1985)   (90 citations)  (Correct)

....use. These rules are enough to characterize the type system at an intuitive level, and can be easily formalized as a type inference system. The rules are sound and can stand on their own, but have been discovered and justified by studying a particular semantics of types, developed in [Hindley 69] Milner 78] Damas 82] MacQueen 84a] and [Mitchell 84] Although we do not need to discuss that semantic theory of types in detail, it may be useful to explain the basic intuitions behind it. These intuitions can in turn be useful in understanding the typing rules, particularly regarding the concept of ....

.... single inheritance simple subtypes simple universal ML polymorphism Figure 2: Classification of typ systems. 36 Higher order languages have developed into parametric polymorphic languages. These can have restricted top level universal quantification (this is Milner s type system [Milner 78] with roots in Curry [Curry 58] and Hindley [Hindley 69] or general universal quantification (this is the Girard Reynolds type system [Girard 71] Reynolds 74] Up on the right we have type systems with type abstraction, characterized by existential quantification. Joining universal and ....

R.Milner: A theory of type polymorphism in programming, Journal of Computer and System Science 17, pp. 348-375, 1978.


Behaviour Analysis for Validating Communication Patterns - Amtoft, Nielson, Nielson (1998)   (Correct)

No context found.

Robin Milner: A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348--375, 1978.


Polymorphic Subtyping for Effect Analysis: the Dynamic.. - Amtoft, Nielson.. (1997)   (Correct)

No context found.

R. Milner: A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348--375, 1978.


Operations on Records - Cardelli, Mitchell (1993)   (67 citations)  (Correct)

No context found.

R.Milner: A theory of type polymorphism in programming, Journal of Computer and System Science 17, pp. 348-375, 1978.


Using an ML-Like Language to Specify the Semantics of Machine.. - Ramsey (1998)   (Correct)

No context found.

A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348--375. Mitchell, John C. 1991 (July).


Amber - Cardelli (1986)   (Correct)

No context found.

R.Milner: A theory of type polymorphism in programming, Journal of Computer and System Science 17, pp. 348-375, 1978.

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