71 citations found. Retrieving documents...
Luca Cardelli and John C. Mitchell. Operations on records. In C. A. Gunter and J. C. Mitchell, editors, Theoretical Aspects of ObjectOriented Programming: Types, Semantics, and Language Design, pages 295--350. The MIT Press, Cambridge, MA, 1994.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Functional Programming with Dynamic Binding - Dami (1996)   (3 citations)  (Correct)

....be concatenated, yielding another record extension. It may not be obvious why we need the notion of record extensions, instead of just concatenating two ordinary records. The reason is that this would cause very difficult problems both for implementation and for type checking, as discussed in [CardMit91] On the other hand, one could imagine to forget about ordinary records, and just use record extensions. This would be close to the record abstractions of [R emy92] However, one would then loose the very important property of subsumption: x=3, y= foo can not be used instead of x=3 in ....

....could be subsumed by records. Similarly, the current design of record operations, with a clear separation between records and record extensions , and with the possibility to use records in functional position, which in our view is more elegant and powerful that the long list of operations of [CardMit91] could never have been invented without seeing the Ntranslation. Future work will have to proceed on several fronts. First, we need to go further in exploring the interaction of dynamic binding with high level functional programming constructs. In particular, we would like to see how current ....

Luca Cardelli and John Mitchell. Operations on Records. In [GunMit94], pp 295-350. First appeared in Math. Structures in Comp. Sc., 1991, pp 3-48.


Manifest Types, Modules, and Separate Compilation - Leroy (1994)   (2 citations)  (Correct)

....longer true if signatures can appear as structure components or as functor parameters: if is a functor parameter, S with type t = cannot be expanded before typing. In this context, the unrestricted with construct seems to require a type system similar to those for polymorphic extensible records [6]. A more reasonable alternative is to restrict with to situations where the left hand side can be statically reduced to a sig . end expression. 2.4 Sharing constraints for free So far, we have seen that manifest types in toplevel position or functor result position can replace SML s ....

L. Cardelli and J. C. Mitchell. Operations on records. In Mathematical Foundations of Programming Seman- tics, volume 442 of Lecture Notes in Computer Science, pages 22-52, 1989.


Manifest Types, Modules, and Separate Compilation - Leroy (1994)   (2 citations)  (Correct)

....true if signatures can appear as structure components or as functor parameters: if S is a functor parameter, S with type t = cannot be expanded before typing. In this context, the unrestricted with construct seems to require a type system similar to those for polymorphic extensible records [6]. A more reasonable alternative is to restrict with to situations where the left hand side can be statically reduced to a sig . end expression. 2.4 Sharing constraints for free So far, we have seen that manifest types in toplevel position or functor result position can replace SML s ....

L. Cardelli and J. C. Mitchell. Operations on records. In Mathematical Foundations of Programming Semantics, volume 442 of Lecture Notes in Computer Science, pages 22-52, 1989.


A Constraint-Based Presentation and Generalization of Rows - Pottier (2003)   (6 citations)  (Correct)

.... values to labels; typical primitive operations on records are access (extracting the contents of a field) update (modifying the contents of an existing field) extension (adding a new field) restriction (removing an existing field) and concatenation (merging two existing records into a new one) [1]. Rows [16, 14] offer syntax to describe infinite families of types, indexed by labels. Rows offer random access to any single component. Furthermore, they offer uniform access to every component at once; that is, by imposing a constraint on rows, one effectively imposes a family of constraints, ....

....two kinds of types, plain types and field types. The record type constructor f g forms a plain type out of a row of field types. The constructor Pre forms a field type out of a plain type. Abs and Pre are made incomparable, because that is required to assign a sound type to record concatenation [1, 11], but they do have a common supertype field , so width subtyping is present. If we take a look ahead at the syntax of terms and at the sorting and kinding restrictions, defined in Section 2.3, we find that this ground signature gives rise to the following grammar of terms, where ranges over ....

Luca Cardelli and John Mitchell. Operations on records. In Carl A. Gunter and John C. Mitchell, editors, Theoretical Aspects of Object-Oriented Programming: Types, Semantics, and Language Design. MIT Press, 1994. URL: http://research.microsoft. com/Users/luca/Papers/Records.ps.


