76 citations found. Retrieving documents...
Luca Cardelli. Typeful programming. Technical Report 45, DEC Systems Research Center, 1989.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

A Type-Theoretic Approach to Higher-Order Modules with Sharing - Harper, Lillibridge (1994)   (171 citations)  (Correct)

.... Type Theoretic Approach to Higher Order Modules with Sharing Robert Harper t Mark Lillibridge School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 3891 Abstract The design of a module system for constructing and main taining large programs is a difficult task that raises a number of theoretical and practical issues. A fundamental issue is the management of the flow of information between program units at compile time via the notion of an ....

....ML. Modules are treated as first class citizens, and therefore the system supports higher order modules and some object oriented This work was sponsored by the Advanced Research Projects Agency, CSTO, under the title The Fox Project: Advanced Development of Systems Software , ARPA Order No. 8313, issued by ESD AVS under Contract No. F19628 91 C 0168. IElectronic mail address: rhcs. cmu. edu. Electronic mall address: mdlcs. cmu. edu. Perm ss;on to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial ....

[Article contains additional citation context not shown here]

Luca Cardelli, James Donshue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula-3 report (revised). Technical Report 52, DEC Systems Research Center, Palo Alto, CA, November 1989.


A Type-Theoretic Approach to Higher-Order Modules with Sharing - Harper, Lillibridge (1994)   (171 citations)  (Correct)

.... 1 Introduction Modularity is an essential technique for developing and maintaining large software systems [46, 24, 36] Most modern programming languages provide some form of module system that supports the construction of large systems from a collection of separately defined program units [7, 8, 26, 32]. A fundamental problem is the management of the tension between the need to treat the components of a large system in relative isolation (for both conceptual and pragmatic reasons) and the need to combine these components into a coherent whole. In typical cases this problem is addressed by ....

Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula-3 report (revised). Technical Report 52, DEC Systems Research Center, Palo Alto, CA, November 1989.


Unchecked Exceptions can be Strictly More Powerful than Call/CC - Lillibridge (1996)   (Correct)

