22 citations found. Retrieving documents...
Luca Cardelli. Phase distinctions in type theory. unpublished manuscript.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
What is a Recursive Module? - Crary   (Correct)

....s and Snd s for extracting the first and second components out of structures named by variables. We will occasionally treat these constructs as variables and al low substitution for them. The structure calculus shows an explicit phase distinction between compile time and run time expres sions [11, 4]. Static expressions may be separated from civnamlc nn anti f. af. lc one. will never dnenc] on namic ones. This ensures that programs may be typechecked without the need to execute any run time code. HMM show that higher order modules can be reduced to the simple structure calculus given here. ....

Luca Cardelli. Phase distinctions in type theory. Un- published manuscript.


Tagless Staged Interpreters for Typed Languages - Pasalic, Taha, Sheard (2002)   (3 citations)  (Correct)

....EmptyE s) Figure 4. Staged tagless interpreter and the function typeCheck (without representation types) done during type checking, then we risk non termination, or even unsoundness, at typechecking time. This is called preserving the phase distinction between compile time and runtime [5]. The basic approach to dealing with this problem is to allow types to only depend on other types, and not values. Disallowing any kind of such dependency, however, would not allow us to express our type checking function, as it produces a term whose type depends on the value of its argument. A ....

L. Cardelli. Phase distinctions in type theory. Manuscript, 1988.


Type Checking with Universes - Harper, Pollack (1991)   (6 citations)  (Correct)

....25] As a result, every type is inhabited by some closed term, and the interpretation of propositions as types, central to many applications, is lost. In the context of type systems for programming languages, the merits and demerits of the type:type assumption are the subject of ongoing research [38, 3, 41, 22]. An alternative approach to dealing with stratification in formal systems was introduced by Russell and Whitehead in Principia Mathematica. They introduced an informal convention, called typical ambiguity, in which universe levels are not explicitly mentioned, and in which it is tacitly ....

Luca Cardelli. Phase distinctions in type theory. unpublished manuscript.


Object Types against Races - Flanagan, Abadi (1999)   (21 citations)  (Correct)

....associated with self, that is, with this object. Thus, we are led to a type system with dependent types, in which the type of an object refers to values, namely to locks. However, the type system is restrictive enough to preserve the important phase distinction between compile time and run time [7, 11]. All our checking takes place at compile time (without excluding the possibility of further run time checking) The checking guarantees the absence of race conditions: if a program is welltyped, then during its execution no two threads attempt to access an object component at the same time. In ....

Luca Cardelli. Phase distinctions in type theory. 1988.


Interpreting Specialization in Type Theory - Thiemann (1999)   (Correct)

....exact relations between Lambdamix type derivations and the translated terms. Appendix C gives a summary of the target language. 3. 1 Specialization time integers The encoding of specialization into type theory relies on creating specialization time copies of the basic types elevated to kinds [4, 5]. For example, while int is the type of the run time integers 0; 1; its elevated copy, the kind int with the types 0; 1; as elements, models the compiletime integers. Technically, for each integer i, the type i has exactly one element : i. Similarly, the primitive operator e e ....

....that SJe2Kae0 = EJe2K 0 , as desired. 2 5 Partial evaluation and the phase distinction There is a deep relation between specialization and the phase distinction in type theory, and our work simulates one with the other. We demonstrate that Cardelli s original intuition of the phase distinction [4] was too restrictive, whereas later work on module languages by Harper and others [24] provides a perfect match. This latter work provides the starting point for extending Lambdamix to embody a module language, too. 5.1 The phase distinction originally Cardelli [4] argued for structuring a ....

[Article contains additional citation context not shown here]

Luca Cardelli. Phase distinctions in type theory. Unpublished Manuscript, January 1988.


Object Types against Races - Flanagan, Abadi (1999)   (21 citations)  (Correct)

....associated with self, that is, with this object. Thus, we are led to a type system with dependent types, in which the type of an object refers to values, namely to locks. However, the type system is restrictive enough to preserve the important phase distinction between compile time and run time [7, 11]. All our checking takes place at compile time (without excluding the possibility of further run time checking) The checking guarantees the absence of race conditions: if a program is welltyped, then during its execution no two threads attempt to access an object component at the same time. In ....

Luca Cardelli. Phase distinctions in type theory. Unpublished, 1988.


A Category-Theoretic Account of Program Modules - Moggi (1994)   (19 citations)  (Correct)

....w.r.t. products and function spaces only. Such a restriction is essential to prove that type checking can be done at compile time (even for the calculus of modules) 12 Our notion of independence of type expressions from program expressions is related to phase distinction as introduced in [Car88] : the execution of a program is carried out in two phases: a type checking phase (compile time) and an execution phase (run time) Independence and phase distinction coincide, when types and type schemas are identi ed, but in general phase distinction is a stronger requirement than ....