PICCOLA - a Small Composition Language - Achermann, Lumpe, Schneider.. (1999)   (17 citations)  (Correct)

....parameters. Besides forms, which have their analogues in many existing programming languages and systems (e.g. HTML, Visual Basic, Python) the #L calculus also incorporates polymorphic form extension, a concept that technically speaking corresponds to asymmetric record concatenation [CM94] as a basic composition operation for forms. As we will show in sections 1.4 and 1.5, both forms and polymorphic extension are the key mechanisms for extensibility, flexibility, and robustness as (i) clients and servers are freed from fixed, positional tuple based interfaces, ii) abstractions ....

Luca Cardelli and John C. Mitchell. Operations on Records. In Theoretical Aspects of Object-Oriented Programming. MIT Press, 1994.


Static Correctness of Hierarchical Procedures - Schwartzbach (1990)   (Correct)

....is enabled by the partial product aspect of the type ordering. There have been many suggestions for languages with a similar subtype polymorphism. Ours is unique in allowing truly imperative features such as assignments, subvariables, and variable parameters. Many systems rely on coercions [1,2,4,6] which have distinct disadvantages such as type loss and the update problem [2] We avoid these; for example, the procedure Proc Id(var skip end Id will be the identity on both the type and the value of any argument. The presence of variables or mutable types [1,2] have so far lead to unsafe ....

....many suggestions for languages with a similar subtype polymorphism. Ours is unique in allowing truly imperative features such as assignments, subvariables, and variable parameters. Many systems rely on coercions [1,2,4,6] which have distinct disadvantages such as type loss and the update problem [2]. We avoid these; for example, the procedure Proc Id(var skip end Id will be the identity on both the type and the value of any argument. The presence of variables or mutable types [1,2] have so far lead to unsafe type systems, unless the subtype ordering is trivialized in this case. A ....

[Article contains additional citation context not shown here]

Cardelli, L. & Mitchell, J. "Operations on Records" in Proceedings of MFPS'90, LNCS Vol 442, Springer-Verlag, 1990.


A Formalisation of Encapsulated Modification of Objects - Mens, De Volder, Mens (1996)   (Correct)

....from the paper. Syntactic Domains ObjExpr = set of all syntactic object expressions GenExpr = set of all syntactic generator expressions Ident = set of all syntactic identifiers Semantic Domains As in most denotational semantics of object oriented models presented in literature ( Cook 89] Cardelli Mitchell 89] Wegner Zdonik 88] an Object is merely an environment of methods. A Method expects an Object as argument and returns an Object after evaluation. For reasons described in [Steyaert De Meuter 95] a Generator is a function mapping a Generator onto an Object. Square brackets are used for ....

Cardelli, L. & Mitchell, J. C. - 1991 Operations on Records. Mathematical Structures in Computer Science, 1(1):3-48.


OPUS: a Calculus for Modelling Object-Oriented Concepts - Mens, al. (1994)   (1 citation)  (Correct)

....and do not call attributes in the private part. If a message corresponding to a constant method is sent to an object, the body of this method is simply returned. As a basic structure to create more complicated objects we use records, which is a common approach followed in literature (Cook, 1989) (Cardelli et al. 1989) and (Wegner et al. 1988) Objects in their most simple form have an empty private part and a public part which is a record of methods, for example [ getx=x ,gety=y I ] A more general form of objects are those containing a private part which is a record as well, e.g. getx=x ,gety=y I x=l y=2 ....

....private part which is a record as well, e.g. getx=x ,gety=y I x=l y=2 ] In the most general case, the public and private parts of an object need not be records, but can be objects themselves. This is an important advantage of our calculus over lambda calculus with records (Cardelli, 1988) and (Cardelli et al. 1989). It is essential on the one hand to model private methods, and on the other hand to have some form of binding of constant methods in different stages. In many cases it is useful to have some kind of incremental modification mechanism. The incremental modification of an expression P (parent) with ....

[Article contains additional citation context not shown here]

L. Cardelli and J. Mitchell. Operations on Records. Proceedings on Mathematical Foundations of Programming Semantics, LNCS 442, Springer-Verlag, 1989


Designing Record Systems - Sulzmann (1997)   (1 citation)  (Correct)