....abstractions (##: K.M) We know of no other proposed evaluation strategies for F# extended with non local e#ects. Not evaluating beneath type abstractions treats type instantiation (M [A] as a significant computation step, possibility including e#ects. Strategies of this type are used in Quest [3] and LEAP [21] and are directly compatible with extensions that make significant uses of types at run time [14] e.g. dynamic types [1, 3] Since polymorphic expressions are kept distinct from their instances, the anomalies that arise in implicitly polymorphic languages in the presence of ....

....type abstractions treats type instantiation (M [A] as a significant computation step, possibility including e#ects. Strategies of this type are used in Quest [3] and LEAP [21] and are directly compatible with extensions that make significant uses of types at run time [14] e.g. dynamic types [1, 3]) Since polymorphic expressions are kept distinct from their instances, the anomalies that arise in implicitly polymorphic languages in the presence of references [25] and control operators [12] do not arise. Strategies that evaluate beneath type abstractions are inspired by the operational ....

Luca Cardelli. Typeful programming. Technical Report 45, DEC Systems Research Center, 1989.


Exceptions Are Strictly More Powerful Than Call Cc - Lillibridge (1995)   (11 citations)  (Correct)

....they use call by name or call by value parameter passing and in whether or not they evaluate beneath type abstractions. Not evaluating beneath type abstractions treats type instantiation as a significant computation step, possibility including e#ects. Strategies of this type are used in Quest [3] and LEAP [14] and are directly compatible with extensions that make significant uses of types at run time [11] for example, dynamic types [1, 3] Since polymorphic expressions are kept distinct from their instances, the anomalies that arise in implicitly polymorphic languages in the presence ....

....type abstractions treats type instantiation as a significant computation step, possibility including e#ects. Strategies of this type are used in Quest [3] and LEAP [14] and are directly compatible with extensions that make significant uses of types at run time [11] for example, dynamic types [1, 3]) Since polymorphic expressions are kept distinct from their instances, the anomalies that arise in implicitly polymorphic languages in the presence of references [16] and control operators [10] do not occur. Strategies that evaluate beneath type abstractions are inspired by the operational ....

Luca Cardelli. Typeful programming. Technical Report 45, DEC Systems Research Center, 1989.


Colored Local Type Inference - Odersky, Zenger, Zenger (2001)   (10 citations)  (Correct)

....algorithm based on unification. But the resulting type system tends to become fragile and complex and the necessary encodings in user programs can be a bit roundabout. The type inference problem for F# , which combines subtyping with first class polymorphism, has been addressed by Cardelli s [Car93] greedy algorithm, which unifies type variables with their bounds, as soon as these are encountered in a subtype constraint. This usually works well in practice, but it does not admit an independent characterization of the output in a type system. Clearly closest to our work is Pierce and ....

Luca Cardelli. An implementation of F<: . Technical Report 97, DEC Systems Research Center, February 1993.


Colored Local Type Inference - Martin Odersky Christoph (2001)   (10 citations)  (Correct)

....algorithm based on unification. But the resulting type system tends to become fragile and complex and the necessary encodings in user programs can be a bit roundabout. The type inference problem for F# , which combines subtyping with first class polymorphism, has been addressed by Cardelli s [Car93] greedy algorithm, which unifies type variables with their bounds, as soon as these are encountered in a subtype constraint. This usually works well in practice, but it does not admit an independent characterization of the output in a type system. Clearly closest to our work is Pierce and ....

Luca Cardelli. An implementation of F<: . Technical Report 97, DEC Systems Research Center, February 1993.


Pict: A Programming Language Based on the Pi-Calculus - Pierce, Turner (1997)   (180 citations)  (Correct)

....these features are still experimental we will not describe them formally here. 10 3. 7 Type Inference In practice, most type annotations in Pict can be supplied automatically by the compiler, using a partial type inference algorithm similar to the one used in Cardelli s implementation of F [Car93] In fact, all type annotations are optional; the parser inserts unification variables in places where they are omitted. These unification variables are instantiated greedily during subtype checking: whenever the subtype checker encounters a constraint of the form U T or T U , where U is a ....

....the typechecker to reject some typeable programs) it is fairly easy for the programmer to predict which typing annotations can be inferred in this way. In this paper, we concentrate on the explicitly typed language, mostly ignoring issues of type inference. See Section 6 for some discussion and [Car93, Pie96] for further details. 3.8 Notation The syntax of type expressions is as follows: Type = Type Input output channel Type Output only channel Type Input only channel Id Type Type Package type [ Type . Type ] Tuple type Id Type identifier fun Id : Kind = Type Type ....

Luca Cardelli. An implementation of F!: . Research report 97, DEC Systems Research Center, February 1993.


Fickle: Dynamic Object Re-classification - Drossopoulou, Damiani.. (2001)   (15 citations)  (Correct)

....However they di er from Fickle, by dropping the requirement for a strong type system, and requiring run time tests for the presence of elds not amazing, since wide classes were primarily developed to exploit signi cant changes in objects structure to obtain a better memory usage. Modula 3 [9] supports limited change of objects behaviour, by allowing objects method suites to be determined at object creation time. Self [2] allows dynamic inheritance among prototypes, thus making type inference dicult [3] In BETA [23] nested patterns model dynamic state changes, but require dynamic ....

L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 report (revised). Technical report, DEC System Research Center, 1989.


Interlanguage Working Without Tears: Blending SML with Java - Benton, Kennedy (1999)   (13 citations)  (Correct)

....down to a subclass, with Java s ClassCastException thrown if the actual class of the object is not compatible. A safer alternative that combines downcasting with Java s instanceof is the use of : inside ML patterns. This can be used to provide a construct similar to the TYPECASE of Modula 3 [3] and other languages. Suppose that a parser was written in Java and used subclassing of a class Expr to represent different node types. Then we could traverse the parse tree using case analysis: case (expr : Expr) of ce : CondExpr = code for conditionals. ae : AssignExpr = code ....

L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 report (revised). Technical Report 52, DEC Systems Research Center, November 1989.


Nested Types - Odersky, Zenger (2001)   (4 citations)  (Correct)

....this approach tends to lead to a duplication of aspects inherent in modules and objects which often overlap. Another approach with better synergy potential is to unify the object and module worlds by identifying corresponding concepts. The most natural such identification, proposed by Cardelli[Car89] identifies modules with objects, functors with classes, and signatures with object types. However, a realization of this proposal in statically typed programming languages has remained incomplete to date. We believe the reason for this stall is that the traditional type systematic foundations of ....

Luca Cardelli. Typeful programming. Technical Report 45, DEC Systems Research Center, May 1989.


Colored Local Type Inference - Odersky, Zenger, Zenger (2001)   (10 citations)  (Correct)

....algorithm based on unification. But the resulting type system tends to become fragile and complex and the necessary encodings in user programs can be a bit roundabout. The type inference problem for F# , which combines subtyping with first class polymorphism, has been addressed by Cardelli s [Car93] greedy algorithm, which unifies type variables with their bounds, as soon as these are encountered in a subtype constraint. This usually works well in practice, but it does not admit an independent characterization of the output in a type system. Clearly closest to our work is Pierce and ....

Luca Cardelli. An implementation of F<: . Technical Report 97, DEC Systems Research Center, February 1993.


Semantic Lego - Espinosa (1995)   (6 citations)  (Correct)

....this obvious point. They do allow us to extend 91 the store; however, stores are already extensible in most languages. That is, stores map locations to values, and we can create new locations on demand. 5.4 Future work Implementation As mentioned in section A. 1, we could rewrite SL in Quest [Car89] to verify proper use of higher order types. By forming domains from expressions instead of functions, we could build abstract interpretations, translations (such as CPS) and simple compilers. We could apply the methods developed here to other semantically complex domains, such as communication ....

....of a stratified monad. For instance, we would need types Envs and Env Results such that Envs = Env Env Results (see section 4. 3) It would be a good exercise to rewrite SL in Cardelli s Quest language, which includes higher order polymorphism as well as several other advanced typing ideas [Car89], but, for the moment, we stick with Scheme. In general, the programming languages community is realizing that current type systems are inadequate; however, we should go further and question the entire basis for typed languages. In general, types are a form of specification. When we say that an ....

Luca Cardelli. Typeful programming. Technical Report 45, DEC Systems Research Center, Palo Alto, CA, May 1989.


Subtyping of Context-Free Classes - Freudig, Löwe, Neumann, Trapp (1998)   (Correct)

....post conditions of a subclass that may become true in the context of the superclass. Zaremski and Wing use a proof theoretic approach to check the conformance and the use of objects for correctness in Larch ML [36] programs [37] In object oriented languages like Simula [9] C [31] Modula 3 [4, 5], Sather( K) 30, 13] and Java [14] contra covariance (or a stronger condition) is checked only for those predicates that are computable at compile time, namely for the (static) types. This approach was formalized by Cardelli [3] or Frick et al. 10] Our question was the following: Is it ....

