| L. Damas, Type Assignment in Programming Languages, PhD Thesis, University of Edimburgh CST-33-85 (####). |
....any compile time type errors. This can be done either with respect to a specific schema (type checking) or just based on the structure of the query independent of any schema information (type inference) Both problems have been studied broadly for various languages during the last 30 years [BO96, Dam85, Gun92, Mil78, Sul00, Tof87] Typability issues have been considered for query languages in both relational and object oriented frameworks. A discussion about type checking an OQL query can be found in the ODMG standard [CBB 00] Unfortunately, this presentation of the type system is neither ....
L. Damas. Type Assignment in Programming Languages. PhD thesis, Edinburgh University, 1985.
....for the applicative one, even though they have exactly the same semantics. As demonstrated here, the programming style (imperative vs. applicative) interferes with the type speci cations. This clearly goes against modular programming. Some enhancements to the ML type system have been proposed [4, 16, 17, 1], that weaken the restrictions over polymorphic mutable data. Standard ML [11] incorporates some of these ideas. These enhanced type systems make it possible to de ne many useful generic functions over mutable data structures, such as the function that copies a vector. However, these systems are ....
....let B; infer ( E; b; let = mgu( A; B ref ) in ( B; This algorithm enjoys the good properties of the Damas Milner algorithm: it is correct and complete with respect to the typing rules, and the inferred type is the most general one. The proof is very similar to Damas proof [4]. 3.6 Relation to ML We have introduced closure typing as a way to keep track of mutable values embedded in functions. As a consequence, two expressions having the same functional type in ML may now be distinguished by their closure type, and we may fear that this leads to a type system more ....
[Article contains additional citation context not shown here]
L. Damas. Type assignment in programming languages. PhD thesis, University of Edinburgh, 1985.
....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]
L. Damas. Type assignment in programming languages. PhD thesis, University of Edinburgh, 1985.
....references to values of monomorphic, statically known types. This approach guarantees soundness, but makes it impossible to write polymorphic functions that create or use references. In his thesis, Damas introduced the rst type system to allow polymorphic use of functions that create references [Dam85]. Unfortunately, although his soundness theorem is not known to be false, the soundness proof is incorrect. Tofte was the rst to give a type discipline for polymorphic references together with a correct soundness proof [Tof88, Tof90] The central idea of Tofte s solution is to partition the ....
L. Damas. Type assignment in programming languages. PhD thesis, Edinburgh University CST-33-85, 1985.
....properties of principal typings. It is well known that principal types in and ML are unique modulo highly trivial equivalences. In ) s there exist principal typing judgements of the form F M: which are unique up to renaming of type variables [35] and ML has principal quantified type schemes [19, 18] of the form VS. which are unique up to renaming of bound variables, reordering of quantifiers and dropping of dummy quantifiers. A similarly simple situation does not hold for subtyping systems, where equivalent, principal typings for the same term may differ in highly non trivial ways. This is ....
L. Damas. Type Assignment in Programming Languages. PhD thesis, University of Edinburgh, 1984.
....Recursion Luc lia Figueiredo 1 and Carlos Camar ao 2 1 Universidade Federal de Ouro Preto, DECOM ICEB Ouro Preto 35400 000, Brasil lucilia dcc.ufmg.br 2 Universidade Federal de Minas Gerais, DCC ICEX Belo Horizonte 31270 010, Brasil camarao dcc.ufmg.br Abstract. As pointed out by Damas[Dam84], the Damas Milner system (ML) has principal types, but not principal typings. Damas also de ned in his thesis a slightly modi ed version of ML, that we call ML 0 , which, given a typing context and an expression, derives exactly the same types, and provided an algorithm (named as T) that infers ....
....expressions than the corresponding rule used in ML, by allowing mutually recursive de nitions to be used polymorphically by other de nitions. 1 Introduction It is well known that the Damas Milner type system [Mil78, DM82] has principal types, but not principal typings, as pointed out by Damas [Dam84] and stressed by Jim [Jim96] The usefulness of the principal typing property has already been adressed in [Jim96] and compilation of partially developed modules (modules which include As he suggests, principal typings are also the key ingredient for eciently solving the problem of type inference ....
[Article contains additional citation context not shown here]
Lus Damas. Type Assignment in Programming Languages. PhD thesis, University of Edinburgh, 1984.
....support for separate compilation, incremental type inference, and for accurate type error messages. The type system of ML is polymorphic and has principal types, but its polymorphism is limited (some programs that arise naturally cannot be typed) and it does not have principal typings (see [17, 25]) System F [23] provides a much more general notion of polymorphism, but lacks principal types, and type inference is undecidable in general (although it is decidable for some subsystems, in particular if we consider types of rank 2 [27] Intersection type systems [12] are somewhere in the ....
L.M.M. Damas. Type Assignment in Programming Languages. PhD thesis, University of Edinburgh, Department of Computer Science, Edinburgh, 1985. Thesis CST-33-85.
....Recursion Luc lia Figueiredo 1 and Carlos Camar ao 2 1 Universidade Federal de Ouro Preto, DECOM ICEB Ouro Preto 35400 000, Brasil lucilia dcc.ufmg.br 2 Universidade Federal de Minas Gerais, DCC ICEX Belo Horizonte 31270 010, Brasil camarao dcc.ufmg.br Abstract. As pointed out by Damas[Dam84], the Damas Milner system (ML) has principal types, but not principal typings. Damas also de ned in his thesis a slightly modi ed version of ML, that we call ML 0 , which, given a typing context and an expression, derives exactly the same types, and provided an algorithm (named as T) that infers ....
....expressions than the corresponding rule used in ML, by allowing mutually recursive de nitions to be used polymorphically by other de nitions. 1 Introduction It is well known that the Damas Milner type system [Mil78, DM82] has principal types, but not principal typings, as pointed out by Damas [Dam84] and stressed by Jim [Jim96] The usefulness of the principal typing property has already been adressed in [Jim96] who suggests that principal typings are the key ingredient for eciently solving the problem of type inference for mutually recursive de nitions. A slightly modi ed type system for ....
[Article contains additional citation context not shown here]
Lus Damas. Type Assignment in Programming Languages. PhD thesis, Edinburgh, 1984.
....Recursion Luc lia Figueiredo 1 and Carlos Camar ao 2 1 Universidade Federal de Ouro Preto, DECOM ICEB Ouro Preto 35400 000, Brasil lucilia dcc.ufmg.br 2 Universidade Federal de Minas Gerais, DCC ICEX Belo Horizonte 31270 010, Brasil camarao dcc.ufmg.br Abstract. As pointed out by Damas[Dam84], the Damas Milner system (ML) has principal types, but not principal typings. Damas also de ned in his thesis a slightly modi ed version of ML, that we call ML 0 , which, given a typing context and an expression, derives exactly the same types, and provided an algorithm (named as T) that infers ....
....expressions than the corresponding rule used in ML, by allowing mutually recursive de nitions to be used polymorphically by other de nitions. 1 Introduction It is well known that the Damas Milner type system [Mil78, DM82] has principal types, but not principal typings, as pointed out by Damas [Dam84] and stressed by Jim [Jim96] The usefulness of the principal typing property has already been adressed in [Jim96] and compilation of partially developed modules (modules which include As he suggests, principal typings are also the key ingredient for eciently solving the problem of type inference ....
[Article contains additional citation context not shown here]
Lus Damas. Type Assignment in Programming Languages. PhD thesis, University of Edinburgh, 1984.
....projected through the 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, ....
....to be updated whenever there is a possibility of allocating a new mutable object or updating an existing mutable object. This has to be achieved in a flexible but sound manner within and across function and local block boundaries. Many type systems in the literature follow this general framework [Dam85, Tof90, LG88, JG91, Wri92, TJ92] The various systems differ in their notion of a store abstraction and the amount of information propagated across function boundaries. An illustrative comparison of some of these systems is presented in [OJ91] First, we will briefly describe two such systems ....
[Article contains additional citation context not shown here]
L. Damas. Type Assignment in Programming Languages. PhD thesis, University of Edinburgh, Department of Computer Science, 1985.
....references to values of monomorphic, statically known types. This approach guarantees soundness, but makes it impossible to write polymorphic functions that create or use references. In his thesis, Damas introduced the first type system to allow polymorphic use of functions that create references [Dam85]. Unfortunately, although his system has not been shown unsound, his claimed soundness proof is incorrect. Tofte was the first to give a type discipline for polymorphic references together with a correct soundness proof [Tof88, Tof90] The central idea of Tofte s solution is to partition the types ....
L. Damas. Type assignment in programming languages. PhD thesis, Edinburgh University CST-33-85, 1985.
....type. The computation of the most general type is called type inference. It was first studied by Hindley [11] in the context of combinatory logic and later independently by Milner [16] for Mini ML. Milner s type inference algorithm is known as algorithm W. Damas proved the completeness of W [4, 5]. This paper presents the first machine checked proof of soundness and completeness of W . It is an extension of the work by Nazareth and Nipkow [18] who treated the monomorphic case (no let expressions) A partial verification of W in the proof checker Coq is reported by Dubois and ....
....is used to quantify over those free variables of a type that do not occur free in the context. 10 Modulo the fact that we use de Bruijn notation, these are the type inference rules of the system DM , presented in Section 2. We have not based our case study on the original system DM of Damas [5] since in the equivalent system DM there is exactly one inference rule for each syntactic construct, which means that DM is closer to W than DM. Note that the simplicity of the Abs rule is due to de Bruijn notation: the extended context (make scheme t1)#A takes care that the variable bound by ....
[Article contains additional citation context not shown here]
L. M. M. Damas. Type Assignment in Programming Languages. PhD thesis, Department of Computer Science, University of Edinburgh, 1985. 18
....= fn x = ref x in ref 1; ref true end 2 John Greiner The function ref , which creates reference cells, can safely be used at both the types int int ref and bool bool ref. A number of type systems have been proposed to allow code such as the latter example while preserving soundness (Damas, 1985; Hoang, et al. 1993; Leroy and Weis, 1991; Talpin and Jouvelot, 1992a; Talpin and Jouvelot, 1992b; Wright, 1992) Of particular interest for this paper are those of Tofte (1988) which is used in the definition of SML, and MacQueen (1992) which is used in the New Jersey implementation of SML ....
....is defined relative to those effects. This approach is taken by Leroy and Weis (1991) Talpin and Jouvelot (1992a; 1992b) and Wright (1992) A slightly different approach is given by Leroy (1992) where type arrows are labelled with the types of any values that may occur in references. Damas (1985) system has aspects of both Tofte s and those using effects, as it distinguishes references that have been created from those that may be created after further application. Reynolds (1989) uses an effects like system to detect interference such as aliasing of references. For a comparison of some ....
Damas, L. 1985. Type Assignment in Programming Languages. Ph.D. Thesis, University of Edinburgh.
....usual lexical scoping rules, or, for machine generated source, using an internal representation of the abstract syntax. The primary di#erence between concrete and abstract syntax is that the former is untyped; the system performs standard Hindley Milner type inference #Hindley, 1969; Milner, 1978; Damas, 1984; Cardelli, 1987# to obtain the type annotated abstract form. Also, the concrete syntax allows primitives and constructors to be used as #rst class values whereas the abstract syntax permits them only in the operator position of applications; such #rst class uses are automatically eta expanded by ....
Damas, L. #1984#. Type Assignment in Programming Languages. PhD thesis, University of Edinburgh.
.... P ) ff) ff Note that the type ( ff) ff is peculiar to typed icontinuation passing stylej transformations in the calculus [24, 10] In ( ff) ff, the variable ff is implicitly quanti ed, in the sense that reply(P ) has type 8ff: ff) ff) in the Hindley Milner type system [14]. To avoid the introduction of quanti cation in our type system, we use a new type operator (namely Reply( to type the term reply(P ) This mechanism is similar to the use of the let x = N in M construct in ML, that is (operationally) a shorthand for the term (x:M N) but that is used to ....
Lu#s Damas. Type Assignment in Programming Languages. PhD thesis, University of Edinburgh, 1984. 34
....Hindley Calculus as Church s Typed calculus. What we call Milner Calculus is called ML (by Kfoury et al. 58] or more loosely let polymorphism or Milner style polymorphism. Since it is well known that side effects and pointers have an effect on the soundness of polymorphic typing disciplines [22,68,116], we prefer not to call this typing calculus ML, a concrete programming language with side effects, pointers and several 3 Remember that always stands for a monotype. other features. For similar reasons Kfoury et al. s ML is our Mycroft Calculus. 4 The general rationale for our choice ....
....before, with some variations. Curry, Hindley and others investigated the properties of functionality of combinatory logic [21,84,20,41,4] which is essentially what we call the Hindley Calculus. The Milner Calculus, in its logical form as a typed calculus, was investigated by Damas and Milner [23,22] on the basis of earlier work by Milner [76] As early as in the late 70s Wadsworth reportedly worked on extending the well known type inference algorithm W for the Milner Calculus [76] to capture the more general typing rule (FIX P) in (what we call) the Mycroft Calculus, but apparently did not ....
L. Damas. Type Assignment in Programming Languages. PhD thesis, University of Edinburgh, 1984.
No context found.
L. Damas, Type Assignment in Programming Languages, PhD Thesis, University of Edimburgh CST-33-85 (####).
No context found.
L. M. M. Damas. Type Assignment in Programming Languages. PhD thesis, University of Edinburgh, 1984.
No context found.
DAMAS, L. M. M. 1984. Type Assignment in Programming Languages. Ph.D. thesis, University of Edinburgh.
No context found.
L. Damas, Type Assignment in Programming Languages, PhD Thesis, University of Edimburgh CST-33-85 (####).
No context found.
L. M. M. Damas. Type assignment in Programming Languages. PhD thesis, University of Edinburgh, Edinburgh, Scotland, 1985.
No context found.
L. M. M. Damas. Type Assignment in Programming Languages. PhD thesis, University of Edinburgh, 1984.
No context found.
L. M. M. Damas. Type Assignment in Programming Languages. PhD thesis, University of Edinburgh, 1984.
No context found.
L. M. M. Damas. Type assignment in Programming Languages. PhD thesis, University of Edinburgh, Edinburgh, Scotland, 1985.
No context found.
Damas, L. Type Assignment in Programming Languages. Ph.D. Thesis, University of Edinburgh, April 1985.
First 50 documents Next 50
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