L. Cardelli. Phase distinction in type theory. Draft 4/1/88, DEC SRC, 1988.


Higher-Order Modules and the Phase Distinction - Harper, Mitchell, Moggi (1990)   (76 citations)  (Correct)

....feature of Standard ML has not been accounted for in the typetheoretic analysis is the compile time nature of type checking. The problem is that the type structure of XML is suciently rich as to admit variations in the language that violate the so called phase distinction (introduced by Cardelli [Car88] between compile time and run time expressions. For example, by introducing a constant A of type U 1 int U 1 (which we may think of as Array ) we obtain types of the form A(int ; e) and A(int ; e 0 ) where e and e 0 are expressions of type int . Since type checking in XML involves ....

L. Cardelli. Phase distinctions in type theory. Manuscript, 1988.


Cayenne - a Language With Dependent Types - Augustsson (1998)   (68 citations)  (Correct)

....that allows a ground value which is all that can be observed in a program to depend on a type. Hence, types do not have to be present at run time. Erasing types consists of removing all arguments and record components that have type #n or are functions computing something of type #n . In [Car88] it is claimed that type erasing is not possible and that the distinction between compile time and run time is blurred with dependent types. We claim that this is not the case with the variant of dependent types used in Cayenne. What we need to show is that evaluating an expression with types ....

Luca Cardelli. Phase Distinction in Type Theory. Research report, DEC SRC, 1988.


Type Theory for Programming Languages - Harper (1994)   (Correct)

....and Lampson [5] MacQueen s approach was subsequently developed by Harper and Mitchell [35] who suggested a comprehensive type theory to encompass all of Standard ML. This suggestion was further refined by Harper, Mitchell, and Moggi [36] to account for the phase 99 distinction in type theory [6]. These calculi did not, however, properly account for computational effects or separate compilation, nor did they provide an adequate treatment of sharing specifications. This was rectified by Harper and Lillibridge [34] and Leroy [38] The account given here is based on the latter two papers. ....

Luca Cardelli. Phase distinctions in type theory. unpublished manuscript.


How to Reconcile Subtypes, Dependent Types and Deep.. - Sokolowski (1991)   (Correct)

....a t 0 and a number of closed formulae, called proof obligations, s.t. t : t 0 provided all these formulae are valid. It has to be emphasised that type checking modulo proof obligations is different than type checking with phase distinction, as investigated in [7] which attributes the term to [3]) The type inference algorithm of SDDP performs the counterpart of the compile time phase of [7] on its own; but, due to the presence of sets, the task that remains after that is too complex to be accomplished in any kind of a run time phase. Theorem proving cannot be reduced to evaluating. This ....

Cardelli L. Phase distinctions in type theory. Manuscript, 1988


Higher-Order Modules and the Phase Distinction - Harper, Mitchell, Moggi (1990)   (76 citations)  (Correct)

....Mac86] In this paper, we redesign XML so that compile time type checking is an intrinsic part of the type theoretic framework. Since it is difficult to characterize the difference between compile time and run time precisely, we focus on establishing a phase distinction, in the terminology of [Car88] However, to give better intuition, we generally refer to these phases as compile time and run time. The main benefit of our redesign is that type checking becomes decidable, even in the presence of higher order functors and arbitrary equational axioms between run time expressions. The main ....

L. Cardelli. Phase distinctions in type theory. Manuscript, 1988.


What is a Recursive Module? - Crary, Harper, Puri (1999)   (38 citations)  (Correct)

....Fst(s) and snd (s) for extracting the first and second components out of structures named by variables. We will occasionally treat these constructs as variables and allow substitution for them. The structure calculus shows an explicit phase distinction between compile time and run time expressions [9, 3]. Static expressions may be separated from dynamic ones, and static ones will never depend on dynamic ones. This ensures that programs may be typechecked without the need to execute any run time code. HMM show that higher order modules can be reduced to the simple structure calculus given here. ....

Luca Cardelli. Phase distinctions in type theory. unpublished manuscript.


Monadic Type Systems: Pure Type Systems for Impure Settings - Barthe, Hatcliff, Thiemann (1998)   (1 citation)  (Correct)

....this restriction, dependent types introduce complications. With dependent types, objects can occur in types, and thus type checking inevitably requires some notion of evaluation. This well known phenomenon has been described as a loss of distinction between phases of type checking and evaluation [8]. Our approach to handling this situation is to simply define a notion of evaluation for well typed objects resulting from cubic specifications. Specifically, we assume that typechecking (by whatever means) has already been performed. Thus, for example, evaluation never reduces type arguments to ....

