41 citations found. Retrieving documents...
Xavier Leroy and Pierre Weis. Polymorphic type inference and assignment. In Eighteenth ACM Symposium on Principles of Programming Languages, pages 291--302, Orlando, FL, January 1991. ACM SIGACT/SIGPLAN. 19

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Relaxing the Value Restriction - Jacques Garrigue Research (2003)   (1 citation)  (Correct)

....by Leroy and System Type of imp map Old Caml (int string) int list string list SML 90 ( SML=NJ ( E ects ( list list Closure ( M list N list with . N Value ( list list Figure 1: Comparing types Weis [10, 7], are able to extract this polymorphism, by tracking in more detail creation and access of references. They both give the same type to imp map and an applicative version of map, but this is at the price of adding information about the program execution ow. This means complex types, which may be ....

X. Leroy and P. Weis. Polymorphic type inference and assignment. In Proc. ACM Symposium on Principles of Programming Languages, pages 291-302, 1991.


Polymorphic Type Assignment and CPS Conversion - Harper, Lillibridge (1993)   (30 citations)  (Correct)

....from the usual one. Our investigation makes clear that there is a fundamental tension between implicit polymorphism and the call by value interpretation of let. This is consistent with earlier results establishing the inconsistency between unrestricted polymorphism and polymorphic reference types [22, 12] and first class continuations [9, 10] The source of the inconsistency may be traced to conflicting motivations for the static and dynamic semantics of the language. The polymorphic typing rule for let is motivated by a substitution principle a let bound variable is deemed to have exactly ....

Xavier Leroy and Pierre Weis. Polymorphic type inference and assignment. In Eighteenth ACM Symposium on Principles of Programming Languages, pages 291--302, Orlando, FL, January 1991. ACM SIGACT/SIGPLAN.


Explicit Polymorphism and CPS Conversion - Harper, Lillibridge (1993)   (41 citations)  (Correct)

....explored in ML [15, 28, 29] This style of polymorphism, called implicit polymorphism, is based on the idea that programs are type free, with types interpreted as predicates expressing properties of programs under evaluation. Numerous extensions of these ideas have been explored in the literature ([7, 25, 31, 45], to name just a few) Although implicit polymorphism is appealingly simple and natural, it does not scale well to more sophisticated language features such as modularity and abstract types [20] Recent languages, notably Quest [4] and LEAP [35] are based instead on the notion of explicit ....

Xavier Leroy and Pierre Weis. Polymorphic type inference and assignment. In Eighteenth ACM Symposium on Principles of Programming Languages, pages 291--302, Orlando, FL, January 1991. ACM SIGACT/SIGPLAN.


A Sound Polymorphic Type System for a Dialect of C - Smith, Volpano (1998)   (10 citations)  (Correct)

....is the large body of To appear in Science of Computer Programming, vol. 32, nos. 2 3, 1998. This material is based upon work supported by the National Science Foundation under Grants No. CCR 9414421 and CCR 9400592. Preprint submitted to Elsevier Preprint 31 March 1997 work surrounding ML [4,21,14,5,11,24,22,19]. However, none of these e orts addresses the polymorphic typing of a language that combines variables, arrays and pointers ( rst class references) which are key ingredients of traditional imperative languages. As a result, they cannot be directly applied to get MLstyle polymorphic extensions of ....

....the data types, making pointers rst class values. 2.2 Achieving Type Soundness in Polymorphic C Much e ort has been spent trying to develop sound polymorphic type systems for imperative extensions of core ML. Especially well studied is the problem of typing Standard ML s rst class references [21,14,5,11,24]. The problem is easier in a language with variables but no references, such as Edinburgh LCF ML, but subtle problems still arise [4] The key problem is that a variable can escape its scope via a lambda abstraction as in letvar stk : in v: stk : v : stk (This evaluates to a push ....

Xavier Leroy and Pierre Weis. Polymorphic type inference and assignment. In Proceedings of the 18th ACM Symposium on Principles of Programming Languages, pages 291-302, New York, 1991. ACM. 27


VM: A Functional Calculus for Scientific Discovery - Sumii, Bannai (2001)   (Correct)

.... restriction interferes with separate compilation of modules that export (possibly partially) applied view constructors, since their representations have non generalizable types such as: V of [ l of int m of bool ] list] This problem would be solved by adopting a weaker restriction [2, 18, 24, 31 33] into OCaml. On the bases of the ideas above, generic rules of the translation are given in Figure 8. Further details of the implementation are omitted. 5 Related Work and Future Work ML Like Exceptions. The representation part of a view is similar to ML like exceptions in that they carry ....

Xavier Leroy and Pierre Weis. Polymorphic type inference and assignment. In Proceedings of the 18th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 291--302, 1991.


A Critique of Standard ML - Appel (1992)   (21 citations)  (Correct)

....indicating that the non key elements of the list cannot be polymorphic values. It is too bad that this purely internal data structure must be mentioned in the interface. Many researchers have recently been engaged in devising better type inference systems for polymorphic programs with references[25, 23, 17, 40, 48], which indicates that the problem of type checking references is not yet regarded as solved; some of these systems address the problem of internal, temporary references described above. The ML Grammar The designers of Standard ML worked very hard to get the semantics right, and to define the ....

Xavier Leroy and Pierre Weis. Polymorphic type inference and assignment. In Eighteenth Annual pages 291--302, New York, Jan 1991. ACM Press.


VM\Lambda: A Functional Calculus for Scientific Discovery - Sumii, Bannai (2001)   (Correct)

.... value restriction interferes with separate compilation of modules that export (possibly partially) applied view constructors, since their representations have non generalizable types such as: V of [ l of int m of bool ] list] This problem would be solved by adopting a weaker restriction [2, 17, 23, 29 31] into OCaml. On the bases of the ideas above, generic rules of the translation are given in Figure 8. Further details of the implementation are omitted. 5 Related Work and Future Work The representation part of a view is similar to ML like exceptions in that they carry arguments, have generative ....

Xavier Leroy and Pierre Weis. Polymorphic type inference and assignment. In Proceedings of the 18th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 291--302, 1991.


Optimizing Floating Point Operations in Scheme - Wong   (Correct)

....this is not done currently. 5 Related Works. The problem of tag optimization has also received constant attention from Lisp and functional programming language researchers. Tag optimization in functional programming language is done in the context of polymorphic functional programming languages [10]. Most Lisp compilers such as ORBIT [11] or Screme [12] will do local tagging optimizations [1] TICL [13]isatype system for Common Lisp but it relies on user declarations. Type inference in high level dynamic typed languages is not a new problem. Early works on this problem include [19] 14] and ....

X. Leroy and P.Weis, `Polymorphic type inference and assignment', Proc. 18th ACM Symp. on Principles of Prog. Lang., pp. 291-302. Jan 1991. 21


Monads and Effects (revised) - Benton, Hughes, Moggi (2000)   (1 citation)  (Correct)

.... imperative type discipline [Tof87] using imperative type variables was used in the old (1990) version of the Standard ML Definition, whilst Leroy and Weis proposed a different scheme for tracking dangerous type variables (those appearing free in the types of expressions stored in references) LW91] A key motivation for most of that work was 16 Depending on the order in which the inference algorithm works, the application might alternatively cause ff to be unified with bool and then the error would be discovered in the assignment. This is an example of why giving good type error messages ....

X. Leroy and P. Weis. Polymorphic type inference and assignment. In Proceddings of the 1991 ACM Conference on Principles of Programming Languages. ACM, 1991.


Functional Encapsulation and Type Reconstruction in a.. - Gupta (1995)   (2 citations)  (Correct)

....abstraction both in static and dynamic semantics. We present a new language construct called close that achieves this functionality through the type system. The interaction of polymorphism and imperative programming has been the subject of active research in the past decade [Dam85, Tof90, AM89, LW91, Ler92, TJ92, Wri92] Several 27 type systems have been proposed in the literature spanning a wide range of expressiveness and complexity. We present a brief survey in Section 2.2. Since our main task is to provide an encapsulation mechanism for imperative program fragments, we prefer to extend ....

....far, model the state of the dynamic mutable store and the operations performed on it using some static approximation, and then use that information to identify the objects that can safely be assigned polymorphic types. Instead of approximating the dynamic behavior of the program, Leroy and Weis [LW91] introduced a more direct, syntactic way of identifying and safely typing mutable objects using an extension of the Hindley Milner type system. We discuss their technique below. Syntactic Analysis The key idea in the scheme proposed by Leroy and Weis is that the static type of a complex object ....

[Article contains additional citation context not shown here]

Xavier Leroy and Pierre Weis. Polymorphic type inference and assignment. In Proceedings of the ACM Symposium on Principles of Programming Languages, pages 291--302. ACM, January 1991.


Monads and Effects - Benton, Hughes, Moggi (2000)   (1 citation)  (Correct)

.... Tofte s imperative type discipline [Tof87] using imperative type variables was used in the old (1990) version of the Standard ML Definition, whilst Leroy and Weis proposed a scheme for tracking dangerous type variables (those appearing free in the types of expressions stored in references) LW91] A key motivation for most of that work was to allow as much polymorphic generalization as possible to happen in the let rule, whilst still keeping the type system sound. However, expensive and unpredictable inference systems which have a direct impact on which user programs actually typecheck ....

X. Leroy and P. Weis. Polymorphic type inference and assignment. In Proceddings of the 1991 ACM Conference on Principles of Programming Languages. ACM, 1991.


Refinement Types for ML - Freeman (1994)   (52 citations)  (Correct)

....standard notation for record types, and assuming that the age field is an int and the name field is a string , we say that fage : int ; name : stringg is a subtype of fage : int g. Several approaches to clean interaction between this kind of subtyping and polymorphism are [JM88, Jat89, R 89, LW91, HP91, HL94] These are all type inference systems that in some sense extend the type inference of Standard ML; making a version of refinement types that is based on one of these instead of Standard ML is potential future work. Two papers by Fuh and Mishra [FM89, FM90] describe an interesting ....

Xavier Leroy and Pierre Weis. Polymorphic type inference and assignment. In Proceedings of the Eighteenth Annual ACM Symposium on Principles of Programming Languages, Orlando, pages 170--181. ACM, January 1991.


Global Tagging Optimization by Type Inference - Henglein (1992)   (46 citations)  (Correct)

.... n] 1) NUMBER (lookup x env 0) 8) PROC1 (lookup id env 0) NUMBER 13] map (lambda ( e: List(Symbol, Dynamic) lookup x e) cons env 0 (cons env 1 ( Figure 3: Result of global tagging optimization namic type systems that permit tagging with complete types [Myc84,ACPP91,LW91]. Tag handling operations are implicit in latently typed languages. We make them explicit in order to be able to eliminate (some of) them at compile time and to be sure that they are really eliminated when they do not occur in the final program. In Section 4 we discuss how type and coercion ....

X. Leroy and P. Weis. Polymorphic type inference and assignment. In Proc. 18th Annual ACM Symp. on Principles of Programming Languages, Orlando, Florida, pages 291--302, ACM, ACM Press, Jan. 1991.


Simple Imperative Polymorphism - Wright (1995)   (55 citations)  (Correct)

....languages include imperative features like references, exceptions, and continuations that facilitate concise and efficient programs. Several solutions to integrating imperative features with HindleyMilner polymorphism in call by value languages have been devised [1] 3] 4] 8] 9] [11], 17] 18] 19] These solutions range in complexity from Tofte s relatively simple method that Standard ML adopted to Talpin s sophisticated system that infers types, regions, and effects. All of these solutions assign types to all purely functional expressions that are typable by the ....

....was supported in part by the United States Department of Defense under a National Defense Science and Engineering Graduate Fellowship. 2 more concise. But such an imperative version of sort has the following imperative types in Tofte s system [18] MacQueen s system [1] and Leroy s system [9] [11]: 8 ff: ff ff bool) ff list) ff list) Tofte) 8ff 2 : ff 2 ff 2 bool ) ff 2 list) ff 2 list) MacQueen) 8ffLMNP: ff L ff M bool) N (ff list) P (ff list) Leroy) with fff . M; ff L ff M bool) Pg In each case, the extra annotations ....

[Article contains additional citation context not shown here]

Leroy, X. and P. Weis. "Polymorphic type inference and assignment," In Proceedings of the 18th Annual Symposium on Principles of Programming Languages (January 1991) 291--302. 13


Typing References by Effect Inference - Andrew Wright (1992)   (16 citations)  (Correct)

....perform type and effect inference. 1 Polymorphism and References Hindley Milner style polymorphism [8, 12] is a simple, natural, and flexible type discipline for functional languages, but incorporating imperative extensions is difficult. While a number of systems for typing reference cells exist [3, 10, 16, 17, 18], we have devised a more direct approach based on inferring a concise summary of each expression s allocation behavior. Our system has several desirable characteristics: the curried version of a function may be used wherever the uncurried version applies; all expressions typable in the functional ....

....let x = ref (y.y) in x : n. n 1) x) true the bound expression ref (y.y) has type (ff ; ff) ref and effect fffg. Since ff appears in the effect, it cannot be generalized, and the expression is not typable. As a further example, consider the following imperative version of map [10]: let imap = f.x. let a = ref x and b = ref nil in while not (null a) do b : f (hd a) b; a : tl a reverse b in : If f has type ff fi and x has type ff list ( list is the type of lists containing elements of type ) then the body of the function allocates reference cells ....

[Article contains additional citation context not shown here]

Leroy, X., and Weis, P. Polymorphic type inference and assignment. Proceedings of the 18th Annual Symposium on Principles of Programming Languages (January 1991), 291--302.


Standard ML Weak Polymorphism Can Be Sound - Greiner (1993)   (8 citations)  (Correct)

....polymorphically generalize types of the form ff ref, generalizing function types involving references is not necessarily so. A simple example is let val ref = fn x = ref x in (ref 1,ref true) end A number of type systems have been proposed to allow code such as this while preserving soundness [1, 4, 6, 10, 11, 13]. Of particular interest for this paper are those of Tofte [12] and MacQueen [7] In the standard Hindley Milner type system, generalization is allowed on all free type variables not occurring in the (variable) type assumption, a mapping from variables to type schemes. However, with references, it ....

....Another approach is to label type arrows with effects, an approximation of the change in the store. The static semantics then derives both a type and an effect for an expression, and generalization is then defined relative to those effects. This approach is taken by Damas [1] Leroy and Weis [6], Reynolds [9] Talpin and Jouvelot [10, 11] and Wright [13] A slightly different approach is given by Leroy [5] where type arrows are labelled with types that may occur in references. He also provides a comparison of this approach with some of these others. For a comparison of some of these ....

Xavier Leroy, Pierre Weis. Polymorphic type inference and assignment. In ACM Symposium on Principles of Programming Languages, pages 291--302. 1991.


Polymorphic Subtyping for Effect Analysis: the Integration - Nielson, Nielson, Amtoft (1996)   (1 citation)  (Correct)

....a distinction between imperative and applicative type variables and that characterises expressions as being expansive or non expansive. A number of papers have tried to improve upon this work by allowing to type programs that are rejected according to the expansiveness distinction; this includes [7, 19, 16] but all of these systems (as well as the one we develop) fail to fully generalise the expansiveness distinction as is discussed in [16, section 11] In the area of static program analysis, annotated type and eoeect systems have been used as the basis for variations of control AEow analysis [17] ....

X. Leroy and P. Weis. Polymorphic type inference and assignment. In Proc. POPL '91, pages 291302. ACM Press, 1991.


A Variable Typed Logic of Effects - Honsell (1993)   (20 citations)  (Correct)

....gets the current contents of the cell z, and set(z; v) sets the contents of the cell z to be v. Then the desired functional is Y = f:letfz : mk(nil)gseq(set(z; x:f(get(z) x) get(z) In addition, references are problematic for polymorphic type systems (Damas, 1985; Tofte, 1988; Tofte, 1990; Leroy and Wies, 1990). Even when references are only allowed to contain numbers they are troublesome from a denotational point of view as illustrated by the absence of fully abstract models. For example, in (Meyer and Sieber, 1988) they give a series of seven examples of programs that are operationally equivalent ....

....they may be, seems problematic) Our analysis indicates that ML types are therefore more syntactic than semantic. In the following we illustrate the problems that arise in trying to encode the monomorphic type system with higher order functions and references (cf. Tofte, 1988; Tofte, 1990; Leroy and Wies, 1990; Felleisen and Wright, 1991) In this system types are built from base types, Nat and Nil, using function space and reference constructions. T = N fnilg (T T) ref(T) The typing judgement in this system is of the form fx i : i i ng e : and the constants, for each 2 T, have ....

Leroy, X. and Wies, P. (1990). Polymorphic type inference and assignment. In Proceedings of the 18th Annual Symposium on Principles of Programming Languages, pages 291--302.


A Theory of Classes for a Functional Language with Effects - Honsell, Mason, Smith.. (1993)   (1 citation)  (Correct)

....the inference rules, is the preservation of types during the execution of well typed programs. In this sense they are more syntactic than semantic. In the following we illustrate the problems that arise in trying to encode the monomorphic type system with higher order functions and references (cf. [28, 29, 9, 6]) In this system types are built from base types, N and Nil, using the reference construction and a suitable function space constructor (provisionally denoted by ) T= N Nil (T T) ref(T) The typing judgement in this system is of the form fx i : i i ng e : and the constants, ....

X. Leroy and P. Wies. Polymorphic type inference and assignment. In Proceedings of the 18th Annual Symposium on Principles of Programming Languages, pages 291--302. ACM, 1990.


Polymorphic Type Assignment and CPS Conversion - Harper, Lillibridge (1992)   (30 citations)  (Correct)

....from the usual one. Our investigation makes clear that there is a fundamental tension between implicit polymorphism and the call by value interpretation of let. This is consistent with earlier results establishing the inconsistency between unrestricted polymorphism and polymorphic reference types [22, 12] and first class continuations [9, 10] The source of the inconsistency may be traced to conflicting motivations for the static and dynamic semantics of the language. The polymorphic typing rule for let is motivated by a substitution principle a let bound variable is deemed to have exactly ....

Xavier Leroy and Pierre Weis. Polymorphic type inference and assignment. In Eighteenth ACM Symposium on Principles of Programming Languages, pages 291--302, Orlando, FL, January 1991. ACM SIGACT/SIGPLAN.


Polymorphic Typing of Variables and References - Smith, Volpano   (Correct)

....Assignment, references, variables 1. INTRODUCTION Polymorphic type checking of a language with first class references (pointers) is a difficult problem, as can be seen by the many type systems proposed for typing references in Standard ML [Damas 1985; Greiner 1993; Hoang et al. 1993; Leroy 1993; Leroy and Weis 1991; Talpin and Jouvelot 1992; Tofte 1990; Wright 1995] But many imperative programs do not require the power of first class references they merely manipulate values, other than pointers, as the contents of local variables. Unfortunately, if local variables must be created using first class ....

....with a monotype. This forces makestack to be monomorphic. Finally, typings of purely functional programs in our system are preserved as they are in the type systems for Standard ML and Standard ML of New Jersey. No labels or other annotations are required on arrow types as they are in closure [Leroy and Weis 1991] and effect [Talpin and Jouvelot 1992; Wright 1992] typing. 3. A FORMAL TREATMENT OF THE TYPE SYSTEM The syntax of our language is given below. Following Tofte [1990] we distinguish a subset of the expressions called Values. Evaluating a value does not allocate any new cells; this property is ....

[Article contains additional citation context not shown here]

Leroy, X. and Weis, P. 1991. Polymorphic type inference and assignment. In Proceedings of the 18th ACM Symposium on Principles of Programming Languages. ACM, New York, 291--302.


The Type and Effect Discipline - Talpin, Jouvelot (1992)   (33 citations)  (Correct)

....Introduction Type inference [12] is the process that automatically reconstructs the type of expressions in programming languages. Polymorphic type inference in functional languages becomes problematic in the presence of imperative constructs and much investigations have been devoted to this issue [20, 13, 8] and more recently [21] Polymorphic effect systems [10, 11] allow a safe integration of imperative programming features in functional languages. Just as types describe what expressions compute, effects describe how expressions compute and both can be statically reconstructed [7, 18] We introduce ....

....is the classical way to deal with the problem of type generalization for polymorphic functional languages in the presence of non referentially transparent constructs. Its extension, based on weak type variables, is used in the implementation of Standard ML [1] A different approach, suggested in [8], consists in labeling the type of each function with the set of the types of the value identifiers that occur in its body, and then to track the dangerous type variables on which side effecting operations are performed. All those approaches build conservative approximations of value types that ....

[Article contains additional citation context not shown here]

Leroy, X., and Weis, P. Polymorphic type inference and assignment. In Proceedings of the 1991 ACM Conference on Principles of Programming Languages. ACM, New-York, 1991.


Proc. 20th Symp. Principles of Programming Languages.. - Polymorphism By Name   Self-citation (Leroy)   (Correct)

....by value, some typing restrictions must be put on generalization and or on the constructs that build references and continuations to avoid the inconsistent use of one reference or continuation object with di erent types. Several polymorphic type systems have been proposed that achieve this goal [3, 19, 15, 13, 20, 18], but they are either overly restrictive (many useful polymorphic functions that use references or continuations are rejected) or complicated and hard to understand from the programmer s standpoint. In contrast, with polymorphism by name, the simple, intuitive polymorphic type disciPage 1 ....

....evaluating ( r) true) causes 1 to be added to true, which is a run time type violation. With polymorphism by value, type safety can be compromised when a reference is given a non trivial polymorphic type. Several restrictions of the ML type system have been proposed that rule out this situation [3, 19, 13, 20, 18]. However, nding the right type system for ML with references is still an active research topic. The main diculty is to give a type system that is correct but not overly restrictive. On the one hand, it is not easy to statically control the propagation of references in a program. Since ....

[Article contains additional citation context not shown here]

X. Leroy and P. Weis. Polymorphic type inference and assignment. In 18th symposium Principles of Programming Languages, pages 291-302. ACM Press, 1991.


Explicit Polymorphism and CPS Conversion - Robert Harper Mark (1992)   (41 citations)  (Correct)

No context found.

Xavier Leroy and Pierre Weis. Polymorphic type inference and assignment. In Eighteenth ACM Symposium on Principles of Programming Languages, pages 291--302, Orlando, FL, January 1991. ACM SIGACT/SIGPLAN. 19


A Uniform Type Structure for Secure Information Flow - Honda, Yoshida (2002)   (25 citations)  (Correct)

No context found.

Leroy, X. and Weis, P., Polymorphic type inference and assignment, POPL'91, 291-302, ACM Press, 1991.

First 50 documents

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