....record systems in a systematic way retaining type inference with principal types. That means, designing record systems becomes construction of constraint systems which model record systems. 1 Introduction Type systems for records have become a playing field for type theorists [HP91, Car84, CM89, EST95, R em95a, Jon92, Oho95, Wan88, Wan89, R em95b, R em89] One of the main motivations for record systems is that they can be used to encode object calculi [Wan89, R em95a] or module systems [Apo93, Jon96] Also, they are useful for data type declarations and in database programming [OB88] ....

....it should be possible to give a type checking algorithm. In the best case we want to have a type inference algorithm which computes principal types. On the practical side it should be possible to give an efficient compilation method. Type systems with records based on subtyping [HP91, Car84, CM89, EST95, R em95a] have problems to support record concatenation and a compilation calculus. Also, it seems that such type systems do not provide good wrappers for object oriented languages [BPF97] The concept of row variables [Wan88, Wan89, R em95b, R em89] has also some limitations. Ohori ....

Luca Cardelli and John C. Mitchell. Operations on records. In M. Main, A. Melton, M. Mislove, and David Schmidt, editors, Proceedings Mathematical Foundations of Programming Semantics, 5th International Conference, Tulane University, New Orleans, Louisiana, USA, pages 22--52. SpringerVerlag, March/April 1989. Lecture Notes in Computer Science 442.


Interfaces and Specifications for the Smalltalk-80 Collection.. - Cook (1992)   (37 citations)  (Correct)

....is extracted automatically from the Smalltalk library. An interface hierarchy is a logical organization of the interfaces of each class in a library. The interface hierarchy is a partial order that factors out shared interfaces, using the notion of conformance (or subtyping) for interfaces [Cardelli84, CM89, BHJLC86]. An algorithm for computing the interface hierarchy of a Smalltalk class library is described. When applied to the Smalltalk 80 Collection classes, the program produces a descriptive picture of the sharing of messages among classes. Even for a language like Smalltalk, which supports only single ....

....methods occur surprisingly often in the Smalltalk collection library and are a significant source of confusion in trying to understand collection behavior. 2. 2 The Protocol Hierarchy The protocol hierarchy arises from the partial order of protocols by the conformance, or subtype, relationship [Cardelli84, CM89, BHJLC86]. Interface B conforms to interface A if every object that satisfies B also satisfies A. This means that the set of objects satisfying B is a subset of the set satisfying A. However, the interface B, viewed as a set of operations, is typically larger (more specific) than the interface A. For the ....

L. Cardelli and J. C. Mitchell. "Operations on records." DEC Systems Research Center Technical Note #48, 1989.


Developments in Object-Oriented Type Systems - Schwartzbach (1994)   (5 citations)  (Correct)

.... The basic encoding is from [17, 21] The update problem is made clear in [12] Mutable types are from [18] Simpler, specialized subtyping systems are presented in [109, 88, 70, 68, 71, 2, 1, 52] Minimal calculi are proposed in [40, 92, 16] A speciale case of the update problem is tackled in [20]. Recursion and inheritance is analyzed in [33, 14, 15, 5] A calculus with covariant specialization is proposed in [41, 22, 23] Undecidability of bounded polymorphism is shown in [84] Abstract data types are employed in [86, 85] their relation to classes is discussed earlier in [31] Large ....

Luca Cardelli and John C. Mitchell. Operations on records. In Proc. Mathmatical Foundations of Programming Semantics, pages 22--52. Springer-Verlag (LNCS 442), 1989.


Methods as Pattern-Matching Functions - Barry Jay University (2004)   (Correct)

No context found.

Luca Cardelli and John C. Mitchell. Operations on records. In C. A. Gunter and J. C. Mitchell, editors, Theoretical Aspects of ObjectOriented Programming: Types, Semantics, and Language Design, pages 295--350. The MIT Press, Cambridge, MA, 1994.


Program Generation and Components - Ancona, Moggi   (Correct)

No context found.

L. Cardelli and J. C. Mitchell. Operations on records. In C. A. Gunter and J. C. Mitchell, editors, Theoretical Aspects of Object-Oriented Programming: Types, Semantics, and Language Design, pages 295--350. The MIT Press, Cambridge, MA, 1994.