L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 report (revised). Technical Report 52, DEC System Research Center, Palo Alto, 1989.


Subtyping of Context-Free Classes - Freudig, Löwe, Neumann, Trapp (1998)   (Correct)

....post conditions of a subclass that may become true in the context of the superclass. Zaremski and Wing use a proof theoretic approach to check the conformance and the use of objects for correctness in Larch ML [36] programs [37] In object oriented languages like Simula [9] C [31] Modula 3 [4, 5], Sather( K) 30, 13] and Java [14] contra covariance (or a stronger condition) is checked only for those predicates that are computable at compile time, namely for the (static) types. This approach was formalized by Cardelli [3] or Frick et al. 10] Our question was the following: Is it ....

L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 report. Report 31, August 25, 1988, DEC System Research Center, Palo Alto, 1988. 2 http://i44www.info.uni-karlsruhe.de/~ karla 9


Specification Matching of Software Components - Zaremski, Wing (1996)   (19 citations)  (Correct)

....cache 0 are equal. 6.2. Subtyping A second application of specification matching is determining when one object is a subtype of another. In object oriented programming languages, an object type 2 defines a collection of objects, which consist of data (state) and methods that act on the data [Car89, Ame91, Mey88] Intuitively, a type oe is a subtype of another type if an object of type oe can be substituted for an object of type . Precise definitions of subtyping vary in the strictness of this notion of substitutability from simply requiring the methods signatures to match (signature ....

Luca Cardelli. Typeful programming. Report 45, DEC Systems Research Center, Palo Alto, CA, May 1989.


Frigate: An Object-Oriented File System for Ordinary Users - Kim, Popek (1997)   (2 citations)  (Correct)

....Recently some new operating systems extend their functionality by downloading safe modules into the operating system. The modules are made safe by restricting address references [48] or by using safe languages. An example of the latter is the SPIN operating system [5] which uses Modula 3 [7] as its extension language. With the use of the techniques mentioned above relative safety can be assured. In some cases, though, there is limited space to add extension code and thus large extensions are not possible. Unfortunately, any facility requiring development and debugging in the kernel ....

....on the SunOS 4.1.1 infrastructure of Stackable Layers. As Stackable Layers is ported to other platforms, Frigate can also be ported with only modest effort. On its current platform, the Frigate client environment could also be expanded to include other ILU languages such as C and Modula 3 [7]. Some improvements could also be made to the server structure. The most fundamental would be to allow object types to be dynamically loadable. This would allow implementations to be decomposed into a shared server executable and an application specific set of dynamically loadable ....

L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 Report (Revised) . Research Report 52, DEC Systems Research Center, Nov. 1989.


Hierarchical Modularity - Blume, Appel (1998)   (1 citation)  (Correct)

....although much less likely, there is always the potential for top level module names to cause the same problems they were supposed to solve by removing other names from the global name space. SML structure names can clash; C name space names can interfere with one another; and Modula 3 [Cardelli et al. 1988] modules may be in conflict due to an unfortunate choice of module names. Java package identifiers are designed to be globally unique, but since clients of a package must name that in their sources, it now becomes impossible to relink such a client with a different version of the same conceptual ....

Cardelli, L., Donahue, J., Glassman, L., Jordan, M., Kalsow, B., and Nelson, G. 1988. Modula-3 report. Tech. Rep. Research Report 31, DEC Systems Research Center, Palo Alto, CA.


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

No context found.

L.Cardelli, J.Donahue, L.Glassman, M.Jordan, B.Kalsow, G.Nelson: Modula-3 report (revised), Research Report n.52, DEC Systems Research Center, 1989.


Typeful Programming - Luca Cardelli Digital (1989)   (77 citations)  Self-citation (Cardelli)   (Correct)

No context found.

L.Cardelli, J.Donahue, L.Glassman, M.Jordan, B.Kalsow, G.Nelson: Modula-3 report (revised), Report #52, DEC Systems Research Center, November 1989.


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

No context found.

L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 report (revised). Research Report n.52. DEC Systems Research Center.


Typeful Programming - Cardelli (1989)   (77 citations)  Self-citation (Cardelli)   (Correct)

....which proposes an interesting way to use quantifiers for this purpose. Object orientedprogramming. The original object oriented language, Simula67 [Dahl Nygaard 66] was typed. Smalltalk [Krasner 83] abandoned typing, but the most recent object oriented languages are again typed [Stroustrup 86] Cardelli Donahue Glassman Jordan Kalsow Nelson 89] Schaffert Cooper Bullis Kilian Wilpolt 86] Wirth 87] The notion of subtyping is necessary to capture many of the fundamental notions of object oriented programming. Relational programming. There is no reason in principle why languages like Prolog [Kowalski 79] should not be typed. In fact, ....

L.Cardelli, J.Donahue, L.Glassman, M.Jordan, B.Kalsow, G.Nelson: Modula-3 report (revised), Report #52, DEC Systems Research Center, November 1989.


Operations on Records - Cardelli, Mitchell (1991)   (67 citations)  Self-citation (Cardelli)   (Correct)

No context found.

L.Cardelli, J.Donahue, L.Glassman, M.Jordan, B.Kalsow, G.Nelson: Modula-3 report (revised), Research Report n.52, DEC Systems Research Center, 1989.


The Quest Language and System - Cardelli (1994)   (3 citations)  Self-citation (Cardelli)   (Correct)

No context found.

L.Cardelli, J.Donahue, M.Jordan, B.Kalsow, G.Nelson: Modula-3 report, Report #31, DEC Systems Research Center, August 1988.


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

No context found.

Luca Cardelli. Typeful programming. Technical Report 45, DEC Systems Research Center, 1989.


More Dynamic Object Re-classification: Fickle_II - Drossopoulou, Damiani.. (2002)   (Correct)

No context found.

Cardelli, L., Donahue, J., Glassman, L., Jordan, M., Kalsow, B., and Nelson, G. 1989. Modula-3 Report (revised). Tech. rep., DEC System Research Center.

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