L. Cardelli. Phase distinctions in type theory. Unpublished Mansucript, January 1988.


Type-Theoretic Methodology For Practical Programming Languages - Crary (1998)   (14 citations)  (Correct)

.... Gamma K c : type def = Gamma K c c Gamma K oe sig def = Gamma K oe oe 2.4 Design Issues 2.4. 1 The Phase Distinction An important decision to be made in the design of any module calculus is how to account for the phase distinction between compile time and run time expressions [16, 46, 44]. In the absence of the module calculus, it is easy to say that the evaluation of type constructors is a compile time activity and the evaluation of terms is a run time activity. However, the module system presents a quandary since modules may contain terms and type constructors may contain ....

....r Figure 3.6: Embedding Modules Proposition 3.2 If t in T and t 7 t 0 then t 0 in T . Proof Direct from Corollary 4.4. Corollary 3. 3 (Type Preservation) If K e : and [ e] 7 t then t in [ Another consequence of the soundness theorem is that the phase distinction [16, 46] is respected in K : all type expressions converge and therefore types may be computed in a compile time phase. This is expressed by Corollary 3.4: Corollary 3.4 (Phase Distinction) If K c : then there exists canonical t such that [ c] 7 t. Proof For any well formed K kind , the ....

Luca Cardelli. Phase distinctions in type theory. Unpublished manuscript, January 1988.


Compiling Polymorphism Using Intensional Type Analysis - Harper, Morrisett (1995)   (155 citations)  (Correct)

....structural induction on monotypes. These forms may be thought of as eliminatory forms for the kind Omega at the constructor and term level. The introductory forms are the constructors of kind Omega Gamma there are no introductory forms at the term level in order to preserve the phase distinction [8, 21]. At the term level typerec may be thought of as a generalization of typecase that provides for the definition of a term by induction on the structure of a monotype. At the constructor level Typerec provides a similar ability to define a constructor by induction on the 1 In general, application ....

L. Cardelli. Phase distinctions in type theory. Unpublished manuscript.


Compiling Polymorphism Using Intensional Type Analysis - Harper, Morrisett (1995)   (155 citations)  (Correct)

....range type, but our presentation is simplified greatly by restricting the dependency to the domain type. the constructor and term level. The introductory forms are the constructors of kind Omega Gamma there are no introductory forms at the term level in order to preserve the phase distinction [9, 22]. At the term level typerec may be thought of as a generalization of the typecase operation associated with the type dynamic [1] that provides for the definition of a term by induction on the structure of a monotype. At the constructor level Typerec provides a similar ability to define a ....

Luca Cardelli. Phase distinctions in type theory. unpublished manuscript.


What is a Recursive Module? - Crary, Harper, Puri (1999)   (38 citations)  (Correct)

....Fst s and Snd s for extracting the first and second components out of structures named by variables. We will occasionally treat these constructs as variables and allow substitution for them. The structure calculus shows an explicit phase distinction between compile time and run time expressions [11, 4]. Static expressions may be separated from dynamic ones, and static ones will never depend on dynamic ones. This ensures that programs may be typechecked without the need to execute any run time code. HMM show that higher order modules can be reduced to the simple structure calculus given here. ....

Luca Cardelli. Phase distinctions in type theory. Unpublished manuscript.


Programming Language Semantics in Foundational Type Theory - Crary (1998)   (1 citation)  (Correct)

....2) Proposition 2 If t 2 T and t 7 t 0 then t 0 2 T . Proof Not difficult, but outside the scope of this paper (see Crary [17] Corollary 3 (Type Preservation) If K e : and [ e] 7 t then t 2 [ Another consequence of the soundness theorem is that the phase distinction [4, 27] is respected in K : all type expressions converge and therefore types may be computed in a compile time phase. This is expressed by Corollary 4: Corollary 4 (Phase Distinction) If K c : then there exists canonical t such that [ c] 7 t. Proof For any well formed K kind , the ....

Luca Cardelli. Phase distinctions in type theory. Manuscript, January 1988.


Compiling Polymorphism Using Intensional Type - Analysis Robert Harper   (Correct)

No context found.

Luca Cardelli. Phase distinctions in type theory. unpublished manuscript.


Staged Notational Definitions - Walid Taha And   (Correct)

No context found.

Cardelli, L. Phase distinctions in type theory. (Unpublished manuscript.) Available online from http://www.luca.demon.co.uk/Bibliography.html, 1988.


Staged Notational Definitions - Walid Taha And   (Correct)

No context found.

Cardelli, L. Phase distinctions in type theory. (Unpublished manuscript.) Available online from http://www.luca.demon.co.uk/Bibliography.html, 1988.

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