On Generalized Records and Spatial Conjunction in Role Logic - Kuncak, Rinard (2004)   (Correct)

No context found.

Luca Cardelli and John C. Mitchell. Operations on records. In Theoretical Aspects of Object-Oriented Programming. The MIT Press, Cambridge, Mass., 1994.


A Formalisation of Encapsulated Modification of Objects - Mens, De Volder, Mens (1996)   (Correct)

No context found.

Cardelli, L. & Mitchell, J. C. - 1991 Operations on Records. Mathematical Structures in Computer Science, 1(1):3-48.


OPUS: a Calculus for Modelling Object-Oriented Concepts - Mens, Mens, Steyaert (1994)   (1 citation)  (Correct)

No context found.

L. Cardelli and J. Mitchell. Operations on Records. Proceedings on Mathematical Foundations of Programming Semantics, LNCS 442, Springer-Verlag, 1989


On Generalized Records and Spatial Conjunction in Role Logic - Kuncak, Rinard (2004)   (Correct)

No context found.

Luca Cardelli and John C. Mitchell. Operations on records. In Theoretical Aspects of Object-Oriented Programming. The MIT Press, Cambridge, Mass., 1994.


A Fresh Calculus for Name Management - Ancona, Moggi   (Correct)

No context found.

L. Cardelli and J. C. Mitchell. Operations on records. In C. A. Gunter and J. C. Mitchell, editors, Theoretical Aspects of Object-Oriented Programming: Types, Semantics, and Language Design, pages 295--350. The MIT Press, Cambridge, MA, 1994.


Alias Types for "environment-Aware" Computations - Damiani, al. (2003)   (Correct)

No context found.

Cardelli, L. and J. Mitchell, Operations on records, in: C. A. Gunter and J. C. Mitchell, editors, Theoretical Aspects of Object-Oriented Programming: Types, Semantics, and Language Design, Foundations of Computing Series, The MIT Press, Cambridge, MA, 1994 pp. 295--350.


A Calculus for Symbolic Names Management - Ancona, Moggi (2003)   (Correct)

No context found.

L. Cardelli and J. C. Mitchell. Operations on records. In C. A. Gunter and J. C. Mitchell, editors, Theoretical Aspects of Object-Oriented Programming: Types, Semantics, and Language Design, pages 295--350. The MIT Press, Cambridge, MA, 1994.


A Calculus for Modeling Software Components - Nierstrasz, Achermann (2002)   (Correct)

No context found.

Luca Cardelli and John C. Mitchell. Operations on records. In Carl A. Gunter and John C. Mitchell, editors, Theoretical Aspects of Object-Oriented Programming. Types, Semantics and Language Design, pages 295--350. MIT Press, 1993.


Form-based Software Composition - Lumpe, Schneider (2003)   (Correct)

No context found.

L. Cardelli and J. C. Mitchell. Operations on Records. In C. Gunter and J. C. Mitchell, editors, Theoretical Aspects of Object-Oriented Programming. MIT Press, 1994.


On Generalized Records and Spatial Conjunction in Role Logic - Kuncak, Rinard (2004)   (Correct)

No context found.

Luca Cardelli and John C. Mitchell. Operations on records. In Theoretical Aspects of Object-Oriented Programming. The MIT Press, Cambridge, Mass., 1994.


A General Framework for Hindley/Milner Type Systems with.. - Sulzmann (2000)   (7 citations)  (Correct)

No context found.

Luca Cardelli and John C. Mitchell. Operations on records. In M. Main, A. Melton, M. Mislove, and David Schmidt, editors, Proceedings Mathematical Foundations of Programming Semantics, 5th International Conference, Tulane University, New Orleans, Louisiana, USA, pages 22-52. Springer-Verlag, March/April 1989. Lecture Notes in Computer Science 442.


Naïve Type Theory - Constable (2002)   (Correct)

No context found.

Luca Cardelli and John Mitchell. Operations on records. In J. C. Mitchell C. A. Gunter, editor, Theoretical Aspects of Object-Oriented Programming, Types, Semantics and Language Design, chapter IV, pages 295--350. MIT Press, Cambridge, MA, 1994. REFERENCES 41

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