%% Do not edit this file directly, it is automatically generated % $Id: journal-abbrevs.bib 2 2008-12-23 22:46:05Z gary.leavens $ % Journal abbreviations for bibtex. % Others defined by bibtex are indicated by comments. % (Texlipse, doesn't seem to know about these predefined abbreviations.) @String{Addison-Wesley = "Addison-Wesley Publishing Co."} @String{ACM = "ACM"} % ACMCS = "ACM Computing Surveys" % ACTA = "Acta Informatica" @String{AFIPS = "American Federation of Information Processing Societies"} @String{ANSI = "American National Standards Institute"} @String{BSTJ = "Bell System Technical Journal"} % CACM = "Communications of the ACM" @String{CMU = "School of Computer Science, Carnegie Mellon University"} @String{DECSRC = "Digital Equipment Corporation, Systems Research Center"} @String{ENTCS = "Electronic Notes in Theoretical Computer Science"} @String{ESOP = "European Symposium on Programming"} @String{FAC = "Formal Aspects of Computing"} @String{FOCS = "Annual Symposium on Foundations of Computer Science"} % IBMJRD = "IBM Journal of Research and Development" % IBMSJ = "IBM Systems Journal" @String{IEEE = "IEEE"} @String{IEEETSE = "IEEE Transactions on Software Engineering"} % IEEESE = "IEEE Transactions on Software Engineering" % IEEETC = "IEEE Transactions on Computers" @String{IFIP = "IFIP"} % IPL = "Information Processing Letters" @String{IRIA = "IRIA"} @String{JACM = "Journal of the ACM"} @String{JCSS = "Journal of Computer and System Sciences"} @String{JOOP = "Journal of Object-Oriented Programming"} @String{JOT = "Journal of Object Technology"} @String{JSL = "The Journal of Symbolic Logic"} @String{McGraw-Hill = "McGraw-Hill Book Co."} @String{MIT = "Massachusetts Institute of Technology"} @String{MITAI = "Massachusetts Institute of Technology, Artificial Intelligence Laboratory"} @String{MITLCS = "Massachusetts Institute of Technology, Laboratory for Computer Science"} @String{MITP = "The MIT Press"} @String{North-Holland = "North-Holland Publishing Co."} @String{NY = "New York, NY"} @String{LICS = "IEEE Symposium on Logic in Computer Science"} @String{LNCS = "Lecture Notes in Computer Science"} @String{PEPM = "ACM Symposium on Partial Evaluation and Semantics-based Program Manipulation"} @String{PODS = "ACM Symposium on Principles of Database Systems"} @String{POPL = "ACM Symposium on Principles of Programming Languages"} @String{PLDI = "ACM SIGPLAN Conference on Programming Languages Design and Implementation"} @String{Prentice-Hall = "Prentice-Hall, Inc."} @String{PRG = "Oxford University, Computing Laboratory, Programming Research Group"} @String{SAS = "Static Analysis Symposium"} % SCP = "Science of Computer Programming" @String{SIAMJC = "SIAM Journal on Computing"} % SICOMP = "SIAM Journal on Computing" @String{SIGART = "ACM SIGART Newsletter"} @String{SIGCSE = "ACM SIGCSE Bulletin"} @String{SIGOPS = "ACM SIGOPS Operating Systems Review"} @String{SIGPLAN = "ACM SIGPLAN Notices"} @String{SIGSOFT = "ACM SIGSOFT Software Engineering Notes"} @String{SPandE = "Software---Practice \& Experience"} @String{SOSP = "ACM Symposium on Operating Systems Principles"} @String{STOC = "Annual ACM Symposium on Theory of Computing"} @String{SV = "Springer-Verlag"} @String{TAPOS = "Theory and Practice of Object Systems"} % TOCS = "ACM Transactions on Computer Systems" % TODS = "ACM Transactions on Database Systems" % TOOIS = "ACM Transactions on Office Information Systems" % TOPLAS = "ACM Transactions on Programming Languages and Systems" @String{TOSEM = "ACM Transactions on Software Engineering and Methodology"} % TCS = "Theoretical Computer Science" @String{Wiley = "John Wiley and Sons"} % $Id: datatypes.bib 55 2009-06-10 02:56:49Z gary.leavens $ % Type theory, abstract data types, subtyping, types in programming languages. @Unpublished{Abadi-Cardelli-Plotkin93, Author = "Mart\'{\i}n Abadi and Luca Cardelli and Gordon D. Plotkin", Title = "Types for the Scott Numerals", Month = feb, Year = 1993, Note = "Obtained from authors", Annote = "2 references." } @InCollection{Abadi-Cardelli94, Author = {Mart\'{\i}n Abadi and Luca Cardelli}, Title = "A Theory of Primitive Objects --- Untyped and First-Order Systems", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "296-320", Month = apr, Annote = "19 references." } @InProceedings{Abadi-Cardelli94b, Author = "Mart\'{\i}n Abadi and Luca Cardelli", Title = "A Semantics of Object Types", BookTitle = "Ninth Annual IEEE Symposium on Logic in Comptuer Science, Paris, France", Year = 1994, Pages = "332-341", Organization = IEEE, Address = "Los Alamitos, CA", Month = jul, Annote = "28 references." } @InProceedings{Abadi-Cardelli94c, Author = {M. Abadi and L. Cardelli}, Title = {A theory of primitive objects: second-order systems}, BookTitle = {Proc. of European Symposium on Programming}, Editor = "D. Sannella", Year = {1994}, Publisher = SV, Address = NY, Series = LNCS, Volume = 788, Pages = "1-25" } @InProceedings{Abadi-Cardelli94d, Author = "Mart\'{\i}n Abadi and Luca Cardelli", Title = "A Semantics of Object Types", BookTitle = "Ninth Annual IEEE Symposium on Logic in Computer Science, Paris, France", Year = 1994, Pages = "332-341", Organization = "IEEE", Address = "Los Alamitos, CA", Month = jul, Annote = "28 references." } @InCollection{Abadi-Cardelli95, Author = "Mart\'{\i}n Abadi and Luca Cardelli", Title = "On Subtyping and Matching", Series = LNCS, Publisher = SV, Address = NY, Editor = "Walter Olthoff", Number = 952, Booktitle = "ECOOP '95: Object-Oriented Programming 9th European Conference, Aarhus, Denmark", Year = 1995, Pages = "145-167", Annote = "16 references" } @InProceedings{Abadi-Cardelli95b, author = "M. Abadi and L. Cardelli", title = "An imperative object calculus", editor = "P. D. Mosses and M. Nielsen and M. I. Schwartzbach", series = LNCS, booktitle = "TAPSOFT'95: Theory and Practice of Software Development", publisher = SV, number = 915, year = 1995, month = may, pages = "471-485", annote = "26 references." } @Article{Abadi-Cardelli95c, author = "M. Abadi and L. Cardelli", title = "An imperative object calculus", journal = "Theory and Practice of Object Systems", volume = 1, number = 3, year = 1995, pages = "151-166" } @Book{Abadi-Cardelli96, author = "Mart\'{\i}n Abadi and Luca Cardelli", title = "A Theory of Objects", publisher = SV, year = 1996, series = "Monographs in Computer Science", address = NY, annote = "128 references." } @InProceedings{Abadi-Pierce-Plotkin89, Author = "Mart\'{i}n Abadi and Benjamin Pierce and Gordon Plotkin", Title = "Faithful Ideal Models for Recursive Polymorphic Types", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = jun, Year = 1989, Pages = "216-225", Annote = "7 references." } @TechReport{Abadi-etal89, Author = "Mart\'{\i}n Abadi and Luca Cardelli and Benjamin C. Pierce and Gordon D. Plotkin", Title = "Dynamic Typing in a Statically Typed Language", Month = jun, Year = 1990, Institution = DECSRC, Number = 47, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "A revised version appears in ACM TOPLAS, Vol 13, Num 2 (April, 1991), pages 237-268.", Annote = "34 references." } @InProceedings{Abadi-etal90, Author = "Mart\'{\i}n Abadi and Luca Cardelli and Pierre-Louis Curien and Jean-Jacques L\`{e}vy", Title = "Explicit Substitutions", BookTitle = "Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, California", Publisher = ACM, Month = jan, Year = 1990, Pages = "31-46", Note = "Also Digital Equipment Corporation, Systems Research Center, Research Report 54, February 1990", Annote = "13 references." } @Article{Abadi-etal91, Author = "Mart\'{\i}n Abadi and Luca Cardelli and Benjamin Pierce and Gordon Plotkin", Title = "Dynamic Typing in a Statically Typed Language", Journal = TOPLAS, Year = 1991, Volume = 13, Number = 2, Month = apr, Pages = "237-268", Annote = "36 references." } @TechReport{Abadi-etal93, Author = "Mart\'{\i}n Abadi and Luca Cardelli and Pierre-Louis Curien", Title = "Formal Parametric Polymorphism", Number = 109, Month = jul, Year = 1993, Institution = DECSRC, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "20 references." } @InProceedings{Abadi-etal99, author = {Mart\'{\i}n Abadi and Anindya Banerjee and Nevin Heintze and Jon G. Riecke}, title = {A Core Calculus of Dependency}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = jan, pages = {147-160}, annote = {40 references.} } @TechReport{Abadi93, Author = {Mart\'{\i}n Abadi}, Title = "Baby Modula-3 and a Theory of Objects", Month = feb, Year = 1993, Institution = DECSRC, Number = 95, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "95 references." } @Article{Abadi94, author = {Mart\'{\i}n Abadi}, title = "Baby Modula-3 and a Theory of Objects", journal = "Journal of Functional Programming", year = 1994, volume = 4, number = 2, pages = "249-283", month = apr, annote = "26 references." } @Article{Abdali-Cherry-Soiffer86, Author = "S. Kamal Abdali and Guyt W. Cherry and Neil Soiffer", Title = "A Smalltalk System for Algebraic Manipulation", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "277-283", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Parameterized classes protocol views and categories are added to Smalltalk and used to build a algebraic manipulation system. Parameterized classes are templates for parameter subclasses that are dynamically created and local to part of a program. Parameters can be functions, e.g. equal for set elements, but are usually categories. A category is a class whose instances encapsulate the operations of some view of a set of objects. Categories form a repository for generic methods. There can be many views of the same domain. One can also form views from other categories. Optional methods can be attached to a category for efficiency; if an optional method isn't supplied, a generic method is used in its place. Categories form a multigraph. Categories that extend other categories can be implemented particularly efficiently. 12 references." } @InProceedings{Abiteboul-Kanellakis-Waller90, Author = "Serge Abiteboul and Paris C. Kanellakis and Emmanuel Waller", Title = "Method Schemas (Preliminary Report)", BookTitle = "Principles of Data Base Systems, Nashville", Organization = ACM, Year = 1990, Pages = "16-27", Annote = "Method schemas are a simple model for object-oriented programming. Consistency problem is undecidable in general, but decidable for monadic and/or recursion-free method schemas. 20 references." } @TechReport{Abiteboul-etal92, Author = "Serge Abiteboul, Paris Kanellakis, Sridhar Ramaswamy and Emmanual Waller", Title = "Method Schemas", Number = "CS-92-33", Institution = "Department of Computer Science, Brown University", Month = jul, Year = 1992 } @InProceedings{Adams-Rees88, Author = "Adams and Rees", Title = "Object-oriented Programming in Scheme", Organization = ACM, BookTitle = "Conference Record of the 1988 ACM Symposium on LISP and Functional Programming, Snowbird, Utah", Year = 1988, Month = jul, Pages = "277-288" } @InProceedings{Agesen-Freund-Mitchell97, author = {Ole Agesen and Stephen N. Freund and John C. Mitchell}, title = {Adding Type Parameterization to the Java Language}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = oct, Year = 1997, organization = ACM, pages = {49-65}, annote = {22 references.} } @InCollection{Agesen-Palsberg-Schwartzbach93, Author = "Ole Agesen and Jens Palsberg and Michael I. Schwartzbach", Title = "Type Inference of SELF: Analysis of Objects with Dynamic and Multiple Inheritence", Series = LNCS, Publisher = SV, Address = NY, Editor = "Oscar M. Nierstrasz", Number = 707, BookTitle = "ECOOP '93 - Object-Oriented Programming 7th European Conference", Year = 1993, Pages = "247-267", Annote = "15 references" } @InCollection{Agesen95, Author = "Ole Agesen", Title = "The Cartesian Product Algorithm: Simple and Precise Typing of Parametric Polymorphism.", Series = LNCS, Publisher = SV, Address = NY, Editor = "Walter Olthoff", Number = 952, BookTitle = "ECOOP '95 - Object-Oriented Programming 9th European Conference", Location = "Aarhus, Denmark", Year = 1995, Pages = "2-26", Annote = "25 references" } @InProceedings{Agrawal-DeMichiel-Lindsay91, Author = "Rakesh Agrawal and Lindga G. DeMichiel and Bruce G. Lindsay", Title = "Static Type Checking of Multi-Methods", Booktitle = {OOPSLA '91: Conference proceedings on Object-oriented programming systems, languages, and applications}, Location = "Phoenix, Arizona", Editor = "Andreas Paepcke", Series = SIGPLAN, Volume = "26(11)", Publisher = ACM, Address = NY, Month = nov, Year = 1991, Pages = "113--128", Annote = "13 references." } @Article{Agrawl-Garg84, Author = "Mukul Babu Agrawal and Vijay Kumar Garg", Title = "Dimensional Analysis in Pascal", Journal = SIGPLAN, Year = 1984, Month = mar, Volume = 19, Number = 3, Pages = "7-11", Annote = "Claims dimensional analysis needs extensions to type structure and makes a proposal for extensions to Pascal. 3 references." } @InProceedings{Aiken-Wimmers-Lakshman94, Author = {Alexander Aiken and Edward L. Wimmers and T. K. Lakshman}, Title = "Soft Typing with Conditional Types", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = jan, Year = 1994, Organization = ACM, Address = NY, Pages = "163-173", Annote = "23 references." } @InCollection{Ait-Kaci-Garrigue93, Author = "H. Ait-Kaci and J. Garrigue", Title = "Label-Selective $\lambda$-Calculus Syntax and Confluence", BookTitle = "Foundations of Software Technology and Theorectical Computer Science", Publisher = SV, Year = 1993, Editor = "R. K. Shyamasundar", Series = LNCS, Volume = 761, Pages = "24-40", Month = oct, Annote = "13 references." } @TechReport{Ait-Kaci83, Author = "H. Ait-Kaci", Title = "Outline of a Calculus of Type Subsumptions", Number = "CIS-83-34", Institution = "Department of Computer and Information Science, The Moore School of Electrical Engineering, University of Pennsylvania", Month = dec, Year = 1983 } @PhDThesis{Ait-Kaci84, Author = "Hassan Ait-Kaci", Title = "A Lattice Theoretic Approach to Computation Based on a Calculus of Partially Ordered Type Structures", School = "University of Pennsylvania", Year = 1984, Annote = "76 references." } @InProceedings{Ait-Kaci85a, Author = "Hassan Ait-Kaci", Title = "Logic and Inheritance", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersberg Beach, Fla.", Organization = ACM, Month = jan, Year = 1986, Pages = "219-228", Annote = "11 References" } @InProceedings{Ait-Kaci85b, Author = {Hassan A\"{\i}t-Kaci}, Title = "Integrating Data Type Inheritance Into Logic Programming", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "391-405", Annote = "12 references." } @Article{Ait-Kaci86, Author = {Hassan A\"{\i}t-Kaci}, Title = "An Algebraic Semantics Approach to the Effective Resolution of Type Equations", Journal = TCS, Volume = 45, Pages = "293-351", Year = 1986 } @InProceedings{Alagic97, author = {Suad Alagi\'{c}}, title = {The {ODMG} Object Model: Does it Make Sense?}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = oct, Year = 1997, organization = ACM, pages = {253-270}, annote = {28 references.} } @Article{Albano-Cardelli-Orsini85, Author = "Antonio Albano and Luca Cardelli and Renzo Orsini", Title = "Galileo: A Strongly-Typed, Interactive Conceptual Language", Journal = TODS, Year = 1985, Month = jun, Volume = 10, Number = 2, Pages = "230-260", Annote = "Flexible type system to model database structure and semantic integrity constraints, type hierarchies for specialization, modules and abstraction mechanisms. Support for conceptual modeling. Galileo's classes define relation-like objects. Transactions. 34 references." } @InProceedings{Albano-etal85, Author = "A. Albano and F. Giannotti and R. Orsini and D. Pedreschi", Title = "The Type System of Galileo", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "191-208", Annote = "11 references." } @InProceedings{Albano-etal91, Author = "Antonio Albano and Giorgio Ghelli and Renzo Orsini", Title = "Objects for a database programming language", BookTitle = "Database Programming languages; bulk types and persistent data", Month = aug, Year = 1991, Organization = "Proceedings of the Third Intl Workshop", Publisher = "Morgan-Kaufmann Publishers Inc", Address = "San Mateo, CA", Pages = "236-253" } @Article{Albano83, Author = "Antonio Albano", Title = "Type Hierarchies and Semantic Data Models", Journal = SIGPLAN, Year = 1983, Month = jun, Volume = 18, Number = 6, Pages = "178-186", Note = "Proceedings of the SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco, CA", Annote = "Two kinds of type constructors in Galileo, inherited as in Smalltalk or completely defined as in CLU. Type hierarchy with multiple inheritance. 34 references." } @InProceedings{Aldrich-Kostadinov-Chambers02, author = {Jonathan Aldrich and Valentin Kostadinov and Craig Chambers}, title = {Alias Annotations for Program Understanding}, BookTitle = "Proceedings of the 17th ACM conference on Object-oriented programming, systems, languages, and applications", Series = SIGPLAN, Volume = "37(11)", Month = nov, Year = 2002, organization = ACM, pages = {311--330}, annote = {Many references.} } @Unpublished{Aldrich03, author = {Jonathan Aldrich}, title = {Open Modules: Reconciling Extensibility and Information Hiding}, note = {Available from \url{http://www-2.cs.cmu.edu/~aldrich/aosd/}}, year = {2003}, annote = {14 references} } @InCollection{Allen87, Author = "Stuart Allen", Title = "A Non-Type-Theoretic Definition of Martin-Lof's Types", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "215-221", Month = jun, Annote = "3 references." } @InCollection{Almeida97, author = {Paulo Sergio Almeida}, title = {Balloon Types: Controlling Sharing of State in Data Types}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = jun, pages = {32-59}, annote = {The ability to share state is a first-class property of a data type. 33 references.} } @Article{Althoff81, Author = "Althoff, Jr., James C.", Journal = "BYTE", Title = "Building Data Structures in the Smalltalk-80 System", Year = 1981, Pages = "230-278", Volume = 6, Number = 8, Month = aug, Annote = "Discusses list structures and the utility of inheritance in building them. 4 references." } @TechReport{Amadio-Cardelli90, Author = "Roberto M. Amadio and Luca Cardelli", Title = "Subtyping Recursive Types", Institution = "Digital Systems Research Center", Year = 1990, Number = "62", Address = "Palo Alto, Ca 94301", Month = aug, Note = "See also the 1991 POPL proceedings.", Annote = "27 references." } @Article{Amadio-Cardelli93, Author = "Roberto M. Amadio and Luca Cardelli", Title = "Subtyping Recursive Types", Journal = TOPLAS, Year = 1993, Volume = 15, Number = 4, Month = sep, Pages = "575-631", Annote = "29 references." } @Article{America-Linden90, Author = "Pierre America and Frank van der Linden", Title = "A Parallel Object-Oriented Language with Inheritance and Subtyping", Journal = SIGPLAN, Volume = 25, Number = 10, Month = oct, Year = 1990, Pages = "161-168", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "26 references." } @InProceedings{America87, Author = "Pierre America", Title = "Inheritance and Subtyping in a Parallel Object-Oriented Language", BookTitle = "ECOOP '87, European Conference on Object-Oriented Programming, Paris, France", Editor = "Jean Bezivin and others", Publisher = SV, Address = NY, Month = jun, Year = 1987, Pages = "234-242", Note = "Lecture Notes in Computer Science, volume 276", Annote = "Behavioral subtyping. One definition of subtypes based on implications between invariants of the types. Contravariant rule as necessary. 18 references." } @TechReport{America89, Author = "Pierre America", Title = "A Behavioural Approach to Subtyping in Object-Oriented Programming Languages", Institution = "Philips Research Laboratories", Address = "Nederlandse Philips Bedrijven B. V.", Number = 443, Month = jan, Year = 1989, Note = "Superseded by a later version in April 1989" } @TechReport{America89b, Author = "Pierre America", Title = "A Behavioural Approach to Subtyping in Object-Oriented Programming Languages", Institution = "Philips Research Laboratories", Address = "Nederlandse Philips Bedrijven B. V.", Number = 443, Month = apr, Year = 1989, Note = "Revised from the January 1989 version", Annote = "Definition of subtypes for mutable types based on implications between pre- and post-contitions mediated by a transfer function. Distinction between subtyping and inheritance. 11 references." } @InCollection{America91, Author = "Pierre America", Title = "Designing an Object-Oriented Programming Language with Behavioural Subtyping", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "60-90", Address = NY, URL = {http://dx.doi.org/10.1007/BFb0019440}, Annote = "Design and other aspects of POOL. 16 references." } @InCollection{Amtoft-etal97, author = "T. Amtoft and F. Nielson and H. R. Nielson and J. Ammann", title = "Polymorphic Subtyping for Effect Analysis: The Dynamic Semantics", booktitle = "Proceedings of the Fifth {LOMAPS} Workshop", publisher = SV, year = "1997", editor = "M. Dam", number = "1192", series = "Lecture Notes in Computer Science", } @InProceedings{Ancona-Lagorio-Zucca02, author = {Davide Ancona and Giovanni Lagorio and Elena Zucca}, title = {A Formal Framework for {Java} Separate Compilation}, booktitle = {ECOOP 2002---Object-Oriented Programming, 16th European Conference, M{\'a}laga, Spain, Proceedings}, pages = {609-635}, year = 2002, editor = {Boris Magnusson}, volume = 2374, series = LNCS, address = {Berlin}, month = jun, publisher = SV, annote = {19 references.} } @InProceedings{Andreae-etal06, author = {Chris Andreae and James Noble and Shane Markstrum and Todd Millstein}, title = {A Framework for Implementing Pluggable Type Systems}, booktitle = {{OOPSLA 2006:} Proceedings of the 21st International Conference on Object-oriented Programming Systems, Languages, and Applications}, year = 2006, publisher = ACM, address = NY, month = oct, series = SIGPLAN, location = {Portland, OR}, pages = {57-74} } @InProceedings{Aponte93, Author = "Maria Virginia Aponte", Title = "Extending Record Typing to Type Parametric Modules with Sharing", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = jan, Pages = "465-478", Annote = "13 references" } @Article{Appelbe-Ravn84, Author = "William F. Appelbe and A. P. Ravn", Title = "Encapsulation Constructs in Systems Programming Languages", Journal = TOPLAS, Year = 1984, Month = apr, Volume = 6, Number = 2, Pages = "129-158", Annote = "Comparative discussion of encapsulation constructs. Extensions to Ada. Need for both packages and abstract data types as separate mechanisms. Type checking and multiple implementations. 16 references." } @InProceedings{Arbib-Manes80, Author = "M. Arbib and E. Manes", Title = "The Greatest Fixpoint Approach to Data Types", Address = "Dortmund, West Germany", BookTitle = "Proc. 3rd Workshop Meeting on Categorical and Algebraic Methods in Computer Science and System Theory", Year = 1980 } @Article{Arbib-Manes82, Author = "Michael A. Arbib and Ernest G. Manes", Title = "Parameterized Data Types do not Need Highly Constrained Parameters", Journal = "Information and Control", Month = feb, Year = 1982, Volume = 52, Number = 2, Pages = "139-158", Annote = "Focuses on greatest fixpoints. 16 references." } @InCollection{Astesiano-Costa81, Author = "E. Astesiano and G. Costa", Title = "Reducing Types in Applicative Languages with Structured Data", BookTitle = "Formalization of Programming Concepts, International Colloquium, Peniscola, Spain, April 1981", Publisher = SV, Address = NY, Series = LNCS, Volume = 107, Editor = "J. Diaz and I. Ramos", Year = 1981, Pages = "210-217", Annote = "Hierarchy of reducing types and insensitivity property for the non-reducing types. 11 references." } @Book{Atkinson-Buneman-Morrison88, Author = "Malcolm P. Atkinson and Peter Buneman and Ronald Morrison", Title = "Data Types and Persistence", Publisher = SV, Address = NY, Year = 1988, Annote = "Proceedings of the Appin Workshop, 1985. Hundreds of references." } @Article{Atkinson-Buneman87, Author = "Malcolm P. Atkinson and O. Peter Buneman", Title = "Types and Persistence in Database Programming Languages", Journal = ACMCS, Volume = 19, Number = 2, Month = jun, Year = 1987, Pages = "105-190", Annote = "Focus on the problem of providing a uniform type system and mechanisms for data to persist. Polymorphism, type inheritance, object identity, and choice of structures to represent sets of similar values. 163 references." } @TechReport{Atkinson-Chisholm-Cockshott81, Author = "Malcolm Atkinson and Ken Chisholm and Paul Cockshott", Title = "PS-Algol: an Algol with a Persistent Heap", Institution = "Department of Computer Science, University of Edinburgh", Year = 1981, Month = dec, Type = "Internal Report", Number = "CSR-94-81", Annote = "Persistent heap. 22 references." } @InProceedings{Atkinson-Morrison85, Author = "Malcolm P. Atkinson and Ronald Morrison", Title = "Types, Bindings and Parameters in a Persistent Environment", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "1-24", Annote = "29 references." } @Article{Atkinson-Morrison85a, Author = "Malcolm P. Atkinson and Ronald Morrison", Title = "Procedures as Persistent Data Objects", Journal = TOPLAS, Volume = 7, Number = 4, Month = oct, Year = 1985, Pages = "539-559", Annote = "Persistent first-class procedures are sufficient to implement data protection, views, abstract data types, and separate compilation. 32 references." } @InCollection{Atkinson-etal84, Author = "M. P. Atkinson and P. Bailey and W. P. Cockshott and K. J. Chisholm and R. Morrison", Title = "Progress with Persistent Programming", BookTitle = "Databases - Role and Structure: An Advanced Course", Editor = "P. M. Stocker, P. M. D. Gray and M. P. Atkinson.", Publisher = "Cambridge University Press", Address = "Cambridge, England", Year = 1984, Pages = "245-310", Annote = "Database programming languages and issues in languages and databases. 93 references." } @TechReport{Atkinson-etal84b, Author = "M. P. Atkinson and W. P. Cockshott and P. Bailey and K. J. Chisholm and R. Morrison", Title = "PS-Algol Reference Manual", Institution = "Departments of Computer Science, Universities of Edinburgh and St. Andrews", Year = 1984, Month = jan, Number = "PPR-4-83", Annote = "Persistence, first class procedures. 14 references." } @Article{Atkinson86, Author = "Robert G. Atkinson", Title = "Hurricane: An Optimizing Compiler for Smalltalk", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "151-158", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Type declaration and inference as applied to compiling efficient code for Smalltalk-80. Programmers must tell the system the class or set of classes to which each instance or class variable will belong. 9 references." } @InProceedings{Augustsson99, author = {Lennart Augustsson}, title = {Cayenne --- a language with dependent types}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = jun, Year = 1999, organization = ACM, pages = {239-250}, annote = {A Haskell variant with dependent types. 27 references.} } @InCollection{Backhouse-Hoogendijk93, Author = "Roland Backhouse and Paul Hoogendijk", Title = "Elements of a relational theory of datatypes", BookTitle = "Formal Program Development", Publisher = SV, Year = 1993, Editor = "Bernhard Moeller and Helmut Partsch and Steve Schuman", Series = LNCS, Volume = 755, Pages = "7-42", Address = NY, Month = jul, Annote = "27 references." } @Article{Backhouse-etal89, Author = "Roland Backhouse and Paul Chisholm and Grant Malcolm and Erik Saaman", Title = "Do-it-Yourself Type Theory", Journal = "Formal Aspects of Computing", Volume = 1, Number = 1, Month = "January -- March", Year = 1989, Pages = "19-84", Annote = {Martin-L\"{o}f's type theory as a basis for program development. 62 references.} } @InCollection{Backhouse89, Author = "R. C. Backhouse", Title = "Constructive Type Theory -- An Introduction", Booktitle = "Constructive Methods in Computing Science", Series = "NATO ASI Series", Volume = "F55", Editor = "Manfred Broy", Publisher = SV, Address = NY, Pages = "9-60", Year = 1989, Annote = "Martin-Lof style type theory. 21 references." } @Article{Bailes87, Author = "Paul A. Bailes", Title = "G: a functional language with generic abstract data types", Journal = "Computer Languages", Volume = 12, Number = 2, Month = aug, Year = 1987, Pages = "69-94" } @Article{Bakel92, Author = "Steffan van Bakel", Title = "Complete restrictions of the intersection type discipline", Journal = TCS, Year = 1992, Month = aug, Volume = 102, Number = 1, Pages = "135-163" } @Article{Bakel95, Author = "Steffan van Bakel", Title = "Intersection Type Assignment Systems", Journal = TCS, Volume = 151, Number = 2, Year = 1995, Pages = "385-435" } @Article{Bar-David92, Author = "Tsvi Bar-David", Title = "Practical Consequences of Formal Definitions of Inheritance", Journal = JOOP, Year = 1992, Volume = 5, Number = 4, Month = "Jul/Aug", Pages = "43-49", Annote = "5 references." } @Article{Barendregt-Coppo-Dezani-Ciancaglini83, Author = "Henk Barendregt and Mario Coppo and Mariangiola Dezani-Ciancaglini", Title = "A Filter Lambda Model and the Completeness of Type Assignment", Journal = JSL, Volume = 48, Number = 4, Month = dec, Year = 1983, Pages = "931-940", Annote = "Extends syntax and semantics of Curry types so that filters in the resulting type structure form a domain. 12 references." } @InCollection{Barendregt-Hemerik90, Author = "Henk Barendregt and Kees Hemerik", Title = "Types in Lambda Calculi and Programming Languages", BookTitle = "ESOP '90 3rd European Symposium on Programming, Copenhagen, Denmark", Month = may, Year = 1990, Pages = "1-35", Editor = "N. Jones", Publisher = SV, Address = NY, Series = LNCS, Volume = 432, Annote = "42 references." } @Article{Barendregt91, Author = "Henk Barendregt", Title = "Introduction to generalized type systems", Journal = "Journal of Functional Programming", Year = 1991, Volume = 1, Number = 2, Month = apr, Pages = "125-154", Annote = "42 references." } @Article{Barendsen-Smetsers96, title = "Uniqueness typing for functional languages with graph rewriting semantics", author = "Erik Barendsen and Sjaak Smetsers", pages = "579-612", journal = "Mathematical Structures in Computer Science", month = dec, year = 1996, volume = 6, number = 6, annote = "Full technical presentation of the (polymorphic) uniqueness type derivation system in natural deduction style." } @PhDThesis{Baroody78, Author = "Baroody, Jr., Anthony James", Title = "The Evaluation of Abstract Data Types as an Implementation Tool for Database Management Systems", School = "University of Wisconsin - Madison", Year = 1978 } @TechReport{Baumgartner-Russo93, Author = "Gerald Baumgartner and Vincent F. Russo", Title = "Signatures: A C++ Extension for Type Abstraction and Subtype Polymorphism", Year = "1993", Month = "September", Number = "CSD-TR-93-059", Institution = "Department of Computer Science, Purdue University ", Annote = "No references." } @Article{Baumgartner-Russo97, Author = "Gerald Baumgartner and Vincent F. Russo", Title = "Implementing Signatures for {C++}", journal = TOPLAS, year = 1997, volume = 19, number = 1, month = jan, pages = {153-187}, annote = {Structual subtyping for C++. 26 references.} } @Article{Beaven-Stansifer93, Author = "Mike Beaven and Ryan Stansifer", Title = "Explaining Type Errors in Polymorphic Languages", Journal = "ACM Letters on Programming Languages and Systems", Year = 1993, Volume = 2, Number = "1-4", Month = "March-December", Pages = "17-30", Annote = "9 references." } @InProceedings{Bell-Bellegarde-Hook97, author = {Jeffrey M. Bell and Fran\c{c}oise Bellegarde and James Hook}, title = {Type-driven Defunctionalization}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = aug, Year = 1997, organization = ACM, pages = {25-37}, annote = {Turning higher-order functions into function with data as arguments in a way that preserves typability. 13 references.} } @TechReport{Bennett82, Author = "John K. Bennett", Title = "A Comparison of Four Object-Oriented Systems", Year = "1982", Number = "82-11-03", Institution = "Department of Computer Science, University of Washington", Annote = "64 references." } @Article{Benton-Bierma-DePaiva98, author = {P. N. Benton and G. M. Bierma and V. C. V. De Paiva}, title = {Computational types from a logical perspective}, journal = {Journal of Functional Programming}, year = 1998, volume = 8, number = 2, month = mar, pages = {177-193}, annote = {26 references.} } @InCollection{Bergstra-Tucker80, Author = "J. A. Bergstra and J. V. Tucker", Title = "A Characterization of Computable Data Types by Means of a Finite, Equational Specification Method", BookTitle = "Automata, Languages and Programming, Seventh Colloquium, Noordwijkerhout", Publisher = SV, Address = NY, Series = LNCS, Volume = 85, Editor = "J. W. de Bakker and J. van Leeuwen", Year = 1980, Pages = "76-90", Annote = "Algebraic characterization of the computable data types and data structures. 11 references." } @InCollection{Bert-Soler81, Author = "Didier Bert and Roger Soler", Title = "About Data Type Genericity", BookTitle = "Formalization of Programming Concepts, International Colloquium, Peniscola, Spain, April 1981", Publisher = SV, Address = NY, Series = LNCS, Volume = 107, Editor = "J. Diaz and I. Ramos", Year = 1981, Pages = "231-243", Annote = "Extends Strachey-Scott model categorically to give semantics to abstract data types. 21 references." } @InCollection{Bertino-Guerrini95, Author = "Elisa Bertino and Biovanna Guerrini", Title = "Objects with Multiple Most Specific Classes", Series = LNCS, Publisher = SV, Address = NY, Editor = "Walter Olthoff", Number = 952, Booktitle = "ECOOP '95 - Object-Oriented Programming 9th European Conference", Location = "Aarhus, Denmark", Pages = "102-126", Year = 1995, Annote = "16 references" } @TechReport{Bieman-Baker88, Author = "James M. Bieman and Albert L. Baker", Title = "Assertions in Executable Specifications: an Approach Using Dynamic Typing (Extended Abstract)", Institution = "Department of Computer Science, Iowa State University", Year = 1988, Address = "Ames, Iowa", Number = "88-20" } @InProceedings{Biswas95, Author = {Sandip K. Biswas}, Title = "Higher-Order Functors with Transparent Signatures", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = jan, Year = 1995, Organization = ACM, Address = NY, Pages = "154-163", Annote = "Functors in ML. 11 references." } @TechReport{Black-Hutchinson90, Author = "Andrew P. Black and Norman C. Hutchinson", Title = "Typechecking Polymorphism in Emerald", Institution = "Department of Computer Science; The University of Arizona", Year = 1990, Number = "TR 90-34", Address = "Tucson, AZ 85721", Month = dec, Annote = "Only checks syntactic part of substitutability condition. Contravariant rules. Proof of safety sketeched. Distinguishes between conformity (for assignments, parameters), and matching for checking type parameters against requirements. 13 references." } @TechReport{Black-Hutchinson91, Author = "Andrew P. Black and Norman Hutchinson", Title = "Typechecking Polymorphism in Emerald", Institution = "Digital Equipment Corporation, Cambridge Research Lab", Year = 1991, Number = "CRL 91/1 (Revised)", Address = "Cambridge, Mass.", Month = jul, Annote = "13 references." } @Article{Black-Palsberg93, Author = {Andrew Black and Jens Palsberg}, Title = {Foundations of Object-Oriented Languages: Workshop Report}, Journal = SIGPLAN, Year = 1994, Volume = 29, Number = 3, Month = mar, Pages = "3-11", Note = {The bibliography was truncated in the published version. Obtain the full report by anonymous ftp from {\tt crl.dec.com} in {\tt pub/DEC/sigplan94.ps.Z}.} } @Book{Blair-etal91, Editor = "Gordon Blair and John Gallagher and David Hutchison and Doug Shepherd", Title = "Object-Oriented Languages, Systems and Applications", Publisher = "Pitman Publishing", Year = 1991, Address = "London", Note = "ISBN 0-273-03132-5", Annote = "Excellent advanced introduction to object-oriented languages. Good framework for describing systems. Many recent references." } @Article{Bloom-Zdonik87, Author = "Toby Bloom and Stanley Zdonik", Title = "Issues in the Design of Object-Oriented Database Programming Languages", Journal = SIGPLAN, Volume = 22, Number = 12, Month = dec, Year = 1987, Pages = "441-451", Note = "OOPSLA '87 Conference Proceedings, Norman Meyrowitz (editor), October 1987, Orlando, Florida.", Annote = "36 references." } @Article{Blum-Parisi-Presicce83, Author = "Edward K. Blum and Fancesco Parisi-Presicce", Title = "Implementation of Data Types by Algebraic Methods", Journal = "Theoretical Computer Science", Volume = 27, Number = 2, Month = oct, Year = 1983, Pages = "304-330", Annote = "Theoretical treatment. 45 references." } @InProceedings{Bobrow-Stefik82, Author = "D. G. Bobrow and M. J. Stefik", Title = "Loops--Data and Object Oriented Programming for Interlisp", BookTitle = "Discussion Papers European Conference on AI, Orsay, France", Organization = "?", Month = jul, Year = 1982 } @TechReport{Bobrow-etal85, Author = "D. G. Bobrow and K. Kahn and G. Kiczales and L. Masinter and M. Stefik and F. Zdybel", Title = "CommonLoops: Merging Common Lisp and Object-oriented Programming", Institution = "Xerox Palo Alto Research Center: Intelligent Systems Laboratory", Number = "ISL-85-8", Month = aug, Year = 1985 } @Article{Bobrow-etal86, Author = "Daniel G. Bobrow and Kenneth Kahn and George Kiczales and Larry Masinter and Mark Stefik and Frank Zdybel", Title = "CommonLoops: Merging Lisp and Object-Oriented Programming", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "17-29", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "CommonLoops integrates functions and generic invocation by providing syntax that is the same as a function call for generic calls. Method lookup can be based on the class of more than one argument. The ``most specific'' method is called if there is a conflict, determined by the leftmost type specifiers which differ; this can be redefined by users of meta-objects. Multi-methods can use type specifier information to access the slots (instance variables) of arguments to the method. Default methods versus functions. Meta-objects allow CommonLoops to implement most other inheritance and generic invocation mechanisms, and allows them to be combined; CommonLoops thus has an extensible inheritance mechanism. Behavior can be specified for individual objects. Method combination based on run-super uses Lisp as the combination language. Meta-classes determine how multiple inheritance conflicts are resolved for instance variables and how component classes are ordered. Inheritance of instance variables can be overridden in a subclass. Discussion of implementation techniques. Comparision with Loops, Smalltalk-80, and new Flavors. 16 references." } @Unpublished{Bobrow-etal87, Author = "Daniel G. Bobrow and Linda G. DeMichiel and Richard P. Gabriel and Sonya Keene and Gregor Kiczales and David A. Moon", Title = "Common Lisp Object System Specification", Year = 1987, Number = "87-002", Note = "Draft Standard", Annote = "Standard programmer interface for object-oriented programming in Common Lisp. Largely based on Common Loops." } @TechReport{Boehm-Demers-Donahue80, Author = "H. Boehm and A. Demers and J. Donahue", Title = "An Informal Description of Russell", Institution = "Department of Computer Science, Cornell University", Year = 1980, Month = oct, Number = "TR 80-430", Annote = "Stack-based language with few built-in types but powerful combining forms. Has closures and type constructing operations for forming new data types. Types treated as values. Substitution principle insures that syntactically identical denotations evaluate to the same value." } @TechReport{Boehm-Demers-Donahue85, Author = "Hans-Juergen Boehm and Alan Demers and James Donahue", Title = "A Programmer's Introduction to Russell", Institution = "Department of Computer Science, Rice University", Year = 1985, Month = mar, Number = "COMP TR85-16", Annote = "11 references." } @Article{Boehm-Demers-Donahue86, Author = "Hans-J. Boehm and Alan Demers and James Donahue", Title = "Letter to the editor", Journal = SIGPLAN, Volume = 21, Number = 1, Month = jan, Year = 1986, Pages = "17-18", Annote = "Discussion of Russell in response to Harland, et al. Notes the following type checking problem for dynamic type checking systems that have functional types: how to check the assignment to a variable that is supposed to hold functions that return prime integers. 4 references." } @Article{Boehm-Demers86, Author = "Hans-Juergen Boehm and Alan Demers", Title = "Implementing Russell", Journal = SIGPLAN, Volume = 21, Number = 7, Month = jul, Year = 1986, Pages = "186-195", Note = "Proceedings of the SIGPLAN '86 Symposium on Compiler Construction, Palo Alto, California, June 25-27, 1986.", Annote = "Discussion of the type inference done in the Russell compiler and separate compilation. 26 references." } @PhDThesis{Boehm83, Author = "H. Boehm", Title = "A Logic for the Russell Programming Language", School = "Cornell University", Year = 1983, Note = "To appear as a University of Washington technical report." } @Article{Boehm89, Author = "Hans-J. Boehm", Title = "Type Inference in the Presence of Type Abstraction", Journal = SIGPLAN, Year = 1989, Volume = 24, Number = 7, Month = jul, Pages = "192-206", Note = "Proceedings of the SIGPLAN '89 Conference on Programming Language Design and Implementation, Portland, Oregon, June", Annote = "32 references." } @InProceedings{Bonniot03, author = {Daniel Bonniot}, title = {Using kinds to type partially-polymorphic methods}, booktitle = {Electronic Notes in Theoretical Computer Science}, year = {2003}, editor = {Gilles Barthe and Peter Thiemann}, volume = {75}, publisher = {Elsevier}, address = NY, } @InCollection{Bono-Patel-Shmatikov99, author = {Viviana Bono and Amit Patel and Vitaly Shmatikov}, title = {A Core Calculus of Classes and Mixins}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = jun, pages = {43-66}, annote = {45 references.} } @InProceedings{Borning-Ingalls82a, Author = "Alan H. Borning and Daniel H. H. Ingalls", Title = "A Type Declaration and Inference System for Smalltalk", BookTitle = "Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico", Organization = ACM, Month = jan, Year = 1982, Pages = "133-141", Note = "Also Washington University Department of Computer Science, TR-81-08-02a.", Annote = "14 references." } @InProceedings{Borning-Ingalls82b, Author = "Alan H. Borning and Daniel H. H. Ingalls", Title = "Multiple Inheritance in Smalltalk-80", BookTitle = "Proceedings of the National Conference on Artificial Intelligence", Organization = "American Association for Artificial Intelligence", Pages = "234-237", Year = 1982, Note = "Also Univ. of Washington Tech. Rep. 82-06-02.", Annote = "Motivation for multiple inheritance is to avoid duplication of code when one class implements the methods of two or more classes. For example, the class transcript implements the protocols of both windows and writestreams. Classes may have any number of superclasses but any class is always an instance of just one class, thus its rep is inherited from just one class. It is an error if a message name is inherited from more than one superclass. Multiple inheritance makes the need for pools of semi-global variables go away. 10 references." } @Article{Borning81, Author = "Alan H. Borning", Title = "The Programming Language Aspects of ThingLab, A Constraint-Oriented Simulation Laboratory", Journal = TOPLAS, Volume = 3, Number = 4, Month = oct, Pages = "353-387", Year = 1981, Annote = "Uses constraints instead of types. ThingLab is a graphical simulation laboratory built on Smalltalk. 17 references." } @InProceedings{Bourdoncle-Merz97, title = "Type-Checking Higher-Order Polymorphic Multi-Methods", author = "Fran{\c{c}}ois Bourdoncle and Stephan Merz", pages = "302--315", booktitle = {POPL '97: Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, year = 1997, publisher = ACM, address = NY, annote = "41 references." } @Article{Boute80, Author = "Raymond T. Boute", Title = "Simplifying Ada by Removing Limitations", Journal = SIGPLAN, Volume = 15, Number = 2, Month = feb, Pages = "17-29", Year = 1980, Annote = "Argues for type variables, against name equivalence. Ideas of Stoy, etc. Views type correctness as static verification that type manipulations are correct, not that all types are known at compile time. 15 references." } @InProceedings{Boyapati-Lee-Rinard02, author = {Chandrasekhar Boyapati and Robert Lee and Martin Rinard}, title = {Ownership types for safe programming: preventing data races and deadlocks}, booktitle = {Proceedings of the 17th ACM conference on Object-oriented programming, systems, languages, and applications}, Series = SIGPLAN, Volume = "37(11)", Month = nov, Year = 2002, organization = ACM, pages = {211--230}, annote = {48 references.} } @Article{Boyd83, Author = "Stowe Boyd", Title = "Free and Bound Generics: Two Techniques for Abstract Data Types in Modular C", Journal = SIGPLAN, Volume = 19, Number = 3, Month = mar, Year = 1983, Pages = "12-20", Annote = "Distinguishes general versions of a data type from specific ones. Trade-offs in efficiency. Automatic conversion between free and bound generics. 15 references." } @InProceedings{Boyland-Castagna97, Author = {John Boyland and Giuseppe Castagna}, Title = {Parasitic Methods: Implementation of Multi-Methods for {Java}}, booktitle = {OOPSLA '97: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, editor = {A. Michael Berman}, Location = "Atlanta, Georgia", Year = 1997, month = oct, Pages = "66-76", Series = SIGPLAN, publisher = ACM, address = NY, volume = "32(10)", annote = "A way to add multimethods to single dispatch languages, like Java. 15 references." } @InProceedings{Boyland-Noble-Retert01, author = {John Boyland and James Noble and William Retert}, title = {Capabilities for Sharing}, booktitle = {ECOOP 2001 --- Object-Oriented Programming: 15th European Conference, Budapest, Hungary}, pages = {1-27}, year = 2001, editor = {Jorgen Lindskov Knudsen}, volume = 2072, series = LNCS, address = {Berlin}, month = jun, publisher = SV, annote = {42 references.} } @article{Boyland00, author = {John Boyland}, title = {Alias burying: Unique variables without destructive reads}, journal = {Software---Practice and Experience}, year = 2001, Volume = 31, Number = 6, Pages = "533-553", Month = may, } @Article{Bracha-Griswold93, Author = "Gilad Bracha and David Griswold", Title = "Strongtalk: Typechecking Smalltalk in a Production Environment", Journal = SIGPLAN, Volume = 28, Number = 10, Month = oct, Year = 1993, Pages = "215-230", Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Annote = "Type checking for Smalltalk. 26 references." } @TechReport{Bracha-Lindstrom91, Author = "Gilad Bracha and Gary Lindstrom", Title = "Modularity Meets Inheritance", Institution = "Department of Computer Science, University of Utah", Year = 1991, Number = "UUCS-91-017", Address = "Salt Lake City, Utah", Month = oct, Annote = "33 references." } @InProceedings{Bracha-etal98, Author = "Gilad Bracha and Martin Odersky and David Stoutamire and Philip Wadler", Title = "Making the Future Safe for the Past: Adding Genericity to the {Java} Programming Language", BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = oct, Year = 1998, Pages = "183-200", Annote = "The GJ language. 24 references." } @InCollection{Breazu-Tannen-Meyer87, Author = "Breazu-Tannen-Meyer", Title = "Polymorphism is Conservative over Simple Types", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "7-17", Month = jun, Annote = "24 references." } @InProceedings{Brosgol77, Author = "B. M. Brosgol", Title = "Some Issues in Data Types and Type Checking", Pages = "102-130", BookTitle = "Design and Implementation of Programming Languages", Publisher = SV, Address = NY, Year = 1977, Editor = "J. H. Williams and D. A. Fischer", Annote = "Implementation issues for data types, concentrating on the tradeoffs involved and interactions of features. 34 references." } @InProceedings{Bruce-Cardelli-Pierce96, author = "Kim B. Bruce and Luca Cardelli and Benjamin C. Pierce", title = "Comparing Object Encodings", booktitle = "Invited lecture at Third Workshop on Foundations of Object Oriented Languages (FOOL 3)", year = 1996, month = jul, note = "Available electronically through {\tt http://www.cs.williams.edu/\discretionary{}{}{}$\sim$kim/\discretionary{}{}{}FOOL/\discretionary{}{}{}Abstracts.html}", } @Article{Bruce-Cardelli-Pierce99, author = "Kim B. Bruce and Luca Cardelli and Benjamin C. Pierce", title = "Comparing Object Encodings", journal = "Information and Computation", year = 1999, month = nov, volume = 155, number = "1/2", pages = "108-133" } @InCollection{Bruce-Crabtree-Kanapathy93, Author = "Kim B. Bruce and Jonathan Crabtree and Gerald Kanapathy", Title = "An Operational Semantics for TOOPLE: A Statically-Typed Object-Oriented Programming Language", BookTitle = "Mathematical Foundations of Programming Semantics 9th International Conference, New Orleans, LA, USA, Proceedings", Publisher = SV, Year = 1993, Editor = "S. Brookes and M. Main and A. Melton and M. Mislove and D. Schmidt", Series = LNCS, Volume = 802, Pages = "603-626", Address = NY, Month = apr, Annote = "25 references." } @Article{Bruce-DiCosmo-Longo92, Author = "K. Bruce and R. Di Cosmo and G. Longo", Title = "Provable isomorphisms of Types", Journal = "Mathematical Structures in Computer Science", Volume = 2, Number = 2, Year = "1992", Pages = "231-247" } @Unpublished{Bruce-Gent93, Author = "Kim B. Bruce and Robert van Gent", Title = "{TOIL}: Imperative Object Oriented languages can be type-safe too", Year = 1993, Note = "Obtained by annonymous ftp from angus.cs.williams.edu", Annote = "No references" } @InProceedings{Bruce-Longo88, Author = "Kim B. Bruce and Giuseppe Longo", Title = "A Modest Model of Records, Inheritance, and Bounded Quantification", BookTitle = "Third Annual Symposium on Logic in Computer Science", Pages = "38-51", Publisher = IEEE, Month = jul, Year = 1988, Editor = "Y. Gurevich" } @Article{Bruce-Longo90, Author = "K. Bruce and G. Longo", Title = "A modest model of records, inheritance and bounded quantification", Journal = "Information and Computation", Year = 1990, Volume = 87, Number = "1/2", Pages = "196-240" } @InProceedings{Bruce-Mitchell92, Author = "Kim Bruce and John C. Mitchell", Title = "{PER} models of subtyping, recursive types and higher-order polymorphism", BookTitle = "Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", Year = 1992, Pages = "316-327", Organization = ACM, Month = jan, Annote = "34 references." } @InCollection{Bruce-Petersen-Fiech97, author = {Kim B. Bruce and Leaf Petersen and Adrian Fiech}, title = {Subtyping is Not a Good ``Match'' for Object-Oriented Languages}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = jun, pages = {104-127}, annote = {26 references.} } @InCollection{Bruce-Riecke88, Author = "Kim B. Bruce and Jon G. Riecke", Title = "The Semantics of Miranda's Algebraic Types", BookTitle = "Mathematical Foundations of Programming Language Semantics 3rd Workshop, Tulane University, New Orleans, Lousiana, USA, April 1987", Editor = "M. Main and A. Melton and M. Mislove and D. Schmidt", Series = LNCS, Volume = 298, Publisher = SV, Address = NY, Year = 1988, Pages = "455-475", Annote = "20 references." } @Unpublished{Bruce-Schuett-vanGent94, Author = "Kim B. Bruce and Angela Schuett and Robert van Gent", Title = "A type-safe polymorphic object-oriented language", Note = "Obtain by anonymous ftp from cs.williams.edu in pub/kim/PolyTOIL.dvi", Month = jul, Year = 1994 } @InCollection{Bruce-Schuett-vanGent95, Author = "Kim B. Bruce and Angela Schuett and Robert van Gent", Title = "A type-safe polymorphic object-oriented language", Series = LNCS, Publisher = SV, Address = NY, Editor = "Walter Olthoff", Number = 952, Booktitle = "ECOOP '95 - Object-Oriented Programming 9th European Conference", Pages = "27-51", Year = 1995, Annote = "27 references." } @Article{Bruce-Wegner86, Author = "Kim B. Bruce and Peter Wegner", Title = "An Algebraic Model of Subtypes in Object-Oriented Languages (Draft)", Journal = SIGPLAN, Volume = 21, Number = 10, Month = oct, Year = 1986, Annote = "A type T1 is a subtype of T2 iff there is a coercer function from T1 to T2 that preserves the structure of the types. 13 references." } @Unpublished{Bruce-Wegner87, Author = "Kim B. Bruce and Peter Wegner", Title = "Algebraic and Lambda Calculus Models of Subtype and Inheritance (Extended Abstract)", Year = 1987, Note = "Working paper?", Annote = "Uses order sorted algebras for coercers. 13 references." } @InCollection{Bruce-Wegner90, Author = "Kim B. Bruce and Peter Wegner", Title = "An Algebraic Model of Subtype and Inheritance", BookTitle = "Advances in Database Programming Languages", Editor = "Francois Ban\c{c}ilhon and Peter Buneman", Pages = "75-96", Month = aug, Publisher = "Addison-Wesley", Address = "Reading, Mass.", Year = 1990, Annote = "Uses order sorted algebras for coercers. 7 references." } @Article{Bruce-etal93, Author = "Kim B. Bruce and Jon Crabtree and Thomas P. Murtagh and Robert van Gent and Allyn Dimock and Robert Muller", Title = "Safe and decidable type checking in an object-oriented language", Journal = SIGPLAN, Volume = 28, Number = 10, Month = oct, Year = 1993, Pages = "29-46", Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Annote = "Type checking inheritance in TOOPLE. 24 references." } @Article{Bruce-etal95, Author = "Kim Bruce and Luca Cardelli and Giuseppe Castagna and The Hopkins Object Group and Gary T. Leavens and Benjamin Pierce", Title = "On Binary Methods", Journal = "Theory and Practice of Object Systems", Publisher = "John, Wiley and Sons, Inc.", Year = 1995, Address = NY, Pages = "221-242", Volume = 1, Number = 3, Annote = "53 references." } @TechReport{Bruce-etal95a, Author = "Kim Bruce and Luca Cardelli and Giuseppe Castagna and The Hopkins Object Group and Gary T. Leavens and Benjamin Pierce", Title = "On Binary Methods", Year = 1995, Month = dec, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "95-08a", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR95-08/TR.ps.Z", Note = "Appears in {\it Theory and Practice of Object Systems}. Volume 1, Number 3. Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu" } @Book{Bruce02, author = "Kim B. Bruce", title = "Foundations of Object-Oriented Languages: Types and Semantics", publisher = "The MIT Press", address = "Cambridge, MA", year = "2002", annote = "Many references." } @TechReport{Bruce92, Author = "Bruce, K.", Title = "A paradigmatic object-oriented programming language: design, static typing and semantics", Institution = "Williams College", Number = "CS-92-01, revised", Note = "To appear in Journal of Functional Programming", Year = "1993" } @InProceedings{Bruce93, Author = "Bruce, K.", Title = "Safe Type Checking in a Statically Typed Object-Oriented Programming Language", BookTitle = "Proc. ACM Symp. on Principles of Programming Languages", Year = "1993", Pages = "285-298" } @Article{Bruce94, Author = {K. B. Bruce}, Title = {A Paradigmatic Object-Oriented Programming Language: Design, Static Typing and Semantics}, Journal = "Journal of Functional Programming", Volume = 4, Number = 2, Month = apr, Year = 1994, Pages = "127-206" } @Article{Budd91b, Author = "Timothy A. Budd", Title = "Generalized arithmetic in C++", Journal = JOOP, Year = 1991, Volume = 3, Number = 6, Month = feb, Pages = "11-22", Annote = "4 references." } @InProceedings{Buechi-Weck98, author = {Martin B\"{u}chi and Wolfgang Weck}, title = {Compound Types for {Java}}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = oct, Year = 1998, organization = ACM, pages = {362-373}, annote = {36 references.} } @InCollection{Buneman84, Author = "Peter Buneman", Title = "Can We Reconcile Programming Languages and Databases?", BookTitle = "Databases - Role and Structure: An Advanced Course", Editor = "P. M. Stocker, P. M. D. Gray and M. P. Atkinson.", Publisher = "Cambridge University Press", Address = "Cambridge, England", Year = 1984, Pages = "225-243", Annote = "The problems of integrating programming languages and databases. The basic problem is a mismatch of data types. 33 references." } @InProceedings{Buneman85, Author = "Peter Buneman", Title = "Data Types for Data Base Programming", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "295-307", Annote = "Deriving records, indexes and sets from a single type: a partial function. 18 references." } @TechReport{Burstall-Lampson84, Author = "R. Burstall and B. Lampson", Title = "A Kernel Language for Modules and Abstract Data Types", Institution = DECSRC, Month = sep, Year = 1984, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "An version of this appeared in G. Kahn, D. B. MacQueen and G. Plotkin (eds.), Semantics of Data Types: International Symposium, Sophia-Antipolis, France, June, 1984, Springer-Verlag LNCS Volume 173, pages 1-50.", Annote = "Pebble and its details. Pebble treats types as values and declarations as types. Dependent product types correspond to existential types and dependent arrow types correspond to universal types. 20 references." } @InProceedings{Burstall84, Author = "Rod Burstall", Title = "Programming with Modules as Typed Functional Programming", BookTitle = "Fifth Generation Computing Systems 1984", Month = nov, Year = 1984, Pages = "103-112", Publisher = North-Holland, Address = NY, Annote = "Explains the motivation for the type system of Pebble and its details. Pebble treats types as values and declarations as types. Dependent product types correspond to existential types and dependent arrow types correspond to universal types. 30 references." } @Article{Burton90, Author = "F. Warren Burton", Title = "Type Extension Through Polymorphism", Journal = TOPLAS, Volume = 12, Number = 1, Month = jan, Year = 1990, Pages = "135-138", Annote = "One can get a function that accepts subtypes of a given record type by allowing for the extension at design time: having a type parameter for the missing fields of a tuple. 7 references." } @Article{Butterworth-Otis-Stein91, Author = "Paul Butterworth and Allen Otis and Jacob Stein", Title = "The GemStone Object Database Management System", Journal = CACM, Year = 1991, Volume = 34, Number = 10, Month = oct, Pages = "64-77", Annote = "11 references." } @TechReport{Canning-Hill-Olthoff88, Author = "Peter Canning and Walter L. Hill and Walter Olthoff", Title = "Towards a Kernel Language for Object-Oriented Programming", Number = "STL-88-21", Institution = "Software Technology Laboratory, Hewlett-Packard Laboratories", Address = "Palo Alto, Calif.", Month = sep, Year = 1988, Annote = "28 references." } @InProceedings{Canning-etal89a, Author = "Peter Canning and William Cook and Walter Hill and John Mitchell and Walter Olthoff", Title = "F-Bounded Polymorphism for Object-Oriented Programming", BookTitle = "Fourth International Conference on Functional Programming and Computer Architecture", Month = sep, Year = 1989, Organization = ACM, Note = "Also technical report STL-89-5, from Software Technology Laboratory, Hewlett-Packard Laboratories" } @Article{Canning-etal89b, Author = "Peter Canning and William Cook and Walter Hill and Walter Olthoff", Title = "Interfaces for Strongly-Typed Object-Oriented Programming", Journal = SIGPLAN, Volume = 24, Number = 10, Month = oct, Year = 1989, Pages = "457-467", Note = "OOPSLA '89 Conference Proceedings, Norman Meyerowitz (editor), October 1989, New Orleans, Louisiana. Also technical report STL-89-6 (revision 1), from Software Technology Laboratory, Hewlett-Packard Laboratories", Annote = "33 references." } @TechReport{Cardelli-Leroy90, Author = "Luca Cardelli and Xavier Leroy", Title = "Abstract Types and the Dot Notation", Institution = DECSRC, Month = mar, Year = 1990, Number = 56, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "16 references." } @TechReport{Cardelli-Longo90a, Author = "Luca Cardelli and Giuseppe Longo", Title = "A Semantic Basis for Quest", Month = feb, Year = 1990, Institution = DECSRC, Number = 55, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "Concentrates on modeling quantifiers and subtyping. 43 references." } @InProceedings{Cardelli-Longo90b, Author = "Luca Cardelli and Giuseppe Longo", Title = "A Semantic Basis for Quest", BookTitle = "Proceedings of the 1990 ACM Conference on LISP and Functional Programming, Nice, France", Organization = ACM, Month = jun, Year = 1990, Pages = "30-43", Note = "Extended abstract of DEC SRC technical report 55", Annote = "Concentrates on modeling quantifiers and subtyping. 43 references." } @InProceedings{Cardelli-MacQueen85, Author = "Luca Cardelli and David MacQueen", Title = "Persistence and Type Abstraction", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "?", Annote = "8 references." } @InCollection{Cardelli-Mitchell89a, Author = "Luca Cardelli and John C. Mitchell", Title = "Operations on Records (Summary)", BookTitle = "Mathematical Foundations of Programming Semantics, 5th International Conference, Tulane University", Editor = "M. Main and A. Melton and M. Mislove and D. Schmidt", Month = mar, Year = 1989, Publisher = SV, Address = NY, Series = LNCS, Volume = 442, Pages = "22-52", Annote = "25 references." } @TechReport{Cardelli-Mitchell89b, Author = "Luca Cardelli and John C. Mitchell", Title = "Operations on Records", Month = aug, Year = 1989, Institution = DECSRC, Number = 48, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "25 references." } @Article{Cardelli-Wegner85, Author = "Luca Cardelli and Peter Wegner", Title = "On Understanding Types, Data Abstraction and Polymorphism", Journal = ACMCS, Volume = 17, Number = 4, Month = dec, Year = 1985, Pages = "471-522", Annote = "Model of typed, polymorphic programming languages. Existential and bounded quantification. Lambda calculus based model of type systems. The language Fun. 44 references." } @InProceedings{Cardelli-etal89a, Author = "Luca Cardelli and Jim Donahue and Mick Jordan and Bill Kalsow and Greg Nelson", Title = "The Modula-3 Type System", Organization = ACM, BookTitle = "Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = jan, Year = 1989, Pages = "202-212", Annote = "Includes subtypes. Strong arguments for structural subtyping and structural type equivalence rules. 15 references." } @TechReport{Cardelli-etal91, Author = "Luca Cardelli and Simone Martini and John C. Mitchell and Andre Scedrov", Title = "An Extension of System F with Subtyping", Institution = DECSRC, Year = 1991, Number = 80, Month = dec, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Extended abstract in Theoretical Aspects of Computer Software, T. Ito and A. R. Meyer (editors), LNCS Vol 526. To appear in Information and Control.", Annote = "26 references." } @Article{Cardelli-etal94, Author = "Luca Cardelli and Simone Martini and John C. Mitchell and Andre Scedrov", Title = "An Extension of System F with Subtyping", journal = "Information and Computation", year = 1994, volume = 109, number = "1/2", pages = "4-56", month = "Feb" } @Article{Cardelli83, Author = "Luca Cardelli", Title = "ML under Unix", Journal = "Polymorphism: The ML/LCF/Hope Newsletter", Volume = "I", Number = 3, Month = dec, Year = 1983, Annote = "3 references." } @InCollection{Cardelli84a, Author = "Luca Cardelli", Title = "A Semantics of Multiple Inheritance", BookTitle = "Semantics of Data Types: International Symposium, Sophia-Antipolis, France", Publisher = SV, Address = NY, Editor = "G. Kahn, D. B. MacQueen and G. Plotkin", Series = LNCS, Volume = 173, Month = jun, Year = 1984, Pages = "51-66", Note = "A revised version of this paper appears in {\em Information and Computation}, volume 76, numbers 2/3, pages 138--164, February/March 1988.", Annote = "18 references." } @InCollection{Cardelli84b, Author = "Luca Cardelli", Title = "Amber", BookTitle = "Combinators and functional programming languages : Thirteenth Spring School of the LITP, Val d'Ajol, France, May 6-10, 1985", Year = 1986, Publisher = SV, Volume = 242, Series = LNCS, Editor = "Guy Cousineau and Pierre-Louis Curien, and Bernard Robinet", Number = "Also AT\&T Bell Laboratories Technical Memorandum TM 11271-840924-10" } @TechReport{Cardelli86, Author = "Luca Cardelli", Title = "A Polymorphic $\lambda$-calculus with Type:Type", Institution = DECSRC, Number = 10, Month = may, Year = 1986, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "34 references." } @incollection{Cardelli86a, author = "L. Cardelli", title = "The Amber Machine", booktitle = "Combinators and Functional Programming Languages", publisher = SV, address = "Berlin", editor = "G. Cousineau and P.-L. Curien and B. Robinet", pages = "48-70", year = 1986, Annote = "An intermediate language for compiling, in the tradition of the SECD Machine, specialized for the Amber Language." } @Article{Cardelli87, Author = "Luca Cardelli", Title = "Basic Polymorphic Typechecking", Journal = "Science of Computer Programming", Volume = 8, Number = 2, Month = apr, Year = 1987, Pages = "147-172" } @InProceedings{Cardelli88, Author = "Luca Cardelli", Title = "Structural Subtyping and the Notion of Power Type", BookTitle = "Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, Calif.", Organization = ACM, Month = jan, Year = 1988, Pages = "70-79", Annote = "Structural subtyping rules. Power types are the types of all subtypes; they allow bounded quantification. His ``abstract types'' are simply dependent product types. 14 references." } @Article{Cardelli88b, Author = "Luca Cardelli", Title = "A Semantics of Multiple Inheritance", Journal = "Information and Computation", Volume = 76, Number = "2/3", Month = "February/March", Year = 1988, Pages = "138-164", Annote = "A revised version of the paper that appeared in the 1984 Semantics of Data Types Symposium, LNCS 173, pages 51--66. 20 references." } @InCollection{Cardelli88c, Author = "Luca Cardelli", Title = "Typechecking Dependent Types and Subtypes", BookTitle = "Foundations of Logic and Functional Programming, Workshop Proceedings, Trento, Italy, (Dec. 1986)", Editor = "M. Boscarol and L. Carlucci Aiello and G. Levi", Series = LNCS, Volume = 306, Pages = "45-57", Year = 1988, Publisher = SV, Annote = "Type system based on dependent types. Sketch of some type checking techniques. 13 references." } @TechReport{Cardelli89, Author = "Luca Cardelli", Title = "Typeful Programming", Month = may, Year = 1989, Institution = DECSRC, Number = 45, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "A revised version published in {\em Formal Description of Programming Concepts}, E.J. Neuhold and M. Paul (eds.), (Springer-Verlag 1991).", Annote = "Discussion of type checking in general. The language Quest." } @InCollection{Cardelli91, Author = "Luca Cardelli", Title = "Typeful Programming", BookTitle = "Formal Description of Programming Concepts", Publisher = SV, Year = 1991, Editor = "E. J. Neuhold and M. Paul", Series = "IFIP State-of-the-Art Reports", Pages = "431-507", Address = NY, Annote = "ISBN 0-387-53961-1. 52 references." } @TechReport{Cardelli92a, Author = "Luca Cardelli", Title = "Extensible Records in a Pure Calculus of Subtyping", Month = jan, Year = 1992, Institution = DECSRC, Number = 81, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "Calculus of second-order extensible records. 21 references." } @Unpublished{Cardelli92b, Author = "Luca Cardelli", Title = "Typed Foundations of Object-oriented Programming", Note = "POPL '92 Tutorial", Annote = "30 references.", Month = jan, Year = 1992 } @TechReport{Cardelli93, Author = "Luca Cardelli", Title = "An Implementation of F$_{<:}$", Institution = DECSRC, Year = 1993, Number = 97, Address = "130 Lytton Avenue, Palo Alto, California 94301", Month = feb, Note = "Order from src-report@src.dec.com", Annote = "16 references." } @InProceedings{Cardelli97, author = {Luca Cardelli}, title = {Program Fragments, Linking, and Modularization}, booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France}, year = 1997, organization = ACM, publisher = ACM, address = NY, month = jan, pages = {266-277-}, annote = {Separate compilation and linking. 21 references.} } @InCollection{Cardone-Coppo90, Author = "Felice Cardone and Mario Coppo", Title = "Two Extension of Curry's Type Inference System", BookTitle = "Logic and Computer Science", Publisher = "Academic Press", Year = 1990, Editor = "P. Odifreddi", Series = "APIC Series", Volume = 31, Pages = "19-75", Address = NY, Annote = "Recursive types and intersection types. 12 references." } @Article{Cardone-Coppo91, Author = "Felice Cardone and MarioCoppo", Title = "Type Inference with Recursive Types: Syntax and Semantics", Journal = "Information and Computation", Year = 1991, Volume = 92, Number = 1, Month = may, Pages = "48-80" } @Article{Cardone91, Author = "Felice Cardone", Title = "Recursive Types for Fun", Journal = TCS, Year = 1991, Volume = 83, Number = 1, Month = jun, Pages = "29-56" } @InCollection{Cardone92, Author = "Felice Cardone", Title = "An Algebraic Approach to the Interpretation of Recursive Types", BookTitle = "CAAP '92, 17th Colloquium on Trees in Algebra and Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Jean-Claude Raoult", Series = LNCS, Address = NY, Volume = 581, Pages = "66-85", Annote = "26 references" } @TechReport{Carnese84, Author = "Daniel J. Carnese", Title = "Multiple Inheritance in Contemporary Programming Languages", Year = 1984, Institution = MITLCS, Number = "TR-328", Month = sep, Annote = "Explains the mechanisms for multiple inheritance in the Flavors, Traits, Smalltalk and Loops mechanisms. 117 references." } @Article{Cartwright-Fagan91, Author = "Robert Cartwright and Mike Fagan", Title = "Soft Typing", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 6, Month = jun, Pages = "278-292", Note = "Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation (Toronto, Canada)", Annote = "Generalization of static and dynamic typing. Type checker inserts run-time checks into suspect programs. 25 references. " } @Article{Cartwright-Felleisen96, author = {Robert Cartwright and Matthias Felleisen}, title = "Program Verification Through Soft Typing", journal = ACMCS, volume = 28, number = 2, pages = "349-351", month = jun, year = 1996, annote = "6 references." } @InProceedings{Cartwright-Steele98, Author = "Robert Cartwright and Guy L. {Steele Jr.}", Title = "Compatible Genericity with Run-time Types for the {Java} Programming Language", BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = oct, Year = 1998, Pages = "201-215", Annote = "8 references." } @InCollection{Caseau-Perron93, Author = "Yves Caseau and PLaurent Perron", Title = "Attaching Second-Order Types to Methods in an Object-Oriented Language", Journal = LNCS, Publisher = SV, Address = NY, Editor = "Oscar M. Nierstrasz", Number = 707, Booktitle = "ECOOP '93 - Object-Oriented Programming 7th European Conference", Year = 1993, Pages = "142-160", Annote = "30 references" } @Article{Caseau93, Author = "Yves Caseau", Title = "Efficient Handling of Multiple Inheritance Hierarchies", Journal = SIGPLAN, Volume = 28, Number = 10, Month = oct, Year = 1993, Pages = "271-287", Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Annote = "20 references." } @InProceedings{Castagna-Ghelli-Longo92, Author = "Giuseppe Castagna and Giorgio Ghelli and Giuseppe Longo", Title = "A Calculus for Overloaded Functions with Subtyping", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "182-192", Organization = ACM, Month = jun, Note = "To appear in {\it Information and Computation}.", Annote = "23 references." } @InProceedings{Castagna-Ghelli-Longo93, Author = {G. Castagna and G. Ghelli and G. Longo}, Title = {A semantics for $\lambda$\&-{\em early}: a calculus with overloading and early binding}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J. F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {107-123}, Address = {Utrecht, The Netherlands}, Month = mar, Note = {TLCA'93} } @article{Castagna-Ghelli-Longo95, title = {A Calculus for Overloaded Functions with Subtyping}, author = {Giuseppe Castagna and Giorgio Ghelli and Giuseppe Longo}, pages = {115--135}, journal = "Information and Computation", month = feb, year = 1995, volume = 117, number = 1, URL = {ftp://theory.lcs.mit.edu/pub/iandc/iandc.bib}, annote = "A preliminary version appeared in {\em ACM Conference on LISP and Functional Programming\/}, June 1992 (pp.\ 182--192)" } @Article{Castagna-Leavens95, author = "Giuseppe Castagna and Gary T. Leavens", title = "Foundations of Object-Oriented Languages (2nd Workshop report)", journal = SIGPLAN, year = 1995, volume = 30, number = 2, pages = "5-11", month = feb, annote = "21 references." } @InProceedings{Castagna-Pierce94, Author = {Giuseppe Castagna and Benjamin C. Pierce}, Title = "Decideable Bounded Quantification", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = jan, Year = 1994, Organization = ACM, Address = NY, Pages = "151-162", Annote = "25 references." } @InCollection{Castagna93, Author = "G. Castagna", Title = "A Meta-Language for Typed Object-Oriented Languages", BookTitle = "Foundations of Software Technology and Theoretical Computer Science", Publisher = SV, Year = 1993, Editor = "R. K. Shyamasundar", Series = LNCS, Volume = 761, Pages = "52-71", Month = oct, Annote = "10 references." } @InProceedings{Castagna93b, Author = {G. Castagna}, Title = {${F}_{\leq}^{\&}$ : integrating parametric and "ad hoc" second order polymorphism}, BookTitle = {Proc.\ of the 4th International Workshop on Database Programming Languages}, Year = {1993}, Publisher = SV, Address = {New York City}, Series = {Workshops in Computing}, Month = sep, Note = {To appear} } @TechReport{Castagna94, Author = {G. Castagna}, Title = {Covariance and contravariance: conflict without a cause}, Institution = {LIENS}, Year = {1994}, Number = {liens-94-18}, Month = oct, Note = {Available by anonymous ftp from {\tt ftp.ens.fr} in file {\tt /pub/dmi/users/castagna/covariance.dvi.Z}. To appear in ACM TOPLAS, volume 17, number 3, March 1995.} } @Article{Castagna95, Author = {Giuseppe Castagna}, Title = {Covariance and contravariance: conflict without a cause}, Journal = TOPLAS , Year = 1995, Volume = 17, Number = 3, Pages = {431-447} } @Article{Castagna95b, Author = "Giuseppe Castagna", Title = "A Meta-Language for Typed Object-Oriented Languages", Journal = TCS, Volume = 151, Number = 2, Pages = "297-352", Publisher = "Elsevier Science", Month = nov, Year = 1995 } @Article{Castagna96, Author = {Giuseppe Castagna}, Title = "Integration of Parametric and ``ad hoc'' Second Order Polymorphism in a Calculus with Subtyping", Journal = "Formal Aspects of Computing", Year = 1996, Volume = 8, Number = 3, Pages = "247-293", Annote = "38 references." } @Book{Castagna97, author = {Giuseppe Castagna}, title = {Object-Oriented Programming: A Unified Foundation}, publisher = {Birkhauser}, year = 1997, series = {Progress in Theoretical Computer Science}, address = {Boston}, annote = {Many references.} } @inproceedings{Chambers-Chen99, author = {Craig Chambers and Weimin Chen}, title = {Efficient Multiple and Predicate Dispatching}, pages = "238--255", booktitle = {OOPSLA '99: Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, editor = {A. Michael Berman}, year = 1999, volume = {34(10)}, series = SIGPLAN, Address = NY, location = {Denver, CO}, month = {November}, publisher = ACM, } @InProceedings{Chambers-Leavens94, Author = "Craig Chambers and Gary T. Leavens", Title = "Typechecking and Modules for Multi-Methods", BookTitle = "OOPSLA '94 Conference Proceedings", Series = SIGPLAN, Volume = "29(10)", Month = oct, Year = 1994, Pages = "1-15", Annote = "Over 47 references.", URL = {http://doi.acm.org/10.1145/191080.191083} } @TechReport{Chambers-Leavens94c, Author = "Craig Chambers and Gary T. Leavens", Title = "Typechecking and Modules for Multi-Methods", Institution = "Department of Computer Science, Iowa State University", Year = 1994, Number = "94-03a", Address = "226 Atanasoff Hall, Ames, Iowa 50011", Month = aug, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR94-03/TR.ps.Z", Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu. Also University of Washington Department of Computer Science and Engineering TR number 94-03-01. A shorter version appears in the {\em OOPSLA '94 Conference Proceedings}, pages 1--15.", Annote = "Over 47 references." } @TechReport{Chambers-Leavens95, Author = "Craig Chambers and Gary T. Leavens", Title = "Typechecking and Modules for Multi-Methods", Institution = "Department of Computer Science, Iowa State University", Year = 1995, Number = "95-19", Address = "226 Atanasoff Hall, Ames, Iowa 50011", Month = aug, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR95-19/TR.ps.Z", Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu. Also University of Washington Department of Computer Science and Engineering TR number 95-08-05. To appear in {\em ACM TOPLAS}.", Annote = "Over 47 references." } @Article{Chambers-Leavens95b, author = "Craig Chambers and Gary T. Leavens", title = "Typechecking and Modules for Multimethods", journal = TOPLAS, year = 1995, volume = 17, number = 6, pages = "805-843", annote = "56 references.", URL = "http://doi.acm.org/10.1145/218570.218571" } @InProceedings{Chambers-Leavens96, Author = "Craig Chambers and Gary T. Leavens", Title = "{BeCecil}, A Core Object-Oriented Language with Block Structure and Multimethods: Semantics and Typing", booktitle = {The Fourth International Workshop on Foundations of Object-Oriented Languages, {FOOL 4}, Paris, France}, Year = 1996, Month = dec, note = {The proceedings are on-line at the URL http://www.cs.williams.edu/\verb|~|kim/FOOL/FOOL4.html}, annote = {Many references.}, URL = "http://www.cs.indiana.edu/hyplan/pierce/fool/chambers.ps.gz" } @TechReport{Chambers-Leavens97, Author = "Craig Chambers and Gary T. Leavens", Title = "{BeCecil}, A Core Object-Oriented Language with Block Structure and Multimethods: Semantics and Typing", Institution = "Department of Computer Science, Iowa State University", Year = 1997, Number = "96-17a", Address = "226 Atanasoff Hall, Ames, Iowa 50011", Month = apr, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR96-17/TR.ps.gz", Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu. Also University of Washington Department of Computer Science and Engineering TR number UW-CSE-96-12-02.", Annote = "Many references." } @Article{Chambers-Ungar-Lee89, Author = "Craig Chambers and David Ungar and Elgin Lee", Title = "An Efficient Implementation of {Self}, a Dynamically-Typed Object-Oriented Language Based on Prototyypes", Journal = SIGPLAN, Volume = 24, Number = 10, Month = oct, Year = 1989, Pages = "49-70", Note = "OOPSLA '89 Conference Proceedings, Norman Meyerowitz (editor), October 1989, New Orleans, Louisiana.", Annote = "34 references." } @Article{Chambers-Ungar90, Author = "Craig Chambers and David Ungar", Title = "Iterative Type Analysis and Extended Message Splitting: Optimizing Dynamically-Typed Object-Oriented Programs", Journal = SIGPLAN, Volume = 25, Number = 6, Month = jun, Year = 1990, Pages = "150-164", Note = "Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, White Plains, NY", Annote = "24 references." } @InProceedings{Chen-Hudak-Odersky92, Author = "Kung Chen and Paul Hudak and Martin Odersky", Title = "Parametric Type Classes", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "170-181", Organization = ACM, Month = jun, Annote = "19 references." } @InCollection{Chen-Odersky94, Author = "Kung Chen and Martin Odersky", Title = "A Type System for a Lambda Calculus with Assignments", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "347-364", Month = apr, Annote = "20 references." } @inproceedings{Chin-Markstrum-Millstein05, author = {Brian Chin and Shane Markstrum and Todd Millstein}, title = {Semantic type qualifiers}, booktitle = {{PLDI '05}: Proceedings of the 2005 {ACM} {SIGPLAN} conference on Programming language design and implementation}, year = {2005}, pages = {85-95}, location = {Chicago, IL, USA}, doi = {http://doi.acm.org/10.1145/1065010.1065022}, publisher = ACM, address = NY } @InProceedings{Chin-etal06, author = {Brian Chin and Shane Markstrum and Todd Millstein and Jens Palsberg}, title = {Inference of User-Defined Type Qualifiers and Qualifier Rules}, booktitle = {European Symposium on Programming ({ESOP} 2006)}, year = 2006, month = {Mar} } @InProceedings{Clarke-Drossopoulou02, author = {Dave Clarke and Sophia Drossopoulou}, title = {Ownership, encapsulation and the disjointness of type and effect}, booktitle = {Proceedings of the 17th ACM conference on Object-oriented programming, systems, languages, and applications}, Series = SIGPLAN, Volume = "37(11)", Month = nov, Year = 2002, publisher = ACM, address = NY, pages = {292--310}, url = {http://doi.acm.org/10.1145/582419.582447}, annote = {59 references.} } @InProceedings{Clarke-Richmond-Noble03, author = {Dave Clarke and Michael Richmond and James Noble}, title = {Saving the World from Bad Beans: Deployment-Time Confinement Checking}, booktitle = {Proc. of the ACM Conference on Object Oriented Programming, Systems, Languages, and Applications}, year = {2003}, pages = {374--387}, publisher = {ACM Press}, address = {Anaheim, CA}, } @Article{Claybrook-Claybrook85, Author = "Billy G. Claybrook and Anne-Marie Claybrook", Title = "Defining Database Views as Data Abstractions", Journal = IEEETSE, Volume = "SE-11", Number = 1, Month = jan, Year = 1985, Pages = "3-14", Annote = "How database view realized as data abstractions can be specified and implemented. 25 references." } @InProceedings{Cline-Lea90a, Author = "Marshall P. Cline and Doug Lea", Title = "The Behavior of {C++} Classes", BookTitle = "Proceedings of the Symposium on Object Oriented Programming Emphasizing Practical Applications, Marist College", Year = 1990, Annote = "5 references." } @UnPublished{Cline-Lea90b, Author = "Marshall P. Cline and Doug Lea", Title = "Using Annotated C++", Month = aug, Year = 1990, Note = "Obtained from the first author. Submitted to {\em C++ at Work '90}." } @Article{Cmelik-Gehani88, Author = "Robert F. Cmelik and Narain Gehani", Title = "Dimensional Analysis with C++", Journal = "IEEE Software", Month = may, Year = 1988, Volume = 5, Number = 3, Pages = "21-27", Annote = "9 references." } @Article{Cohen91, Author = "Norman H. Cohen", Title = "Type-Extension Type Tests Can Be Performed In Constant Time", Journal = TOPLAS, Year = 1991, Volume = 13, Number = 4, Month = oct, Pages = "626-629", Annote = "2 references." } @TechReport{Compagnoni-Pierce93, Author = "Adriana B. Compagnoni and Benjamin C. Pierce", Title = "Multiple Inheritance via Intersection Types", Institution = "University of Edinburg", Number = "ECS-LFCS-93-275", Month = aug, Year = 1993, Annote = "50 references." } @InCollection{Constable-Smith87, Author = "Robert L. Constable and Scott Fraser Smith", Title = "Partial Objects in Constructive Type Theory", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "183-193", Month = jun, Annote = "35 references." } @TechReport{Constable-Zlatin81, Author = "Robert L. Constable and Daniel R. Zlatin", Title = "Report on the Type Theory (V3) of the Programming Logic PL/CV3", Institution = "Department of Computer Science, Cornell University", Year = 1981, Month = apr, Number = "TR 81-454", Annote = "91 references." } @InCollection{Constable-Zlatin82, Author = "Robert L. Constable and Daniel R. Zlatin", Title = "The Type Theory of PL/CV3", BookTitle = "Logics of Programs, Workshop, Yorktown Heights, New York, May 1981", Publisher = SV, Address = NY, Series = LNCS, Editor = "Dexter Kozen", Volume = 131, Year = 1982, Pages = "72-93", Annote = "16 references." } @Article{Constable-Zlatin84, Author = "Robert L. Constable and Daniel R. Zlatin", Title = "The Type Theory of PL/CV3", Journal = TOPLAS, Volume = 6, Number = 1, Month = jan, Year = 1984, Pages = "94-117", Annote = "32 references." } @Book{Constable-etal86, Author = "Robert L. Constable and S. Allen and h. Bromely and W. Cleveland and others", Title = "Implementing Mathematics with the Nuprl Development System", Publisher = Prentice-Hall, Address = "Englewood Cliffs, NJ", Year = 1986, Annote = "Hundreds of references." } @TechReport{Constable80a, Author = "Robert L. Constable", Title = "Programs as Types", Institution = "Department of Computer Science, Cornell University", Year = 1980, Month = may, Number = "TR 80-423", Annote = "Constructive type theory leading to a logic of programs. The data types include specifications. 37 references." } @InProceedings{Constable80b, Author = "Robert L. Constable", Title = "Programs and Types", BookTitle = "21st IEEE Symp. on Foundations of Computer Science, Syracuse, New York", Publisher = "IEEE", Year = 1980, Pages = "118-128", Annote = "Propositions are types, that is, types are both first and second order statements, both specifications and data types. 59 references." } @TechReport{Constable82, Author = "Robert L. Constable", Title = "Intentional Analysis of Functions and Types", Institution = "University of Edinburgh", Type = "Edinburgh Computer Science Report", Year = 1982, Number = "118-87" } @TechReport{Constable83, Author = "R. L. Constable", Title = "Mathematics as Programming", Institution = "Department of Computer Science, Cornell University", Year = 1983, Number = "TR 83-565", Address = "Ithaca, New York 14853", Month = jul, Annote = "27 references." } @InCollection{Constable85, Author = "Robert L. Constable", Title = "Constructive Mathematics as a Programming Logic I: Some Principles of Theory", BookTitle = "Topics in the Theory of Computation", Editor = "Marek Karpinski and Jan van Leeuwen", Publisher = "Elsevier North-Holland, Inc.", Series = "Annals of Discrete Mathematics", Number = 24, Address = NY, Year = 1985, Pages = "21-37", Annote = "38 references." } @InCollection{Constable89, Author = "Robert L. Constable", Title = "Assigning Meaning to Proofs: a semantic basis for problem solving environments", Booktitle = "Constructive Methods in Computing Science", Series = "NATO ASI Series", Volume = "F55", Editor = "Manfred Broy", Publisher = SV, Address = NY, Pages = "63-91", Year = 1989, Annote = "Nuprl proof developement system. Good tutorial on constructive type theory and the Curry-Howard isomorphism. 23 references." } @InProceedings{Cook-Hill-Canning90, Author = "William R. Cook and Walter L. Hill and Peter S. Canning", Title = "Inheritance is Not Subtyping", BookTitle = "Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, California", Month = jan, Year = 1990, Pages = "125-135", Note = "Also STL-89-17, Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, Calif., July 1989", Annote = "9 references." } @InProceedings{Cook89b, Author = "W. R. Cook", Title = "A Proposal for Making Eiffel Type-safe", BookTitle = "{ECOOP'89}, European Conference on Object-Oriented Programming, British Computer Society Workshop Series", Editor = "Stephen Cook", Month = jul, Year = 1989, Pages = "57-70", Publisher = "Cambridge University Press", Annote = "8 references." } @Article{Cook89c, Author = "W. R. Cook", Title = "A Proposal for Making Eiffel Type-safe", Journal = "The Computer Journal", Year = 1989, Volume = 32, Number = 4, Month = aug, Pages = "305-311" } @InCollection{Cook91, Author = "William R. Cook", Title = "Object-Oriented Programming Versus Abstract Data Types", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "151-178", Address = NY, Annote = "45 references.", URL = {http://www.cs.utexas.edu/~wcook/papers/OOPvsADT/CookOOPvsADT90.pdf} } @Article{Cook92, Author = "W. R. Cook", Title = "Interfaces and Specifications for the {Smalltalk-80} Collection Classes", Journal = SIGPLAN, Month = oct, Year = 1992, Volume = 27, Number = 10, Pages = "1-15", Note = "{\em OOPSLA '92 Proceedings}, Andreas Paepcke (editor).", Annote = "21 references." } @InCollection{Coppo-Dezani-Ciancaglini-Venneri80, Author = "M. Coppo and M. Dezani-Ciancaglini and B. Venneri", Title = "Principal Type Schemes and lambda-Calculus Semantics", BookTitle = "To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism", Editor = "J. P. Seldin and J. R. Hindley", Publisher = "Academic Press, Inc.", Address = NY, Year = 1980, Pages = "535-560", Annote = "13 references." } @InCollection{Coppo-Giannini92, Author = "M. Coppo and P. Giannini", Title = "A Complete Type Inference Algorithm for Simple Intersection Types", BookTitle = "CAAP '92, 17th Colloquium on Trees in Algebra and Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Jean-Claude Raoult", Series = LNCS, Address = NY, Volume = 581, Pages = "102-123", Annote = "22 references" } @InCollection{Coppo80, Author = "Mario Coppo", Title = "An Extended Polymorphic Type System for Applicative Languages", BookTitle = "Mathematical Foundations of Computer Science, Proceedings of the Ninth Symposium, Rydzyna, Poland", Publisher = SV, Editor = "P. Demb\'{i}nski", Series = LNCS, Volume = 88, Year = 1980, Pages = "194-204", Annote = "Extends ML-like typing. 17 references." } @Article{Coppo83, Author = "Mario Coppo", Title = "On the Semantics of Polymorphism", Journal = "Acta Informatica", Volume = 20, Number = 2, Month = nov, Year = 1983, Pages = "159-170", Annote = "Semantic characterization of terms which can be assigned a type. 16 references." } @UnPublished{Coquand-Huet84, Author = "Thierry Coquand and Gerard Huet", Title = "A Theory of Constructions", Month = jun, Year = 1984, Note = "Paper presented at the International Symposium on Semantics of Data Types, Sophia-Antipolis, but not published in the proceedings." } @TechReport{Coquand-Huet85a, Author = "T. Coquand and G. Huet", Title = "Constructions: a Higher Order Proof System for Mechanizing Mathematics", Institution = "INRIA", Address = "Rocquencourt, France", Number = 401, Month = may, Year = 1985 } @InCollection{Coquand-Huet85b, Author = "T. Coquand and G. Huet", Title = "Constructions: a Higher Order Proof System for Mechanizing Mathematics", BookTitle = "EUROCAL '85, (European Converence on Computer Algebra; Linz, Austria)", Editor = "Bruno Buchberger", Series = LNCS, Volume = 203, Month = apr, Year = 1985, Pages = "151-184", Publisher = SV, Annote = "Early version of the calculus of constructions. Many mathematical examples. 57 references." } @Article{Coquand-Huet88, Author = "Thierry Coquand and G\'{e}rard Huet", Title = "The Calculus of Constructions", Journal = "Information and Computation", Volume = 76, Number = "2/3", Month = "February/March", Year = 1988, Pages = "95-120", Annote = "48 references." } @Article{Cormack-Wright90, Author = "G. V. Cormack and A. K. Wright", Title = "Type-dependent Parameter Inference", Journal = SIGPLAN, Volume = 25, Number = 6, Month = jun, Year = 1990, Pages = "127-136", Note = "Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, White Plains, NY", Annote = "27 references." } @InProceedings{Cousot97, author = {Patrick Cousot}, title = {Types as Abstract Interpretation}, booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France}, year = 1997, organization = ACM, address = NY, month = jan, pages = {316-331}, annote = {41 references.} } @Book{Cox-Novobilski91, Author = "Brad J. Cox and Andrew J. Novobilski", Title = "Object Oriented Programming: an Evolutionary Approach", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1991, Edition = "2nd", Annote = "Discusses Objective-C." } @Article{Cox84, Author = "Brad J. Cox", Title = "Message/Object Programming: An Evolutionary Change in Programming Technology", Journal = "IEEE Software", Month = jan, Year = 1984, Volume = 1, Number = 1, Pages = "50-61", Annote = "Argues for hybrid languages with both object-oriented and procedure-oriented constructs. Description of benefits of object-oriented style. Integration of objects in language and operating system as in Hydra. 7 references." } @Book{Cox86, Author = "Brad J. Cox", Title = "Object Oriented Programming: an Evolutionary Approach", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1986, Annote = "Discusses Objective-C." } @Article{Crary-Harper-Puri99, author = {Karl Crary and Robert Harper and Sidd Puri}, title = {What is a Recursive Module?}, journal = SIGPLAN, year = 1999, volume = 34, number = 5, month = may, pages = {50-63}, note = {Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {23 references.} } @InProceedings{Crary-Walker-Morrisett99, author = {Karl Crary and David Walker and Greg Morrisett}, title = {Typed Memory Management in a Calculus of Capabilities}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = jan, pages = {262-275}, annote = {41 references.} } @InProceedings{Crary-Weirich-Morrisett99, author = {Karl Crary and Stephanie Weirich and Greg Morrisett}, title = {Intensional Polymorphism in Type-Erasure Semantics}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = jun, Year = 1999, organization = ACM, pages = {301-312}, annote = {Supports the ability to dispatch to different routines baed on run-time types. 28 references.} } @InProceedings{Crary97, author = {Karl Crary}, title = {Foundations for the Implementation of Higher-Order Subtyping}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = aug, Year = 1997, organization = ACM, pages = {125-135}, annote = {Translates a higher-order calculus with subtyping to one that uses explicit coercions in a subsumption-free calculus. 31 references.} } @Book{Crole93, Author = "Roy Crole", Title = "Categories for Types", Publisher = "Cambridge University Press", Year = 1993, Address = "Cambridge" } @InCollection{Curien-Ghelli90, Author = "P.-L. Curien and G. Ghelli", Title = "Coherence of Subsumption", BookTitle = "CAAP '90 15th Colloquium on Trees in Algebra and Programming, Copenhagen, Denmark", Month = may, Year = 1990, Editor = "A. Arnold", Publisher = SV, Address = NY, Series = LNCS, Volume = 431, Pages = "132-146" } @Book{Curien86, Author = "P.-L. Curien", Title = "Categorical combinators, sequential algorithms, and functional programming", Publisher = "Wiley", Year = 1986, Address = NY, Note = "Research notes in theorectical computer science Includes bibliographical references and index. QA267.3 .C87 1986" } @InProceedings{Curry-Ayers83, Author = "Gael A. Curry and Robert M. Ayers", Title = "Experience with Traits in the Xerox Star Workstation", BookTitle = "Workshop on Reusability in Programming, Newport, R.I.", Organization = "Advance papers", Year = 1983, Month = sep, Pages = "83-96", Note = "A revised version appears in {\em IEEE Transactions on Software Engineering}, Volume SE-10, Num. 5, Sept. 1984, pages 519-527.", Annote = "Explains the implementation of the Traits mechanism. Experience in its usage. Problems with efficiency of multiple inheritance. Major problem is access to trait storage in instances at run-time must in general use indirection. This is not a problem in single inheritance. Multiple inheritance not necessary for most of the Star software. 8 references" } @Article{Curry-etal82, Author = "Gael Curry and Larry Baer and Daniel Lipkie and Bruce Lee", Title = "Traits: An Approach to Multiple Inheritance Subclassing", Journal = "SIGOA Newsletter", Month = jun, Year = 1982, Volume = 3, Number = "1 and 2", Pages = "1-9", Note = "ACM-SIGOA Conference on Office Automation Systems, Philadelphia, Penn.", Annote = "Multiple inheritance, using acyclic DAG. Saves code. 6 references." } @PhDThesis{Curtis90, Author = "Pavel Curtis", Title = "Constrained Quantification in Polymorphic Type Analysis", School = "Cornell University", Month = jan, Year = 1990, Note = "Xerox PARC TR, CSL-90-1", Annote = "28 references." } @InProceedings{Damas-Milner82, Author = "L. Damas and R. Milner", Title = "Principal Type-Schemes for Functional Programs", BookTitle = "Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico", Year = 1982, Organization = ACM, Month = jan, Pages = "207-212", Annote = "Shows that the ML type assignment algorithm finds the most general type possible. 6 references." } @InCollection{Damiani-Giannini94, Author = "Ferruccio Damiani and Paola Giannini", Title = "A Decidable Intersection Type System based on Relevance", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "707-725", Month = apr, Annote = "21 references." } @InCollection{Damm-Fehr78, Author = "W. Damm and E. Fehr", Title = "On the Power of Self-Application and Higher Type Structures", BookTitle = "Automata, Languages and Programming, Fifth Colloquium, Udine, July 1978", Publisher = SV, Address = NY, Series = LNCS, Volume = 62, Editor = {G. Ausiello and C. B\"{o}hm}, Year = 1978, Pages = "177-191", Annote = "25 references." } @InCollection{Damm94, Author = "Flemming M. Damm", Title = "Subtyping with Union Types, Intersection Types and Recursive Types", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "687-706", Month = apr, Annote = "16 references." } @Article{Danforth-Tomlinson88, Author = "Scott Danforth and Chris Tomlinson", Title = "Type Theories and Object-Oriented Programming", Journal = ACMCS, Volume = 20, Number = 1, Month = mar, Year = 1988, Pages = "29-72", Annote = "Good survey of types theories and how they can be applied to understanding and type-checking object-oriented programs. Distinguishes representation relationships from behavioral relationships. 82 references." } @InProceedings{Davenport-Jenks80, Author = "James H. Davenport and Richard D. Jenks", Title = "MODLISP", BookTitle = "Conference Record of the 1980 LISP Conference, Stanford, Calif.", Organization = "The LISP Conference", Month = aug, Year = 1980, Pages = "65-74", Note = "Also IBM Research Report RC 8537, Oct. 1980", Annote = "LISP-like language with modes. Overloading and dynamic construction of new parameterized types. 20 references." } @InProceedings{Day-etal95, Author = "Mark Day and Robert Gruber and Barbara Liskov and Andrew C. Meyers", Title = "Subtypes vs. where clauses: Constraining parametric polymorphism", Booktitle = "OOPSLA '95 Conference Proceedings", Series = SIGPLAN, Volume = "30(10)", Year = 1995, Pages = "156-168" } @InProceedings{Demers-Donahue80a, Author = "Alan J. Demers and James E. Donahue", Title = "Data Types, Parameters and Type Checking", Pages = "12-23", BookTitle = "Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages, Las Vegas, Nevada", Organization = ACM, Month = jan, Year = 1980, Annote = "Description of type-checking in Russell and motivation in terms of traditional systems. 11 references." } @InProceedings{Demers-Donahue80b, Author = "Alan Demers and James Donahue", Title = {"Type Completeness" as a Language Design Principle}, Pages = "234-244", BookTitle = "Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages, Las Vegas, Nevada", Organization = ACM, Month = jan, Year = 1980, Annote = "Principle of type-completeness used to evaluate other languages and as a framework for language design. Type-completeness is 1) giving every expression a type, 2) having an expression for every type and 3) having the ability to parameterize any expression. 11 references." } @TechReport{Demers-Donahue80c, Author = "A. Demers and J. E. Donahue", Title = "The Russell Semantics: An Exercise in Abstract Data Types", Institution = "Department of Computer Science, Cornell University", Year = 1980, Month = oct, Number = "TR 80-431", Annote = "Denotational Semantics of Russell as a metacircular interpreter. 11 references." } @InProceedings{Demers-Donahue83, Author = "Alan Demers and James Donahue", Title = "Making Variables Abstract: an Equational Theory for Russell", BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Organization = ACM, Month = jan, Year = 1983, Pages = "59-72", Annote = "14 references." } @InProceedings{Demers-etal77, Author = "A. J. Demers and J. E. Donahue and R. T. Teitelbaum and J. H. Williams", Title = "Encapsulated Data Types and Generic Procedures", Pages = "171-214", BookTitle = "Design and Implementation of Programming Languages", Publisher = SV, Address = NY, Year = 1977, Editor = "J. H. Williams and D. A. Fischer", Annote = "Meaning of data type and encapsulation. 17 references." } @Article{Denvir79, Author = "B. T. Denvir", Title = "On Orthogonality in Programming Languages", Journal = SIGPLAN, Month = jul, Volume = 14, Number = 7, Pages = "18-30", Year = 1979, Annote = "Types as types. Considers various features of programming languages with respect to orthogonality. 13 references." } @Article{Deutsch81, Author = "L. Peter Deutsch", Title = "Constraints: A Uniform Model for Data and Control", Journal = SIGPLAN, Month = jan, Volume = 16, Number = 1, Pages = "118-120", Year = 1981, Note = "Proceedings of the Workshop on Data Abstraction, Databases and Conceptual Modeling, June, 1980", Annote = "Constraints and a sort of abstract data type. 5 references." } @Article{Deux-etal, Author = "O. Deux", Title = "The $O_2$ System", Journal = "CACM", Year = 1991, Volume = 34, Number = 10, Month = oct, Pages = "34-48", Annote = "23 references." } @InCollection{Dezani-Ciancaglini-Giovannetti-deLiguoro98, author = {Mariangiola Dezani-Ciancaglini and Elio Giovannetti and Ugo de'Liguo}, title = {Intersection types, $\lambda$-models, and B\"{o}hm trees}, booktitle = {Theories of Types and Proofs}, pages = {45-97}, publisher = {Mathematical Society of Japan}, year = 1998, editor = {Masako Takahashi and Mitsuhiro Okada and Mariangiola Dezani-Ciancaglini}, volume = 2, series = {MSJ Memoirs}, chapter = 2, address = {Tokyo, Japan} } @InProceedings{DiGianantonio-Honsell-Liquori98, author = {Pietro Di Gianantonio and Furio Honsell and Luigi Liquori}, title = {A Lambda Calculus of Objects with Self-Inflicted Extension}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = oct, Year = 1998, organization = ACM, pages = {166-178}, annote = {A study of functional prototype-based languages. Has a notion of flexible width-subtyping. 25 references.} } @PhdThesis{Dinesh92, Author = "T. B. Dinesh", Title = "Object-Oriented Programming: Inheritance to Adoption", School = "University of Iowa", Year = 1992, Address = "Iowa City, Iowa", Month = may, Annote = "Generalizes the notions of inheritance and delegation. Inheritance with adoption results in some benefits when inherited types are not subtypes. 61 references." } @Article{Diwan-WcKinley-Moss98, author = {Amer Diwan and Kathryn S. WcKinley and J. Eliot B. Moss}, title = {Type-Based Alias Analysis}, journal = SIGPLAN, year = 1998, volume = 33, number = 5, month = may, pages = {106-117}, note = {Proceedings of the 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {36 references.} } @InCollection{Dodani-Tsai92, Author = "Mahesh Dodani and Chung-Shin Tsai", Title = "ACTS: A Type System for Object-Oriented Programming Based on Abstract and Concrete Classes", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "309-328", Annote = "27 references" } @Article{Dodani-Tsai96, author = {Mahesh Dodani and Chung-Shin Tsai}, title = {A reliable and flexible type system for object-oriented programming}, journal = {Object Oriented Systems}, year = 1996, volume = 3, number = 2, month = jun, pages = {87-121}, annote = {24 references.} } @InCollection{Doh-Schmidt92, Author = "Kyung-Goo Doh and David A. Schmidt", Title = "Extraction of Strong Typing Laws from Action Semantics Definitions", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "151-166", Annote = "36 references" } @Article{Donahue-Demers85, Author = "James Donahue and Alan Demers", Title = "Data Types are Values", Journal = TOPLAS, Month = jul, Year = 1985, Volume = 7, Number = 3, Pages = "426-445", Annote = "Description of the Russell type system. Argues against type inference. Gives a denotational meaning to the value of a data type parameter, which is a set of operations. Gives the rules for type checking Russell. Argues that Russell is strongly typed, both in the sense that it each expression has a type and no parameter/argument mismatches are allowed and in the sense that no misinterpretation of values is possible. Thus Russell programs have representation independence. 32 references." } @InProceedings{Donahue85, Author = "Integrating Programming Languages with Database Systems", Title = "James Donahue", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "331-341", Annote = "10 references." } @Article{Donahue85a, Author = "James Donahue", Title = "Integration Mechanisms in Cedar", Journal = SIGPLAN, Volume = 20, Number = 20, Month = jul, Year = 1985, Note = "Proceedings of the ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments", Pages = "245-251", Annote = "Discussion of programming in the large issues in Cedar and how the Cedar mechanisms, especially interfaces, garbage collection, lightweight processes, and procedure objects helped in presenting a unified system. 8 references." } @TechReport{Dorn-Leavens07, author = {Brian Dorn and Gary T. Leavens}, title = {A Framework for Implementing Type Systems}, institution = {Department of Computer Science, Iowa State University}, year = 2007, number = {07-12}, address = {226 Atanasoff Hall, Ames, Iowa 50011}, month = jul, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR07-12/TR.pdf}, annote = {Typedscm. 13 references.} } @TechReport{Dorn05, author = {Brian J. Dorn}, title = {Design and implementation of a reusable type inference engine and its application to {Scheme}}, institution = {Department of Computer Science, Iowa State University}, year = 2005, number = {05-16}, address = {226 Atanasoff Hall, Ames, Iowa 50011}, month = jul, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR05-16/TR.pdf}, annote = {The author's MS thesis. 24 references.} } @Article{Dornic-etal92, Author = "Vincent Dornic and Pierre Jouvelot and David Torczon", Title = "Polymorphic Time Systems fpr Estimating Program Complexity", Journal = "ACM letters on Programming Languauges and Systems", Year = 1992, Month = mar, Volume = 1, Number = 1, Pages = "33-45", Annote = "22 references. " } @TechReport{Dowek92, Author = "Gilles Dowek", Title = "A Second-Order Pattern Matching Algorithm for the Cube of Typed $\lambda$-calculi", Institution = "INRIA", Year = 1992, Number = 1585, Month = jan, Annote = "22 references." } @InProceedings{Dowek93, Author = {Dowek}, Title = {The Undecidability of typability of lambda-pi-calculus}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J. F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {139-145}, Address = {Utrecht, The Netherlands}, Month = mar, Note = {TLCA'93}, Annote = {15 references} } @Article{Drossopoulou-Eisenbach-Khurshid99, author = {Sophia Drossopoulou and Susan Eisenbach and Sarfraz Khurshid}, title = {Is the Java Type System Sound?}, journal = TAPOS, year = 1999, volume = 5, number = 1, pages = {3-24}, annote = {At least a subset is. 34 references.} } @InCollection{Drossopoulou-Eisenbach97, author = {Sophia Drossopoulou and Susan Eisenbach}, title = {Java is Type Safe --- Probably}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = jun, pages = {389-418}, annote = {21 references.} } @InProceedings{Drossopoulou-Wragg-Eisenbach98, author = {Sophia Drossopoulou and David Wragg and Susan Eisenbach}, title = {What {\em is} {Java} Binary Compatability?}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = oct, Year = 1998, organization = ACM, pages = {341-358}, annote = {20 references.} } @TechReport{Duba-Harper-MacQueen90, Author = "Bruce F. Duba and Robert Harper and David MacQueen", Title = "Typing First-Class Continuations in ML", Institution = CMU, Year = 1990, Number = "CMU-CS-90-184", Note = "Appears in POPL '91", Annote = "42 references." } @InProceedings{Dubois-Rouaix-Weis95, Author = {Catherine Dubois and Fran\c{c}ois Rouaix and Pierre Weis}, Title = "Extensional Polymorphism", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = jan, Year = 1995, Organization = ACM, Address = NY, Pages = "118-", Annote = "A framework for type checking ad hoc polymorphic functions. 23 references." } @InProceedings{Duggan-Sourelis96, author = {Dominic Duggan and Constantinos Sourelis}, title = {Mixin Modules}, BookTitle = {ICFP '96: Proceedings of the first ACM SIGPLAN international conference on Functional programming}, editor = {Richard L. Wexelblat}, Series = SIGPLAN, Volume = "31(6)", Month = jun, Year = 1996, publisher = ACM, address = NY, pages = {262--273}, annote = {Allows recursive definitions to span module boundaries. 32 references.} } @Article{Duggan99, author = {Dominic Duggan}, title = {Dynamic Typing for Distributed Programming in Polymorphic Languages}, journal = TOPLAS, year = 1999, volume = 21, number = 1, month = jan, pages = {11-45}, annote = {Dynamic type dispatch with refinement kinds. 53 references.} } @Article{Dungan79, Author = "Dona M. Dungan", Title = "Bibliography on Data Types", Journal = SIGPLAN, Volume = 14, Number = 11, Month = nov, Year = 1979, Pages = "31-59", Annote = "This is a complete annotated bibliography, covering data types in specific languages (52 references), data type abstractions (116 references), and theoretical foundations (41 references)." } @PhDThesis{Dungan80, Author = "Dona Marie Dungan", Title = "Variations on Data Type Equivalence", School = "University of Iowa", Year = 1980 } @InProceedings{Dzeng-Haynes94, author = {Hsianlin Dzeng and Christopher Haynes}, title = {Type Reconstruction for Variable-Arity Procedures}, booktitle = {Proceedings of the 1994 ACM Conference on LISP and Functional Programming}, year = 1994, organization = ACM, month = jun, pages = "239-249", } @Proceedings{ECOOP87, Title = "ECOOP '87, European Conference on Object-Oriented Programming, Paris, France", Editor = "Jean Bezivin and others", Publisher = SV, Address = NY, Month = jun, Year = 1987, Note = "Lecture Notes in Computer Science, Volume 276" } @Proceedings{ECOOP88, Title = "ECOOP '88, European Conference on Object-Oriented Programming, Oslo, Norway", Editor = "S. Gjessing and K. Nygaard", Publisher = SV, Address = NY, Month = aug, Year = 1988, Note = "Lecture Notes in Computer Science, Volume 322" } @Proceedings{ECOOP89, Title = "{ECOOP'89}, European Conference on Object-Oriented Programming, British Computer Society Workshop Series", Editor = "Stephen Cook", Month = jul, Year = 1989, Publisher = "Cambridge University Press" } @InProceedings{Eidorff-etal99, author = {Peter Harry Eidorff and Fritz Henglein and Christian Mossin and Henning Niss and Morten Heine S{\o}rensen and Mads Tofte}, title = {{AnnoDomini}: From Type Theory to Year 2000 Conversion Tool}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = jan, pages = {1-14}, annote = {10 references.} } @InProceedings{Eifrig-etal94, author = "Jonathan Eifrig and Scott Smith and Valery Trifonov and Amy Zwarico", title = "Application of OOP Type Theory: State, Decidability, Integration", volume = 29, number = 10, series = SIGPLAN, pages = "16-30", booktitle = "OOPSLA '94 Conference Proceedings", year = 1994, organization = ACM, month = oct, annote = "19 references." } @InProceedings{Eifrig-etal94b, Author = "Jonathan Eifrig and Scott Smith and Valery Trifonov", Title = "Type Inference for Recursively Constrained Types and its Application to {OOP}", Booktitle = "Mathematical Foundations of Programming Semantics, New Orleans", Series = "Electronic Notes in Theoretical Computer Science", Publisher = "Elsevier", Volume = 1, Year = "1995", Note = "http://www.sciencedirect.com/science/journal/15710661" } @inproceedings{Eifrig-etal95, Author = "J. Eifrig and S. Smith and V. Trifonov", Title = "Sound polymorphic type inference for objects", Booktitle = "OOPSLA '95 Conference Proceedings", Series = SIGPLAN, Volume = "30(10)", Year = 1995, pages = "169-184" } @InCollection{Ernst01, author = {Erik Ernst}, title = {Family Polymorphism}, booktitle = {ECOOP 2001 --- Object-Oriented Programming}, publisher = SV, year = 2001, volume = 2072, series = LNCS, address = NY, pages = {303-326}, url = {http://dx.doi.org/10.1007/3-540-45337-7_17} } @InCollection{Ernst99, author = {Erik Ernst}, title = {Propogating Class and Method Composition}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = jun, pages = {67-91}, annote = {A generalization of the Beta language, gbeta, which allows methods to be combined in a way that is type checked. Includes block structure. 25 references.} } @InCollection{Evan-Schmidt90, Author = "Susan Evan and David A. Schmidt", Title = "Type Inference for Action Semantics", BookTitle = "ESOP '90 3rd European Symposium on Programming, Copenhagen, Denmark", Month = may, Year = 1990, Pages = "118-133", Editor = "N. Jones", Publisher = SV, Address = NY, Series = LNCS, Volume = 432, Annote = "26 references." } @InProceedings{Fabry76, Author = "R. Fabry", Title = "How to Design A System In Which Modules Can Be Changed On The Fly", BookTitle = "Proceedings of the Second International Conference on Software Engineering", Organization = IEEE, Month = oct, Year = 1976, Annote = "Places version numbers on objects so that translation routines can be invoked when necessary." } @PhdThesis{Fagan90, author = {Michael Fagan}, title = {Soft Typing: An Approach to Type Checking for Dynamically Typed Languages}, school = {Rice University}, year = 1992, } @inproceedings{Fahndrich-Leino03, author = "Manuel F{\"a}hndrich and K. Rustan M. Leino", title = "Declaring and Checking Non-null Types in an Object-Oriented Langauge", booktitle = {OOPSLA '03: Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, location = {Anaheim, CA}, address = NY, publisher = ACM, month = nov, series = SIGPLAN, volume = "38(11)", Pages = {302--312}, year = 2003, } @TechReport{Fairbairn82, Author = "J. Fairbairn", Title = "Ponder and its Type System", Institution = "University of Cambridge, Computer Laboratory", Year = 1982, Month = nov, Number = 31, Note = "Reprinted in {\em Polymorphism: The ML/LCF/Hope Newsletter}, I(2), April, 1983.", Annote = "Small set of primitives and few built-in constructs. Polymorphic and normal order functional language. Mechanisms for user-defined pairs and disjoint union types. Third-man argument applied to types as values in Russell. Thus adopts ML-style polymorphism, but argument types must be specified and type variables must be declared explicitly. Most general type does not exist in general. Limits power of type generators so that generated types can be compared. Locally quantified polymorphic types with parameterized generators and capsules. 9 references." } @InProceedings{Fairbairn85, Author = "Jon Fairbairn", Title = "A New Type-Checker for a Functional Language", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "119-138", Annote = "Type checker for Ponder. 10 references." } @TechReport{Fairbairn89, Author = "Jon Fairbairn", Title = "Some Types with Inclusion Properties in $\forall$, $\rightarrow$, $\mu$", Institution = "University of Cambridge, Computer Laboratory", Year = 1989, Month = jun, Number = 171, Annote = "6 references." } @PhDThesis{Fasel81, Author = "Joseph Henry Fasel, III", Title = "Programming Languages as Abstract Data Types: Definition and Implementation", School = "Purdue University", Year = 1981 } @TechReport{Fickas-etal88, Author = "S. Fickas and E. Doerry and D. Meyer and P. Miller", Title = "Design Issues in a Minimal Language to Support Lisp-based, Object-based, and Rule-based Programming", Institution = "Computer Science Department, University of Oregon", Address = "Eugene, Oregon", Number = "CIS-TR-88-16", Month = dec, Year = 1988, Annote = "13 references." } @Article{Fischer-Mitchell98, author = {Kathleen Fischer and John C. Mitchell}, title = {On the Relationship Between Classes, Objects and Data Abstraction}, journal = TAPOS, year = 1998, volume = 4, number = 1, pages = {3-25}, annote = {Combining prototypes with standard abstraction mechanisms. How to gain more precise control over the class hierarchy using standard data abstraction, enhanced with subtype constraints. 50 references.} } @InProceedings{Fischer-Reppy00, author = {Kathleen Fischer and John Reppy}, title = {Extending {Moby} with Inheritance-Based Subtyping}, editor = {Elisa Bertino}, booktitle = {ECOOP 2000 -- Object-Oriented Programming 14th European Conference}, series = LNCS, volume = 1850, year = 2000, pages = {27-43}, annote = {16 references.} } @Article{Fischer-Reppy99, author = {Kathleen Fischer and John Reppy}, title = {The design of a class mechanism for {Moby}}, journal = SIGPLAN, year = 1999, volume = 34, number = 5, month = may, pages = {37-49}, note = {Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {35 references.} } @InProceedings{Flatt-Felleisen98, author = {Matthew Flatt and Matthias Felleisen}, title = {Units: Cool Modules for HOT Languages}, booktitle = {PLDI '98: Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation}, editor = {A. Michael Berman}, series = SIGPLAN, year = 1998, volume = {33(5)}, publisher = ACM, address = NY, month = may, pages = {236-248}, annote = {31 references.} } @InProceedings{Flatt-Krishnamurthi-Felleisen98, author = {Matthew Flatt and Shriram Krishnamurthi and Matthias Felleisen}, title = {Classes and Mixins}, booktitle = {POPL '98: Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, location = "San Diego, California", year = 1998, publisher = ACM, address = NY, month = jan, pages = {171--183}, annote = {29 references.} } @InCollection{Fokkinga81, Author = "Maarten M. Fokkinga", Title = "On the Notion of Strong Typing", BookTitle = "Algorithmic Languages", Publisher = "IFIP, North-Holland", Address = "Amsterdam", Year = 1981, Pages = "305-320", Editor = "J. W. de Bakker and J. C. van Vliet", Annote = "19 references." } @Article{Ford-Hansche82, Title = "Optional, Repeatable and Varying Type Parameters", Author = "Gary Ford and Brian Hansche", Journal = SIGPLAN, Volume = 17, Number = 2, Month = feb, Year = 1982, Pages = "41-48", Annote = "Specific proposals for these mechanisms in a language resembling Algol 68. 5 references." } @Article{Fortune-Leivant-ODonnell83, Author = "Steven Fortune and Daniel Leivant and Michael O'Donnell", Title = "The Expressiveness of Simple and Second-order Type Structures", Year = 1983, Volume = 30, Journal = JACM, Pages = "151-185", Annote = "Theoretical treatment of what functions are definable and of normalizability. 58 references." } @Article{Foster-Faehndrich-Aiken99, author = {Jeffrey S. Foster and Manuel F\"{a}hndrich and Alexander Aiken}, title = {A Theory of Type Qualifiers}, journal = SIGPLAN, year = 1999, volume = 34, number = 5, month = may, pages = {192-203}, note = {Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {Const in C++ is an example of a type qualifier. Gives a useful form of subtyping. 34 references.} } @Article{Freeman-Pfenning91, Author = "Tim Freeman and Frank Pfenning", Title = "Refinement Types for ML", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 6, Month = jun, Pages = "268-277", Note = "Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation (Toronto, Canada)", Annote = "Recursively defined subtypes of user-defined types. Type inferece system based on interesection types and abstract interpretation. 18 references." } @InProceedings{Freund-Mitchell98, author = {Stephen N. Freund and John C. Mitchell}, title = {A Type System for Object Initialization in the {Java} Bytecode Language}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = oct, Year = 1998, organization = ACM, pages = {310-328}, annote = {17 references.} } @TechReport{Fruhwirth89a, Author = {Thom W. Fr\"{u}wirth}, Title = "A Polymorphic Type Checking System for Prolog in HiLog", Institution = "Department of Computer Science, SUNY at Stony Brook", Address = "Long Island, New York 11794", Year = 1989, Number = "89/20", Note = "6th Israel Conference on Artificial Intelligence and Computer Vision", Annote = "HiLog overcomes problems with using Prolog as a type language to express polymorphic types. 16 references." } @TechReport{Fruhwirth89b, Author = {Thom W. Fr\"{u}wirth}, Title = "Towards a Fully Polymorphic Type System for Prolog", Institution = "Department of Computer Science, SUNY at Stony Brook", Address = "Long Island, New York 11794", Month = oct, Year = 1989, Number = "89/26", Note = "Presented at the Workshop on Types in Logic Programming at the North American Conference on Logic Programming, Cleveland, Ohio", Annote = "Declarative subtyping but no cycles allowed. 26 references." } @TechReport{Fruhwirth89c, Author = {Thom W. Fr\"{u}wirth}, Title = "On Fixpoint Semantics for Types in Logic Programming Languages", Institution = "Department of Computer Science, SUNY at Stony Brook", Address = "Long Island, New York 11794", Year = 1989, Number = "?", Annote = "Characterization of types by their fixpoint semantics. 6 references." } @Article{Fuh-Mishra90, Author = "You-Chin Fuh and Prateek Mishra", Title = "Type Inference with Subtypes", Journal = TCS, Volume = 73, Number = 2, Month = jun, Year = 1990, Pages = "155-175", Note = "Special Issue: Second European Symposium on Programming (Nancy, France, March 1988)", Annote = "Extends polymorphic type inference with a very general notion of subtype. Shows principal type property and syntactic completeness for the type checker. 16 references." } @Article{Gantenbein91, Author = "Gantenbein", Title = "Dynamic Binding in Strongly Typed Programming Languages", Journal = "Journal of Systems and Software", Year = 1991, Volume = 14, Number = 1, Month = jan, Pages = "31-38" } @InProceedings{Gay92, Author = "Simon J. Gay", Title = "A Sort Inference Algorithm for the Polyadic Pi-Calculus", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = jan, Pages = "429-438", Annote = "5 references" } @Article{Gehani80, Author = "Narain Gehani", Title = "Generic Procedures: An Implementation and Undecidability Result", Journal = "Computer Languages", Year = 1980, Volume = 5, Number = "3-4", Pages = "155-161", Annote = "Macro-expanding implementation leads to undecidability result. 13 references." } @Article{Georgeff84, Author = "Michael Georgeff", Title = "Transformations and Reduction Strategies for Typed Lambda Expressions", Journal = TOPLAS, Year = 1984, Volume = 6, Number = 4, Month = oct, Pages = "603-631", Annote = "Efficient representations and evaluations of closures. Reducing reflexive types. 22 references." } @InCollection{Ghelli90, Author = "G. Ghelli", Title = "A Class Abstraction for a Hierarchical Type System", BookTitle = "ICDT '90, Third International Conference on Database Theory, Paris, France", Publisher = SV, Year = 1990, Editor = "S. Abiteboul and P. C. Kanellakis", Series = LNCS, Volume = 470, Pages = "56-71", Address = NY, Month = dec } @InCollection{Ghelli91a, Author = "Giorgio Ghelli", Title = "Modelling Features of Object-Oriented Languages in Second Order Functional Languages with Subtypes", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "311-340", Address = NY, Annote = "17 references." } @Article{Ghelli91b, Author = "Giorgio Ghelli", Title = "A Static Type System for Message Passing", Journal = SIGPLAN, Volume = 26, Number = 11, Month = nov, Year = 1991, Pages = "129-145", Note = "OOPSLA '91 Conference Proceedings, Andreas Paepcke (editor), October 1991, Phoenix, Arizona", Annote = "19 references." } @InProceedings{Ghelli93, Author = {G. Ghelli}, Title = {Recursive types are not Conservative over F$\lessthanorequal$}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J. F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {146-162}, Address = {Utrecht, The Netherlands}, Month = mar, Note = {TLCA'93}, Annote = {13 refences} } @InProceedings{Ghelli96, author = {Giorgio Ghelli}, title = {Complexity of kernel {Fun} subtype checking}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '96)", Series = SIGPLAN, Volume = "31(6)", Month = jun, Year = 1996, organization = ACM, pages = {134-145}, annote = {38 references.} } @TechReport{Giannini85, Author = "Paola Giannini", Title = "Type Checking and Type Deduction Techniques for Polymorphic Programming Languages", Institution = CMU, Year = 1985, Month = dec, Number = "CMU-CS-85-187", Annote = "Type checking and deduction in two different polymorphic programming structures: the parameteric lambda calculus (with let) and the polymorphic or second-order lambda calculus. Type inference rules. 42 references." } @InProceedings{Gifford-Lucassen86, Author = "David K. Gifford and John M. Lucassen", Title = "Integrating Functional and Imperative Programming", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1986, Pages = "28-38", Organization = ACM, Month = aug, Annote = "A fluent language, including side effects in the type system. 19 references." } @Book{Girard-Lafont-Taylor89, Author = "Jean-Yves Girard and Yves Lafont and Paul Taylor", Title = "Proofs and Types", Publisher = "Cambridge University Press", Address = NY, Year = 1989, Annote = "Typed lambda-calculus. 49 references." } @InProceedings{Girard71, Author = "Jean-Yves Girard", Title = {Une extension de l'interpr\'{e}tation de G\"{o}del \`{a} l'analyse, et son application \`{a} l'\'{e}limination des coupures dans l'analyse et la th\'{e}orie des types}, BookTitle = "Proceedings 2nd Scandinavian Logic Symposium", Publisher = "North-Holland", Address = "Amsterdam", Year = 1971, Pages = "63-92" } @Article{Girard86, Author = "J. Y. Girard", Title = "The System {\bf F} of variable types, fifteen years later", Journal = TCS, Volume = 45, Year = 1986, Pages = "159-192" } @InCollection{Girard93, Author = "Jean-Yves Girard", Title = "Linear Logic: A Survey", BookTitle = "Logic and Algebra of Specification", Year = 1993, Pages = "63-112", Editor = "F. L. Bauer and W. Brauer and H. Schwichtenberg", Series = "NATO ASI Series. Series F : Computer and System Sciences", Volume = 94, Publisher = SV, Address = NY, Annote = "17 references." } @TechReport{Gladney82a, Author = "H. M. Gladney", Title = "Generic Operators in Concise Programs", Institution = "IBM Research Laboratory, San Jose, CA", Year = 1982, Number = "RJ3441 (40927)", Type = "IBM Research Report", Month = mar, Annote = "27 references." } @TechReport{Gladney82b, Title = "An Introduction to the Concise Programming Language", Author = "H. M. Gladney", Institution = "IBM Research Laboratory, San Jose, CA", Year = 1982, Number = "RJ3455 (41061)", Type = "IBM Research Report", Month = apr, Annote = "21 references." } @InProceedings{Glew-Morrisett99, author = {Neal Glew and Greg Morrisett}, title = {Type-Safe Linking and Modular Assembly Language}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = jan, pages = {250-261}, annote = {30 references.} } @Book{Goldberg-Robson83, Author = "Adele Goldberg and David Robson", Title = "Smalltalk-80, The Language and its Implementation", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1983, Annote = "Smalltalk features message-based object oriented programming and a hierarchical type system." } @InProceedings{Goldstein-Bobrow80a, Author = "I. Goldstein and D. Bobrow", Title = "Extending Object Oriented Programming in Smalltalk", BookTitle = "Conference Record of the 1980 LISP Conference, Stanford, Calif.", Organization = "The LISP Conference", Month = aug, Year = 1980 } @InProceedings{Gomard90, Author = "Carsten K. Gomard", Title = "Partial Type Inference for Untyped Functional Programs", BookTitle = "Proceedings of the 1990 ACM Conference on LISP and Functional Programming, Nice, France", Organization = ACM, Month = jun, Year = 1990, Pages = "282-287", Annote = "Algorithm to type parts of a program and underline parts that are not typeable. 15 references." } @InProceedings{Gordon-etal78, Author = "M. Gordon and R. Milner and L. Morris and M. Newey and C. Wadsworth", Title = "A Meta Language for Interactive Proof in LCF", Organization = ACM, BookTitle = "Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, Tucson, Arizona", Month = jan, Year = 1978, Pages = "119-130", Annote = "Overview of ML and its application to proof systems. 36 references." } @Article{Gorlen87, Author = "Keith E. Gorlen", Title = "An Object-Oriented Class Library for C++ Programs", Journal = SPandE, Year = 1987, Volume = 17, Number = 12, Month = dec, Pages = "899-922", Annote = "8 references." } @InCollection{Granston-Russo93, Author = "Elana D. Granston and Vincent F. Russo", Title = "Signature-Based Polymorphism for C++", BookTitle = "The Evolution of C++", Publisher = "The MIT Press", Year = 1993, Editor = "Jim Waldo", Pages = "121-133", Address = "Cambridge, Mass.", Annote = "8 references." } @InProceedings{Graver-Johnson90, Author = "Justin O. Graver and Ralph E. Johnson", Title = "A Type System for Smalltalk", BookTitle = "Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, California", Month = jan, Year = 1990, Pages = "136-150", Annote = "19 references." } @TechReport{Graver89, Author = "Justin Owen Graver", Title = "Type-Checking and Type-Inference for Object-Oriented Programming Languages", Institution = "Department of Computer Science, University of Illinois at Urbana-Champaign", Number = "UUICDCS-R-89-1539 and UILU-ENG-89-1758", Month = aug, Year = 1989, Note = "The author's Ph.D. thesis.", Annote = "Subtypes not based on subclasses. 47 references." } @InCollection{Greenhouse-Boyland99, author = {Aaron Greenhouse and John Boyland}, title = {An Object-Oriented Effects System}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = jun, pages = {205-229}, annote = {14 references.}, URL = {http://www.springerlink.com/link.asp?id=tu309p114v1kbd8v} } @Article{Grogono-Bennett89, Author = "Peter Grogono and Anne Bennett", Title = "Polymorphism and Type Checking in Object-Oriented Languages", Journal = SIGPLAN, Volume = 24, Number = 11, Month = nov, Year = 1989, Pages = "43-75", Annote = "Coding binary operations in a type-checked language with dynamic binding. 12 references." } @InCollection{Groote93, Author = "P. de Groote", Title = "Defining lambda-typedd lambda-calculii by axiomatizing the typing relation", Journal = LNCS, Number = 665, Editor = "P. Enjalbert and A. Finkel and K. W. Wagner", Publisher = SV, Address = NY, Year = 1993, Booktitle = "STACS 93, 10th Annual Symposium on the Theoretical Aspects of Computer Science", Page = "712-23", Annote = "24 references" } @Article{Grosch83, Author = "Josef Grosch", Title = "Type Derivation Graphs - A Way to Visualize the Type Building Possibilities of Programming Languages", Journal = SIGPLAN, Month = dec, Year = 1983, Volume = 18, Number = 12, Pages = "60-68", Annote = "Graphics to visualize type combinations. 16 references." } @Article{Gunn-Harland81, Author = "Hamish I. E. Gunn and David M. Harland", Title = "Degrees of Constancy in Programming Languages", Journal = IPL, Year = 1981, Month = oct, Volume = 13, Number = 1, Pages = "35-38", Annote = "Distinguishes value constancy from the orthogonal notion of type constancy in language with first-class type objects. 13 references." } @Book{Gunter-Mitchell94, Title = "Theoretical Aspects of Object-Oriented Programming", Publisher = "The MIT Press", Year = 1994, Editor = "Carl A. Gunter and John C. Mitchell", Series = "Fondations of Computing", Address = "Cambridge, MA", Annote = "41 references." } @TechReport{Guttag-Horning-Williams81, Author = "John V. Guttag and James Horning and John Williams", Title = "FP with Data Abstraction and Strong Typing", Institution = "University of Newcastle Upon Tyne", Year = 1981, Month = jul, Note = "Also in {\em Proceedings of a Conference on Functional Programming and Computer Architecture}, ACM, pages 11-24, Wentworth by the Sea, New Hampshire, October, 1981", Annote = "Not only adds types to FP, but also very nice data abstraction facility. 19 references." } @Article{Halbert-OBrien87, Author = "Daniel C. Halbert and Patrick D. O'Brien", Title = "Using Types and Inheritance in Object-Oriented Languages", Journal = "IEEE Software", Volume = 4, Number = 5, Month = sep, Year = 1987, Pages = "71-79", Note = "Revised version of a paper presented at ECOOP '87 European Conference on Object-Oriented Programming, June, 1987 (Springer LNCS vol. 276). Also a Digital technical report, DEC-TR-437, April, 1986.", Annote = "Several worked examples. 7 references." } @Article{Hall-etal96, author = "Cordelia V. Hall and Kevin Hammond and Simon L. Peyton Jones and Philip L. Wadler", title = "Type Classes in Haskell", journal = "TOPLAS", year = 1996, volume = 18, number = 2, pages = "109-138", month = mar, annote = "39 references." } @InProceedings{Hanakata82, Author = "K. Hanakata", Title = "A Bit Table for Message passing in Multiple Inheritance Hierarchies", BookTitle = "1982 European Conference on Artificial Intelligence", Month = jul, Year = 1982, Organization = "University of Kaiserslantern", Pages = "106-107", Annote = "Message passing is a crucial aspect of efficiency in their multiple inheritance system. Static scheme for precomputation of tables for efficient lookup, main benefit being compressed space. 18 references." } @InCollection{Hanus91, Author = "M. Hanus", Title = "On the Relationship between Algebraic Module Specifications and Program Modules", BookTitle = "TAPSOFT '91, Proceedings of the International Joint Conference on Theory and Practice of Software Development, Brighton, UK, Volume 2, Advances in Distributed Computing (ADC) and Colloquium on Combining Paradigms for Software Development (CCPSD)", Publisher = SV, Year = 1991, Editor = "S. Abramsky and T. S. E. Maibaum", Series = LNCS, Volume = 494, Pages = "83-98", Address = NY, Month = apr } @Article{Harland-Gunn82, Author = "David M. Harland and Hamish I. E. Gunn", Title = "Another look at Enumerated Types", Journal = SIGPLAN, Volume = 17, Number = 7, Month = jul, Year = 1982, Pages = "62-71", Annote = "Scope rules and enumerated types. 15 references." } @Article{Harland-Szyplewski-Wainwright85, Author = "David M. Harland and Martyn W. Szyplewski and John B. Wainwright", Title = "An Alternative View of Polymorphism", Journal = SIGPLAN, Volume = 20, Number = 10, Month = oct, Year = 1985, Pages = "23-35", Annote = "Advocates dynamic type checking with types as values and guards on variable cells. 10 references." } @Article{Harland84a, Author = "David M. Harland", Title = "User-Defined Types in a Polymorphic Language", Journal = "The Computer Journal", Volume = 27, Number = 1, Month = feb, Year = 1984, Pages = "47-56", Annote = "Dynamic view of type equivalence essential for types as values. Argues against wholly static type checking. Typeof operator, tagged cells, dynamic type checking when necessary, no substitution property in the language. Type equivalence is tag equivalence, that is, object equivalence for type implementation objects. Record constancy separated from field constancy. Abstract types constructed positionally, no names given to the operations by the type definition. 15 references." } @Book{Harland84b, Author = "D. M. Harland", Title = "Polymorphic Programming Languages: Design and Implementation", Publisher = Wiley, Address = NY, Year = 1984 } @Article{Harper-Duba-Macqueen93, Author = "Robert Harper and Bruce F. Duba and David Macqueen", Title = "Typing first-class continuations in ML", Journal = "Journal of Functional Programming", Year = 1993, Volume = 3, Number = 4, Month = oct, Pages = "465-484", Annote = "42 references." } @InCollection{Harper-Honsell-Plotkin87, Author = "Robert Harper and Furio Honsell and Gordon Plotkin", Title = "A Framework for Defining Logics", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "194-204", Month = jun, Annote = "The Logical Framework, LF. 23 references." } @Article{Harper-Housell-Plotkin93, Author = "Robert W. Harper and F. Housell and G. Plotkin", Title = "A Framework for Defining Logic", Year = 1993, Journal = JACM, Volume = 40, Number = 1, Pages = "143-184", Annote = "55 references. The Type Theory LF" } @InProceedings{Harper-Lillibridge94, Author = {Robert Harper and Mark Lillibridge}, Title = "A Type-Theoretic Approach to Higher-Order Modules with Sharing", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = jan, Year = 1994, Organization = ACM, Address = NY, Pages = "123-137", Annote = "46 references." } @TechReport{Harper-MacQueen-Milner86, Author = "Robert Harper and David MacQueen and Robin Milner", Title = "Standard {ML}", Institution = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Month = mar, Year = 1986, Number = "ECS-LFCS-86-2", Annote = "7 references." } @InCollection{Harper-Milner-Tofte87, Author = "Robert Harper and Robin Milner and Mads Tofte", Title = "A Type Discipline for Program Modules", BookTitle = "Proceedings of the International Joint Conference on Theory and Practice of Software Development (TAPSOFT)", Series = LNCS, Volume = 250, Month = mar, Year = 1987, Pages = "308-319", Publisher = SV } @InProceedings{Harper-Mitchell-Moggi89, Author = "Robert Harper and John C. Mitchell and Eugenio Moggi", Title = "Higher-Order Modules and the Phase Distinction", BookTitle = "Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, California", Publisher = ACM, Month = jan, Year = 1990, Pages = "341-354", Note = "An expanded version is found in CMU-CS-89-197, October 1989", Annote = "18 references." } @TechReport{Harper-Mitchell90, Author = "Robert Harper and John C. Mitchell", Title = "On the Type Structure of Standard ML", Institution = "School of Computer Science, Carnegie Mellon", Year = 1990, Number = "CMU-CS-90-137", Month = may, Annote = "64 references." } @Article{Harper-Mitchell93, Author = "Robert Harper and John C. Mitchell", Title = "On the Type Structure of Standard ML", Journal = TOPLAS, Year = 1993, Month = apr, Volume = 15, Number = 2, Pages = "211-252", Annote = "64 references. " } @InProceedings{Harper-Morrisett95, Author = {Robert Harper and Greg Morrisett}, Title = "Compiling Polymorphism Using Intentional Type Analysis", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = jan, Year = 1995, Organization = ACM, Address = NY, Pages = "130-141", Annote = "53 references." } @TechReport{Harper-Pfenning92, author = "Robert Harper and Frank Pfenning", title = "A Module System for a Programming Language Based on the {LF} Logical Framework", institution = "Carnegie Mellon University", address = "Pittsburgh, Pennsylvania", number = "CMU-CS-92-191", month = sep, year = "1992", note = "To appear in Journal of Logic and Computation", url = "http://www.cs.cmu.edu/~fp/elf-papers/lfproc92.ps.Z" } @TechReport{Harper-Pierce90, Author = "Robert W. Harper and Benjamin C. Pierce", Title = "Extensible Records Without Subtypes", Institution = CMU, Address = "Pittsburgh, Penn.", Year = 1990, Month = feb, Number = "CMU-CS-90-102", Note = "See also the 1991 POPL proceedings.", Annote = "Second order calculus with records that is compared with Remy and Cardelli and Mitchell's work. 19 references." } @TechReport{Harper85a, Author = "Robert W. Harper", Title = "Aspects of the Implementation of Type Theory", Institution = "Department of Computer Science, Cornell University", Address = "Ithaca, N.Y.", Year = 1985, Month = apr, Number = "TR 85-675", Annote = "Building an automated programming logic, the PRL system. The author's doctoral dissertation. 85 references." } @InProceedings{Harper85b, Author = "Robert Harper", Title = "Modules and Persistence in Standard ML", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "419-430", Annote = "7 references." } @TechReport{Harper86, Author = "Robert Harper", Title = "Introduction to Standard ML", Institution = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Month = nov, Year = 1986, Number = "ECS-LFCS-86-14", Annote = "6 references." } @Article{Harper94, author = "Robert Harper", title = "A Simplified Account of Polymorphic References", journal = "Information Processing Letters", year = 1994, volume = 51, pages = "201-206" } @Article{Harper96, author = "Robert Harper", title = "A note on ``A Simplified Account of Polymorphic References''", journal = "Information Processing Letters", year = 1996, volume = 57, number = 1, month = jan, pages = "15-16", annote = "What has to be proved for soundness. 5 references." } @Article{Harris91, Author = "Warren Harris", Title = "Contravariance for the rest of us", Journal = JOOP, Year = 1991, Volume = 4, Number = 7, Month = "Nov/Dec", Pages = "10-18", Annote = "5 references." } @Article{Hauck93, Author = "Franz Hauck", Title = "Inheritance Modeled with Explicit Bindings: An Approach to Typed Inheritance", Journal = SIGPLAN, Volume = 28, Number = 10, Month = oct, Year = 1993, Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Pages = "231-239", Annote = "10 references." } @TechReport{Hayes-Coleman89, Author = "Fiona Hayes and Derek Coleman", Title = "Objects and Inheritance: An Algebraic View", Institution = "Information Management Lab, Hewlett Packard Laboratories", Type = "Technical Memo", Number = "?", Month = nov, Year = 1989, Annote = "8 references." } @PhDThesis{Haynes82, Author = "Christopher T. Haynes", Title = "A Theory of Data Type Representation Independence", School = "Univ. of Iowa, Dept. of Computer Science", Year = 1982, Note = "Technical Report 82-04." } @Article{Heering-Klink85, Author = "Jan Heering and Paul Klint", Title = "Towards Monolingual Programming Environments", Journal = TOPLAS, Month = apr, Year = 1985, Volume = 7, Number = 2, Pages = "183-213", Annote = "Discusses type checking in a language that incorporates features for debugging and command interpretation. Elastic type checking is sought which checks types as soon as information is available. 31 references." } @Article{Heinaenen83, Author = "Juha Heinaenen", Title = "A Programmer Controlled Approach to Data and Control Abstraction", Journal = SIGPLAN, Year = 1983, Month = jun, Volume = 18, Number = 6, Pages = "41-52", Note = "Proceedings of the SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco, CA", Annote = "Extending the Lukko language downward efficiently. Lukko provides a skeleton abstraction language and interface specs for machine dependent parts. In-line expansion. 27 references." } @InProceedings{Heintze-Riecke98, author = {Nevin Heintze and Jon G. Riecke}, title = {The {SLam} Calculus: Programming with Secrecy and Integrity}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = jan, pages = {365-377}, annote = {23 references.} } @InCollection{Helmink90, Author = "L. Helmink", Title = "Resolution and Type Theory", BookTitle = "ESOP '90 3rd European Symposium on Programming, Copenhagen, Denmark", Month = may, Year = 1990, Pages = "197-211", Editor = "N. Jones", Publisher = SV, Address = NY, Series = LNCS, Volume = 432 } @TechReport{Henglein89, Author = "Fritz Henglein", Title = "Polymorphic Type Inference and Semi-Unification", Institution = "Department of Computer Science, Courant Institute of Mathematical Sciences, New York University", Address = NY, Month = may, Year = 1989, Number = 443, Annote = "123 references." } @InCollection{Henglein92, Author = "Fritz Henglein", Title = "Dynamic Typing", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "233-253", Annote = "24 references" } @Article{Henglein93, Author = "Fritz Henglein", Title = "Type Inference with Polymorphic Recursion", Journal = "ACM Transactions on Programming Languages and Systems", Volume = 15, Number = 3, Month = apr, Year = 1993, Pages = "253-289", Annote = "66 references. " } @Article{Henglein99, author = {Fritz Henglein}, title = {Breaking Through the $n^3$ Barrier: Faster Object Type Inference}, journal = TAPOS, year = 1999, volume = 5, number = 1, pages = {57-72}, annote = {34 references.} } @Article{Herlihy-Liskov82, Author = "Maurice Herlihy and Barbara Liskov", Title = "A Value Transmission Method for Abstract Data Types", Journal = TOPLAS, Volume = 4, Number = 4, Month = oct, Year = 1982, Pages = "527-551", Annote = "19 references." } @Book{Hilfinger83, Author = "Paul N. Hilfinger", Title = "Abstraction Mechanisms and Language Design", Publisher = MITP, Year = 1983, Address = "Cambridge, Mass.", Note = "Ph. D. Thesis, Carnegie-Mellon University, 1981", Annote = "Design principles for abstraction mechanisms. Purposes of an abstraction mechanism are are 1) expressiveness, 2) documentation, 3) consistency checking and 4) freedom from detail. Criteria for evaluation are 1) expressiveness, 2) freedom from detail (incrementality), 3) expressiveness of intent and 4) simplicity. Demonstrates their utility by showing how the principles led to improvements in Ada. 35 references." } @Article{Hilfinger88, Author = "Paul N. Hilfinger", Title = "An Ada Package for Dimensional Analysis", Journal = TOPLAS, Volume = 10, Number = 2, Month = apr, Year = 1988, Pages = "189-203", Annote = "Improved version of the package presented in the author's thesis. 8 references." } @InCollection{Hindley82, Author = "J. R. Hindley", Title = "The Simple Semantics for Coppo-Dezani-Sall{\'e} Types", Series = LNCS, Publisher = SV, Address = NY, BookTitle = "International Symposium on Programming, 5th Colloquium, Turin, April, 1982", Volume = 137, Pages = "212-226", Editor = "M. Dezani-Ciancaglini and U. Montanari", Year = 1982, Annote = "9 references." } @Article{Hindley83, Author = "J. R. Hindley", Title = "The Completeness Theorem for Typing lambda-Terms", Journal = "Theoretical Computer Science", Pages = "1-18", Volume = 22, Number = "1,2", Month = jan, Year = 1983, Annote = "Rules for type assignment. 19 references." } @Book{Hindley97, author = {J. Roger Hindley}, title = {Basic Simple Type Theory}, publisher = {Cambridge University Press}, year = 1997, volume = 42, series = {Cambridge Tracts in Theoretical Computer Science}, address = {Cambridge, UK}, annote = {Many references.} } @InProceedings{Hirst-Dinesh91, Author = "G. Steve Hirst and T. B. Dinesh", Title = "The Combination of Specifications and the Induced Relations in Object Oriented Programs", BookTitle = "Proceedings of the Second International Conference on Algebraic Methodology and Software Technology", Year = 1991, Pages = "41-44", Organization = "The University of Iowa, Department of Computer Science", Address = "Iowa City, Iowa", Month = may, Annote = "4 references." } @InProceedings{Hoang-Mitchell95, Author = {My Hoang and John C. Mitchell}, Title = "Lower bounds on type inference with subtypes", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = jan, Year = 1995, Organization = ACM, Address = NY, Pages = "176-185", Annote = "19 references." } @InProceedings{Hoffman-Pierce95, Author = "Martin Hofmann and Benjamin Pierce", Title = "Positive Subtyping", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = jan, Year = 1995, Organization = ACM, Address = NY, Pages = "186-197", Annote = "25 references." } @TechReport{Hofmann-Pierce92, Author = "Martin Hofmann and Benjamin Pierce", Title = "An Abstract View of Objects and Subtyping", Institution = "Department of Computer Science, University of Edinburgh", Year = 1992, Number = "ECS-LFCS-92-226", Address = "Edinburgh, U.K.", Month = aug, Annote = "Preliminary Report, 40 references." } @TechReport{Hofmann-Pierce94, Author = "Martin Hofmann and Benjamin Pierce", Title = "Positive Subtyping", Institution = "Department of Computer Science, University of Edinburgh", Year = 1994, Number = "ECS-LFCS-94-303", Address = "Edinburgh, U.K.", Month = sep, Note = "An extended abstract will appear in the POPL'95 proceedings. Available by anonymous ftp from {\tt ftp.dcs.ed.ac.uk} in file {\tt pub/bcp/pos.ps.Z}.", Annote = "25 references." } @InCollection{Hofmann-Pierce94a, author = "Martin Hofmann and Benjamin Pierce", title = "A Unifying Type-Theoretic Framework for Objects", booktitle = "STACS 94 11th Annual Symposium on Theoretical Aspects of Computer Science, Caen, France, Proceedings", publisher = SV, year = 1994, editor = "P. Enjalbert and E. W. Mayr and K. W. Wagner", volume = 775, series = LNCS, pages = "251-262", address = NY, annote = "27 references." } @article{Hofmann-Pierce94b, author = "Martin Hofmann and Benjamin Pierce" , title = "A Unifying Type-Theoretic Framework for Objects", journal = "Journal of Functional Programming", note = "Previous versions appeared in the Symposium on Theoretical Aspects of Computer Science, 1994, (pages 251--262) and, under the title ``An Abstract View of Objects and Subtyping (Preliminary Report)", year = 1995 } @InCollection{Horn87, Author = "Chris Horn", Title = "Conformance, Genericity, Inheritance and Enhancement", BookTitle = "ECOOP '87, European Conference on Object-Oriented Programming, Paris, France", Editor = "Jean Bezivin and others", Publisher = SV, Address = NY, Month = jun, Year = 1987, Pages = "223-233", Note = "Lecture Notes in Computer Science, Volume 276", Annote = "10 references." } @Article{House83, Author = "R. T. House", Title = "A Proposal for an Extended Form of Type Checking of Expressions", Journal = "The Computer Journal", Volume = 26, Number = 4, Month = nov, Year = 1983, Pages = "366-374" } @InCollection{Howard80, Author = "W. A. Howard", Title = "The Formulae-as-Types notion of Construction", BookTitle = "To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism", Editor = "J. P. Seldin and J. R. Hindley", Publisher = "Academic Press, Inc.", Address = NY, Year = 1980, Pages = "479-490", Annote = "Propositions as types, the Curry-Howard isomorphism. 5 references." } @InProceedings{Howard96, author = {Brian Howard}, title = {Inductive, Coinductive, and Pointed Types}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '96)", Series = SIGPLAN, Volume = "31(6)", Month = jun, Year = 1996, organization = ACM, pages = {102-109}, annote = {26 references.} } @Article{Hoyer84, Author = "Wolfgang Hoyer", Title = "Some Remarks on Records With Variants", Journal = SIGPLAN, Volume = 19, Number = 3, Month = mar, Year = 1983, Annote = "5 references." } @Book{Huet90, Editor = "Gerard Huet", Title = "Logical Foundations of Functional Programming", Publisher = Addison-Wesley, Address = NY, Year = 1990, Series = "The UT Year of Programming Series", Annote = "Collection of papers." } @InCollection{Huet93, Author = "G. Huet", Title = "The Gallina Specification Language: A Case Study", Series = "Lecture Notes in Computer Science", Number = 652, Publisher = SV, Address = "Berlin, Germany", Editor = "R. Shyamasundar", Pages = "229-240", Year = 1993, Booktitle = "Foundations of Software Technology and Theortical Computer Science. 12th Conference", Annote = "16 references" } @InCollection{Hyland-Pitts87, Author = "M. E. Hyland and A. M. Pitts", Title = "The Theory of Constructions: Categorical Semantics and Topos-Theoretic Models", BookTitle = "Categories in Computer Science and Logic, Boulder, Colo.", Editor = "John W. Gray and Andre Scedrov", Year = 1987, Series = "Contemporary Mathematics", Volume = 92, Publisher = "American Mathematical Society", Address = "Providence, R.I.", Pages = "137-199", Annote = "46 references." } @TechReport{Hyland-Robinson-Rosolini88, Author = "Martin Hyland Edmund Robinson and Pino Rosolini", Title = "Algebraic Types in {PER} Models", Month = sep, Year = 1988, Number = "88-234", Institution = "Department of Computing and Information Science, Queen's University at Kingston", Address = "Kingston, Ontario, Canada", Annote = "Huet's conjecture. 7 references." } @Article{Ichbiah-etal79, Author = "J. D. Ichbiah and J. G. P. Barnes and J. C. Heliard and B. Krieg-Brueckner and O. Roubine and B. A. Wichmann", Title = "Reference Manual and Rationale for the Ada Programming Language", Journal = SIGPLAN, Volume = 14, Number = 6, Month = jun, Year = 1979, Note = "This version of the language is now obsolete, but the rationale (part B) is still valuable.", Annote = "Rationale explains various design choices. Packages, interesting numeric types, exception handling. 70 references in part B." } @Article{Igarashi-Pierce-Wadler01, author = "Atsushi Igarashi and Benjamin Pierce and Philip Wadler", title = "{Featherweight Java}: {A} Minimal Core Calculus for {Java} and {GJ}", month = may, journal = TOPLAS, volume = 23, number = 3, pages = {396-459}, year = 2001 } @InCollection{Igarashi-Pierce99, author = {Atsushi Igarashi and Benjamin C. Pierce}, title = {Foundations for Virtual Types}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = jun, pages = {161-185}, annote = {35 references.} } @InProceedings{Igarashi-Viroli02, author = {Atsushi Igarashi and Mirko Viroli}, title = {On Variance-Based Subtyping for Parameteric Types}, booktitle = {ECOOP 2002 --- Object-Oriented Programming, 16th European Conference, M{\'a}laga, Spain, Proceedings}, pages = {441-469}, year = 2002, editor = {Boris Magnusson}, volume = 2374, series = LNCS, address = {Berlin}, month = jun, publisher = SV, annote = {37 references.} } @InProceedings{Ingalls78, Author = "Daniel H. H. Ingalls", Title = "The Smalltalk-76 Programming System Design and Implementation", Organization = ACM, BookTitle = "Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, Tucson, Arizona", Month = jan, Year = 1978, Pages = "9-16", Annote = "Virtues of message passing, object-oriented models. The virtual memory system and other parts of the implementation. 11 references." } @InProceedings{Ingalls86, Author = "Daniel H. H. Ingalls", Title = "A Simple Technique for Handling Multiple Polymorphism", Booktitle = {OOPLSA '86: Conference proceedings on Object-oriented programming systems, languages and applications}, Editor = {Norman Meyrowitz}, Location = "Portland, Oregon", Address = NY, Publisher = ACM, Series = SIGPLAN, Volume = {21(11)}, Month = nov, Year = 1986, Pages = "347--349", Annote = "Each message send in a language like Smalltalk-80 reduces the polymorphism of the call on one argument. The modularity of code can be maintained by message sending on each argument of a binary or n-ary operation. 1 reference." } @Book{Ishikawa93, Author = "Hiroshi Ishikawa", Title = "Object Oriented Database System: Design and implementation for advanced applications", Publisher = SV, Year = 1993, Address = NY, Annote = " 90 references" } @Article{Jacobs90, Author = "Dean Jacobs", Title = "Type Declarations as Subtype Constraints in Logic Programming", Journal = SIGPLAN, Volume = 25, Number = 6, Month = jun, Year = 1990, Pages = "165-173", Note = "Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, White Plains, NY", Annote = "12 references." } @InProceedings{Jategaonkar-Mitchell88, Author = "Lalita A. Jategaonkar and John C. Mitchell", Title = "{ML} with Extended Pattern Matching and Subtypes (preliminary version)", BookTitle = "ACM Conference on LISP and Functional Programming, Snowbird, Utah", Year = 1988, Month = jul, Pages = "198-211", Annote = "12 references." } @TechReport{Jategaonkar89, Author = "Lalita A. Jategaonkar", Title = "{ML} with Extended Pattern Matching and Subtypes", Institution = MITLCS, Year = 1989, Number = 468, Address = "Cambridge, Mass.", Month = aug } @Article{Jenkins-Leavens96, Author = "Steven Jenkins and Gary T. Leavens ", Title = "Polymorphic Type-Checking in Scheme", Journal = "Computer Lanugages", Volume = 22, Number = 4, Year = 1996, Pages = "215-223", URL = "http://dx.doi.org/10.1016/S0096-0551(97)00002-7", Annote = "13 references." } @Article{Jenks-Trager81, Title = "A Language for Computational Algebra", Author = "Richard D. Jenks and Barry M. Trager", Journal = SIGPLAN, Volume = 16, Number = 11, Month = nov, Year = 1981, Pages = "22-29", Annote = "Extensible parameterized types and generic operators. Abstract data types as general 'as possible'. Notions of 'domains' and 'catagories'. 16 references." } @Article{Johnson-Morris76, Author = "R. T. Johnson and J. B. Morris", Title = "Abstract Data Types in the Model Programming Language", Journal = SIGPLAN, Year = 1976, Volume = 8, Number = 2, Month = feb, Pages = "36-46", Note = "Proceedings of Conference on Data: Abstraction, Definition and Structure", Annote = "Abstract data types in model, a scientific language. 18 references." } @InProceedings{Johnson-Walz86, Author = "Gregory F. Johnson and Janet A. Walz", Title = "A Maximum-Flow Approach to Anomaly Isolation in Unification-Based Incremental Type Inference", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Organization = ACM, Month = jan, Year = 1986, Pages = "44-57", Annote = "A language-based editor's error isolation approach. 12 references." } @Article{Johnson-Zweig91, Author = "Johnson-Zweig", Title = "Delegation in C++", Journal = JOOP, Year = 1991, Volume = 4, Number = 7, Month = "Nov/Dec", Pages = "31-34", Annote = "8 references." } @Article{Johnson86, Author = "Ralph E. Johnson", Title = "Type-Checking Smalltalk", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "315-321", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Argues that to type check Smalltalk-80 with the goal of efficient compiled code, the best approach is to treat types as sets of classes, i.e. unions. Classes are parameterized. Polymorphism uses bounded quantification, type checking requires case analysis, and a block whose body is illegally typed has a legal type. Case analysis might be exponential. Some type inference is done, but in general declarations are required. The perform method and the new primitive are not type checked. 13 references." } @InCollection{Jones90b, Author = "Neil D. Jones", Title = "Partial Evaluation, Self-application, and types", BookTitle = "17th International Colloquium on Automata, Languages, and Programming (ICALP), Warwick, England", Publisher = SV, Year = 1990, Editor = "M. S. Paterson", Series = LNCS, Pages = "639-659", Address = NY, Month = jul } @InCollection{JonesMark92, Author = "Mark P. Jones", Title = "A Theory of Qualified Types", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "287-306", Annote = "22 references" } @InProceedings{JonesMark93, author = "Mark P. Jones", booktitle = "FPCA '93: Conference on Functional Programming and Computer Architecture, Copenhagen, Denmark", title = "{A} system of constructor classes: overloading and implicit higher-order polymorphism", year = 1993, publisher = "ACM Press", address = NY, url = "ftp://nebula.cs.yale.edu/pub/yale-fp/papers/fpca93.dvi.Z", month = jun, Pages = "52-61" } @InCollection{JonesMark94, Author = "Mark P. Jones", Title = "ML Typing, Explicit Polymorphism and Qualified Types", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "56-75", Month = apr, Annote = "25 references." } @Article{JonesMark95, author = "Mark P. Jones", title = "{A} system of constructor classes: overloading and implicit higher-order polymorphism", journal = "Journal of Functional Programming", year = 1995, volume = 5, number = 1, pages = "1-35", month = jan, note = "An earlier version appeared in FPCA '93", annote = "23 references." } @InProceedings{JonesMark97, author = {Mark P. Jones}, title = {First-class Polymorphism with Type Inference}, booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France}, year = 1997, organization = ACM, address = NY, month = jan, pages = {483-496}, annote = {34 references.} } @InProceedings{Kaes92, Author = "Stefan Kaes", Title = "Type Inference in the Presence of Overloading, Subtyping, and Recursive Types", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "193-204", Organization = ACM, Month = jun, Annote = "24 references." } @Article{Kaiser-Hailpern92, Author = "Gail E. Kaiser and Brent Hailpern", Title = "An Object-Based Programming Model for Shared Data", Journal = TOPLAS, Year = 1992, Volume = 14, Number = 2, Month = apr, Pages = "201-264", Annote = "Support for shared data in a distributed environment. 56 references." } @Article{Kamareddine-Nederpelt94, author = {Fairouz Kamareddine and Rob Nederpelt}, title = {A unified approach to type theory through a refined $\lambda$-calculus}, journal = TCS, year = 1994, volume = 136, number = 1, month = dec, pages = {183-216}, annote = {31 references.} } @InProceedings{Kanellakis-Waller90, Author = "Abiteboul S. Kanellakis and E. Waller ", Title = "Method Schemas", Year = 1990, Organization = "PODS", BookTitle = "Proceedings of ACM" } @Article{Kaplan-Ullman80, Author = "Marc A. Kaplan and Jeffrey D. Ullman", Title = "A Scheme for the Automatic Inference of Variable Types", Journal = JACM, Month = jan, Year = 1980, Pages = "128-145", Volume = 27, Number = 1, Annote = "Inference of the types of variables from data available in the program without using declarations. Strong but possibly inefficient algorithm. 13 references." } @Article{Karlsson-Petersson82, Author = "Kent Karlsson and Kent Petersson (eds.)", Title = "Notes from: The Aspenas Symposium on Functional Languages and Computer Architecture", Journal = SIGPLAN, Volume = 17, Number = 11, Month = nov, Year = 1982, Pages = "14-23", Annote = "Panel discussion about types including MacQueen's principles for a typing system." } @InProceedings{Katiyar-Luckham-Mitchell94, Author = "Dinesh Katiyar and David Luckham and John Mitchell", Title = "A Type System for Prototyping Languages", Pages = "138-150", Booktitle = "Conference Record of POPL '94: 21st ACM SIGPLAN--SIGACT Symposium of Principles of Programming Languages, Portland, Oregon", Year = 1994, Organization = ACM, Month = jan, Annote = "27 references." } @Article{Katiyar-etal94, Author = "Dinesh Katiyar and David Luckham and John Mitchell and Sigurd Meldal", Title = "Polymorphism and Subtyping in Interfaces", Journal = SIGPLAN, Year = 1994, Volume = 29, Number = 8, Month = aug, Pages = "22-34", Note = "Proceedings of the Workshop on Interface Definition Languages.", Annote = "21 references." } @Article{Katzenelson83, Author = "Jacob Katzenelson", Title = "Introduction to Enhanced C (EC)", Journal = SPandE, Volume = 13, Number = 7, Month = jul, Year = 1983, Pages = "551-576", Annote = "Set-oriented language with user-defined data abstractions. Programmer chosen representations for some of the built-in types. 30 references." } @Article{Keane94, Author = "John A. Keane", Title = "An overview of the Flagship system", Journal = "Journal of Functional Programming", Year = 1994, Volume = 4, Number = 1, Month = jan, Pages = "19-45", Annote = "79 references." } @InProceedings{Kemper-Moerkotte, Author = "A. Kemper and G. Moerkotte", Title = "A Framework for Strong Typing and Type Inference in (Persistent) Object Models", BookTitle = "2nd International Conference on Database and Expert Systems Applications", Year = 1991, Organization = "Gesellschaft fur Informatik (GI-Emisa)", Month = aug } @Article{Kfoury-Tiuryn-Urzyczyn93, Author = "A.J. Kfoury and J. Tiuryn and P. Urzyczyn", Title = "Type Inference with Polymorphic Recursion", Journal = "ACM Transactions on Programming Languages and Systems", Volume = 15, Number = 3, Month = apr, Year = 1993, Pages = "290-311", Annote = "24 references." } @InProceedings{Kfoury-Wells99, author = {A. J. Kfoury and J. B. Wells}, title = {Principality and Decidable Type Inference for Finite-Rank Intersection Types}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = jan, pages = {161-174}, annote = {26 references.} } @InProceedings{Kieburtz83, Author = "Richard B. Kieburtz", Title = "Precise Typing of Abstract Data Type Specifications", BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Organization = ACM, Month = jan, Year = 1983, Pages = "109-116", Annote = "Theory of data types as approximate semantics for an equational theory. 9 references." } @InProceedings{Kieburtz99, author = {Richard B. Kieburtz}, title = {Taming Effects with Monadic Typing}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = jun, Year = 1999, organization = ACM, pages = {51-62}, annote = {17 references.} } @Article{Kilov91, Author = "Haim Kilov", Title = "Object concepts and bibliography", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 10, Month = oct, Pages = "11-12", Annote = "Discussion of and further readings for the Object Data Management Reference Model. 46 references." } @Book{Kim-Lochovsky89, Editor = "Won Kim and Frederick H. Lochovsky", Title = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Annote = "24 chapters, each with its own bibliography." } @InCollection{Kniesel99, author = {G\"{u}nter Kniesel}, title = {Type-Safe Delegation for Run-Time Component Adaptation}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = jun, pages = {351-366}, annote = {28 references.} } @Article{Knight89, Author = "Kevin Knight", Title = "Unification: A Multidisciplinary Survey", Journal = ACMCS, Volume = 21, Number = 1, Month = mar, Year = 1989, Pages = "93-124", Annote = "Covers use of unification in type inference, inheritance, Prolog, theorem proving, etc. 178 references." } @InProceedings{Kobayashi99, author = {Naoki Kobayashi}, title = {Quasi-Linear Types}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = jan, pages = {29-42}, annote = {22 references.} } @InProceedings{Kozen-Palsberg-Schwartzbach92, Author = "Dexter Kozen and Jens Palsberg and Michael Schwartzbach", Title = "Efficient Recursive Subtyping", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = jan, Pages = "419-428", Annote = "9 references" } @InCollection{Kozma-Laborczi82, Author = "L. Kozma and Z. Laborczi", Title = "On Implementation Problems of Shared Abstract Data Types", BookTitle = "Specification and Design of Software Systems, Conference on Operating Systems, Visegrad, Hungary, January, 1982", Year = 1982, Series = LNCS, Editor = "E. Knuth and E. J. Neuhold", Publisher = SV, Address = NY, Volume = 152, Pages = "146-152", Annote = "Implementing data types for objects shared by parallel processes. 7 references." } @InProceedings{Kristensen-etal83, Author = "Bent Bruun Kristensen and Ole Lehrmann Madsen and Birger Moller-Pedersen and Kristen Nygaard", Title = "Abstraction Mechanisms in the Beta Programming Language", BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Organization = ACM, Month = jan, Year = 1983, Pages = "285-298", Annote = "Patterns are used to cover all kinds of abstraction and describe data and procedure structures. 16 references." } @InCollection{Kristensen-etal87b, Author = "Bent Bruun Kristensen and Ole Lehrmann Madsen and Birger Moller-Pedersen and Kristen Nygaard", Title = "Classification of actions or Inheritance also for methods", BookTitle = "ECOOP '87, European Conference on Object-Oriented Programming, Paris, France", Editor = "Jean Bezivin and others", Publisher = SV, Address = NY, Month = jun, Year = 1987, Pages = "98-107", Note = "Lecture Notes in Computer Science, Volume 276", Annote = "12 references." } @InProceedings{Kutzner-Schmidt-Schauss99, author = {Arne Kutzner Manfred Schmidt-Schau{\ss}}, title = {A Non-Deterministic Call-by-Need Lambda Calculus}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = jun, Year = 1999, organization = ACM, pages = {324-335}, annote = {28 references.} } @Article{LaLonde-Thomas-Pugh86, Author = "Wilf R. LaLonde and Dave A. Thomas and John R. Pugh", Title = "An Exemplar Based {Smalltalk}", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "322-330", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Using exemplars or prototypes in Actra instead of classes and inheritance gives more expressive power. One can separate the logical (subtype) hierarchy from the physical (subclass) hierarchy. Distinct class and instance prototypes. Logical relationships are maintained via the class exemplars and implementation strategies are realized by instance exemplars. Changes needed to make Smalltalk-80 exemplar based. ``Or-inheritance'' allows an object to delegate to one or another exemplar (depending on its state), providing the exemplars all have the same interface. 17 references." } @Article{LaLonde89, Author = "Wilf R. LaLonde", Title = "Designing Families of Data Types Using Exemplars", Journal = TOPLAS, Volume = 11, Number = 2, Month = apr, Year = 1989, Pages = "212-248", Annote = "One should design families of related types. Design method partitions instances into behaviorally distinct subsets (multiple representations), to simply the implementation of each kind of instance and to make the implementation more modular. Lists as an example, show that making inheritance follow the subtype hierarchy does not always allow the most efficient implementation. That is, with multiple implementations, one can profitably use method lookup overhead to perform part of the computation. Incomplete specifications for familial classes, which should be usable. 51 references." } @InCollection{Lamarche87, Author = "Francois Lamarche", Title = "A Simple Model of the Theory of Constructions", BookTitle = "Categories in Computer Science and Logic, Boulder, Colo.", Editor = "John W. Gray and Andre Scedrov", Year = 1987, Series = "Contemporary Mathematics", Volume = 92, Publisher = "American Mathematical Society", Address = "Providence, R.I.", Pages = "201-216", Annote = "10 references." } @Article{Lamb-etal91, Author = "Charles Lamb and Gordon Landis and Jack Orenstein and Dan Weinreb", Title = "The ObjectStore Database System", Journal = CACM, Year = 1991, Volume = 34, Number = 10, Month = oct, Pages = "50-62", Annote = "16 references." } @Article{Lampson-Burstall88, Author = "B. Lampson and R. Burstall", Title = "Pebble, A Kernel Language for Modules and Abstract Data Types", Journal = "Information and Computation", Volume = 76, Number = "2/3", Month = "February/March", Year = 1988, Pages = "278-346", Note = "A revised version of the paper that appeared in the 1984 Semantics of Data Types Symposium, LNCS 173, pages 1--50.", Annote = "Pebble and its details. Pebble treats types as values and declarations as types. Dependent product types correspond to existential types and dependent arrow types correspond to universal types. 26 references." } @InProceedings{Lampson-Schmidt83, Author = "Butler W. Lampson and Eric E. Schmidt", Title = "Practical Use of a Polymorphic Applicative Language", Organization = ACM, BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = jan, Year = 1983, Pages = "237-255", Annote = "Language with lambda-abstraction, hierarchical naming and type checking. 16 references." } @Article{Lang-Pearlmutter86, Author = "Kevin J. Lang and Barak A. Pearlmutter", Title = "Oaklisp: an Object-Oriented Scheme with First Class Types", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "30-37", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Message passing based on the type of the first argument as in Smalltalk-80; however, message names (operations) are not symbols, but anonymous objects themselves. A method table controls generic invocation. Methods are closed with respect to their lexical environment. Inheritance and method combination via a whopper-like continue mechanism. Coercable types have operations that will coerce objects of their type to related types. Coercions produce new objects in general. Coercions seem to be used in programming binary operations. Types are also anonymous objects. Mixin managers ensure that no type object needs to be created twice. Types thought of as sets of objects; formalized semantics of type hierarchy, where subtypes are subsets. 16 references." } @Article{Lang-Stewart98, Author = "Jun Lang and David B. Stewart", Title = "A Study of the Applicability of Existing Exception-Handling Techniques to Component-Based Real-Time Software Technology", journal = TOPLAS, year = 1998, volume = 20, number = 2, month = mar, pages = {274-301}, annote = {60 references.} } @InCollection{Larcheveque92, Author = "J. M. Larcheveque", Title = "Interprocedural Type Propagation for Object-Oriented Languages", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "321-340", Annote = "26 references" } @InProceedings{Launchbury-Sabry97, author = {John Launchbury and Amr Sabry}, title = {Monadic State: Axiomatization and Type Safety}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = aug, Year = 1997, organization = ACM, pages = {227-238}, annote = {29 references.} } @PhDThesis{Lauterbach77, Author = "Carlos Helmut Lauterbach", Title = "Hierarchical Organization of Data Types for Program Modularity", School = "University of California, Los Angeles", Year = 1977 } @TechReport{Leavens-Clifton-Dorn06, author = {Gary T. Leavens and Curtis Clifton and Brian Dorn}, title = {A Type Notation for {Scheme}}, Year = 2006, Month = jan, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "05-18a", Note = "Available by anonymous ftp from ftp.cs.iastate.edu.", URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR05-18/TR.pdf}, Annote = "7 references." } @TechReport{Leavens-Clifton05, author = {Gary T. Leavens and Curtis Clifton}, title = {A Type Notation for {Scheme}}, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "05-03", Year = 2005, Month = feb, Note = "Available by anonymous ftp from ftp.cs.iastate.edu.", URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR05-03/TR.pdf}, Annote = "8 references." } @TechReport{Leavens-Dhara92, Author = "Gary T. Leavens and Krishna Kishore Dhara", Title = "A Foundation for the Model Theory of Abstract Data Types with Mutation and Aliasing (preliminary version)", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "92-35", Year = 1992, Month = nov, Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu", Annote = "14 references." } @TechReport{Leavens-Dhara94, Author = "Gary T. Leavens and Krishna Kishore Dhara", Title = "Blended Algebraic and Denotational Semantics for {ADT} Languages", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "93-21b", Year = 1994, Month = sep, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR93-21/TR.ps.Z", Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu", Annote = "32 references." } @TechReport{Leavens-Liskov85, Author = "Gary T. Leavens and Barbara Liskov", Title = "The Name Clash Problem and a Proposed Solution", Institution = MITLCS, Type = "DSG Note", Number = 130, Month = oct, Year = 1985, Annote = "Discusses the problems caused by where clauses in CLU and Argus, that is, the limits of their expressive power. Proposes making required operations parameters. 5 references." } @TechReport{Leavens-Weihl83, Author = "Gary T. Leavens and William E. Weihl", Title = "Exceptions and Type Compatibility", Institution = MITLCS, Type = "DSG Note", Number = 117, Month = sep, Year = 1983, Annote = "Discusses several type compatibility rules for proctypes to allow proctypes with differing signals to be assigned and passed as parameters. Problems with recursive rules." } @Article{Leavens84, Author = "Gary T. Leavens", Title = "Bibliography on Data Types", Journal = SIGPLAN, Year = 1984, Volume = 19, Number = 8, Month = aug, Pages = "41-50", Annote = "Hundreds of annotated references, but the bibliography is not selective and gives the reader no direction." } @TechReport{Leavens85, Author = "Gary T. Leavens", Title = "Abstractions and Type Checking in the Argus Library", Institution = MITLCS, Type = "DSG Note", Number = 135, Month = dec, Year = 1985, Annote = "Rationale for the design of the Argus library. 9 references." } @Article{Leavens91b, Author = "Gary T. Leavens", Title = "Introduction to the Literature on Object-Oriented Design, Programming, and Languages", Journal = "OOPS Messenger", Year = 1991, Volume = 2, Number = 4, Month = oct, Annote = "Hundreds of references." } @InCollection{Lecluse-Richard88, Author = "C. L{\'e}cluse and P. Richard", Title = "Modeling Inheritance and Genericity in Object Oriented-Databases", BookTitle = "ICDT '88, 2nd International Conference on Database Theory, Bruges, Belgium, August/September 1988", Editor = "M. Gyssens and J. Paredaens and D. Van Gucht", Series = LNCS, Volume = 326, Publisher = SV, Address = NY, Pages = "223-238", Year = 1988, Annote = "18 references." } @Article{Lee-Yi98, Author = "Oukseh Lee and Kwangkeun Yi", Title = "Proofs about a Folklore Let-Polymorphic Type Inference Algorithm", journal = TOPLAS, year = 1998, volume = 20, number = 4, month = jul, pages = {707-723}, annote = {14 references.} } @InProceedings{Leivant83a, Author = "Daniel Leivant", Title = "Polymorphic Type Inference", Organization = ACM, BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = jan, Year = 1983, Pages = "83-98", Annote = "26 references." } @InProceedings{Leivant83b, Author = "Daniel Leivant", Title = "Structural Semantics for Polymorphic Data Types (preliminary report)", Organization = ACM, BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = jan, Year = 1983, Pages = "155-166", Annote = "20 references." } @InProceedings{Leivant89, Author = "Daniel Leivant", Title = "Stratified polymorphism (extended summary)", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = jun, Year = 1989, Pages = "39-47", Annote = "Functions representable in the finitely-stratified lambda calculus are the super-elementary functions. 29 references." } @InProceedings{Leivant90, Author = "Daniel Leivant", Title = "Discrete Polymorphism", BookTitle = "Proceedings of the 1990 ACM Conference on LISP and Functional Programming, Nice, France", Organization = ACM, Month = jun, Year = 1990, Pages = "288-297", Annote = "Extension of the Coppo-Dezani lambda calculus with infinite intersection types. references." } @Article{Leroy-Mauny93, Author = "Xavier Leroy and Michel Mauny", Title = "Dynamics in ML", Journal = "Journal of Functional Programming", Year = 1993, Volume = 3, Number = 4, Month = oct, Pages = "431-463", Annote = "29 references." } @InProceedings{Leroy-Rouaix98, author = {Xavier Leroy and Fran\c{c}ois Rouaix}, title = {Security properties of typed applets}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = jan, pages = {391-403}, annote = {34 references.} } @InProceedings{Leroy94, Author = {Xavier Leroy}, Title = "Manifest types, modules, and separate compilation", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = jan, Year = 1994, Organization = ACM, Address = NY, Pages = "109-122", Annote = "27 references." } @InProceedings{Leroy95, Author = {Xavier Leroy}, Title = "Applicative functors and fully transparent higher-order modules", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = jan, Year = 1995, Organization = ACM, Address = NY, Pages = "142-153", Annote = "Enhancements to the ML module system. 18 references." } @InCollection{Leszczylowski-Wirsing91, Author = "Jacek Leszczylowski and Martin Wirsing", Title = "Polymorphism, Parameterization and typing: an algebraic specification perspective", BookTitle = "STACS 91, 8th Annual Symposium on Theoretical Aspects of Computer Science, Hamburg, Germany", Publisher = SV, Year = 1991, Editor = "C. Choffrut and M. Jantzen", Series = LNCS, Volume = 480, Pages = "1-15", Address = NY, Month = feb } @Article{Levin-Pierce03, AUTHOR = {Michael Y. Levin and Benjamin C. Pierce}, TITLE = {{TinkerType}: {A} Language for Playing with Formal Systems}, JOURNAL = {Journal of Functional Programming}, VOLUME = 13, NUMBER = 2, MONTH = mar, YEAR = 2003, URL = {http://www.cis.upenn.edu/~bcpierce/papers/tt-jfp.pdf} } @Article{Lieberman86, Author = "Henry Lieberman", Title = "Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "214-223", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Prototypes represent default behavior for a concept. Delegation is used instead of inheritance. Delegation is more flexible and general than inheritance. Inheritance cannot easily simulate delegation. 15 references." } @TechReport{Lindig93, author = {Christian Lindig}, title = {{STYLE}: A Practical Type Checker for {Scheme}}, institution = {Technische Universitat Braunschweig}, year = 1993, type = {Informatik-Bericht}, number = {93-10}, month = oct } @Article{Lipkie-etal82, Author = "Dr. Daniel E. Lipkie and Steven R. Evans and John K. Newlin and Robert L. Weissman", Title = "Star Graphics: An Object Oriented Implementation", Journal = "Computer Graphics", Volume = 16, Number = 3, Month = jul, Year = 1982, Pages = "115-124", Annote = "Discusses the Traits mechanism. 9 references." } @InProceedings{Liquori-Castagna96, author = "L. Liquori and G. Castagna", title = "A typed lambda calculus of objects", series = "Lecture Notes in Computer Science", booktitle = "1996 Asian Computing Conference", year = 1996 } @InCollection{Liquori97, author = {Luigi Liquori}, title = {Subtyping is Not a Good ``Match'' for Object-Oriented Languages}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = jun, pages = {146-169}, annote = {21 references.} } @Book{Liskov-etal81, Author = "Barbara Liskov and Russell Atkinson and Toby Bloom and Eliot Moss and J. Craig Schaffert and Robert Scheifler and Alan Snyder", Title = "CLU Reference Manual", Series = LNCS, Volume = 114, Publisher = SV, Address = NY, Year = 1981, Annote = "Strongly typed, exception handling, abstraction mechanisms." } @TechReport{Liskov-etal95, Author = "Barbara Liskov and Dorothy Curtis and Mark Day and Sanjay Ghemawat and Robert Gruber and Paul Johnson and Andrew C. Myers", Title = "Theta Reference Manual", Institution = MITLCS, Month = feb, Year = 1995, Number = "Programming Methodology Group Memo 88", URL = "http://clef.lcs.mit.edu/Thor-papers.html" } @Article{Liskov88, Author = "Barbara Liskov", Title = "Data Abstraction and Hierarchy", Journal = SIGPLAN, Volume = 23, Number = 5, Month = may, Year = 1988, Pages = "17-34", Note = "Revised version of the keynote address given at OOPSLA '87.", Annote = "When a subclass uses its superclass abstractly (as a client), then the superclass might just as well have been a component of the representation. When a subclass does not use its superclass abstractly, then this inheritance is an implementation detail that is best forgotten. So implementation inheritance may be useful but uninteresting from the point of view of design. Subtyping, as a semantic relation, is interesting because it allows one to keep track of design decisions, group and classify types, limit the effects of specification changes, and provides for generics. Data abstraction is fundamental to object oriented programming." } @TechReport{Liskov90, Author = "Barbara Liskov", Title = "Constraining Subtypes", Institution = MITLCS, Year = 1990, Type = "Mercury Design Note", Number = 49, Month = dec } @InProceedings{Litvinov98, Author = "Vassily Litvinov", Title = "Constraint-Based Polymorphism in {Cecil}: Towards a Practical and Static Type System", booktitle = {OOPSLA '98: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Series = SIGPLAN, Volume = "33(10)", Month = oct, Year = 1998, Pages = "388-411", URL = "ftp://ftp.cs.washington.edu/pub/chambers/sbp-oopsla.ps.gz", Note = "The proceedings mistakenly contain a preliminary version of the paper. The final version is at \url{ftp://ftp.cs.washington.edu/pub/chambers/sbp-oopsla.ps.gz}.", Publisher = ACM, Address = NY, Annote = "38 references." } @Article{Liu-Ku92, Author = "Bing Liu and Yuen-Wah Ku", Title = "ConstraintLisp: An Object-Oriented Constraint Programming Language", Journal = SIGPLAN, Month = nov, Year = 1992, Volume = 27, Number = 11, Pages = "17-26", Annote = "19 references." } @TechReport{Longo88, Author = "Giuseppe Longo", Title = "Some Aspects of Impredicativity", Institution = CMU, Month = apr, Year = 1988, Number = "CMU-CS-88-135", Note = "Lecture delivered at the {\em Logic Colloquium '87}, North Holland Studies in Logic, to appear.", Annote = "60 references." } @InCollection{Longo93, Author = "G. Longo", Title = "Types as Parameters", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Booktitle = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE", Pages = "658-670", Annote = "40 references" } @InProceedings{Lucassen-Gifford88, Author = "John M. Lucassen and David K. Gifford", Title = "Polymorphic Effect Systems", BookTitle = "Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, Calif.", Organization = ACM, Month = jan, Year = 1988, Pages = "47-57", Annote = "16 references." } @TechReport{Lucassen87, Author = "John M. Lucassen", Title = "Types and Effects: Towards the Integration of Functional and Imperative Programming", Institution = MITLCS, Month = aug, Year = 1987, Number = "TR-408", Annote = "The author's Ph. D thesis. Every expression has both a type and effect. Polymorphic effect checking. Allows functional and imperative programming to be merged. 45 references." } @Article{Lunau89, Author = "Charlotte Pii Lunau", Title = "Separation of Hierarchies in Duo-Talk", Journal = JOOP, Month = "July/August", Year = 1989, Pages = "20-25", Annote = "Inheritance of interfaces gives a subtype hierarchy, separate from the subclass hierarchy. Cannot replace inherited methods with an error message. Multiple implementations of a type. No behavioral specifications. 15 references." } @InCollection{Luo91, Author = "Z. Luo", Title = "Program Specification and Data Refinement in Type Theory", BookTitle = "TAPSOFT '91, Proceedings of the International Joint Conference on Theory and Practice of Software Development, Brighton, UK, Volume 1: Colloquium on Trees in Algebra and Programming (CAAP '91)", Publisher = SV, Year = 1991, Editor = "S. Abramsky and T. S. E. Maibaum", Series = LNCS, Volume = 493, Pages = "143-168", Address = NY, Month = apr } @Article{Ma-Kessler90, Author = "K.-L. Ma and R. R. Kessler", Title = "TICL---A Type Inference System for Common Lisp", Journal = SPandE, Volume = 20, Number = 6, Month = jun, Year = 1990, Pages = "593-624" } @InProceedings{Ma92, Author = "QingMing Ma", Title = "Parametericity as Subtyping", BookTitle = "Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", Year = 1992, Pages = "281-292", Organization = ACM, Month = jan, Annote = "27 references." } @Article{MacAuslans92, Author = "Joel MacAuslans", Title = "A Note on 'Towards a Type Theory for Active Objects'", Journal = "OOPS Messenger", Volume = 3, Number = 3, Month = jul, Year = 1992, Pages = "2-9", Annote = "3 references" } @Article{MacLennan83, Author = "B. J. MacLennan", Title = "Abstraction in the iAPX-432 Prototype Systems Implementation Language", Journal = SIGPLAN, Volume = 18, Number = 12, Month = dec, Pages = "86-95", Year = 1983, Annote = "Language definition excerpt. An object-oriented language with abstraction and classes. Classes defined hierarchically by giving a genus and a list of differences. Combining forms (packages) with classes allows multiple implementations of a given abstract type to coexist. Type implementation returning procs give generics. Partially implemented types can be defined and extended. Explicit manipulation of operators associated with a class object is used for protection. Trademarks and seals integrated into the type system. 6 references." } @TechReport{MacQueen-Burstall81, Author = "D. B. MacQueen and R. M. Burstall", Title = "Structure and Parameterization in a Typed Functional Language", Institution = "Bell Laboratories", Year = 1981, Month = sep, Number = "TM-81-11271-9", Annote = "Describes the type system of 'Hope' and its motivation. 20 references." } @InProceedings{MacQueen-Plotkin-Sethi84, Author = "David MacQueen and Gordon Plotkin and Ravi Sethi", Title = "An Ideal Model for Recursive Polymorphic Types", Organization = ACM, BookTitle = "Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah", Month = jan, Year = 1984, Pages = "165-174", Annote = "Model for type inference dealing with recursive types, formalizing the view of types as sets of values. Metric structure on types to establish existence and uniqueness of recursive type equations. 23 references." } @Article{MacQueen-Plotkin-Sethi86, Author = "David MacQueen and Gordon Plotkin and Ravi Sethi", Title = "An Ideal Model for Recursive Polymorphic Types", Journal = "Information and Control", Volume = 71, Number = "1/2", Month = "Oct./Nov.", Year = 1986, Pages = "95-130", Annote = "31 references." } @InProceedings{MacQueen-Sethi82, Author = "D. B. MacQueen and Ravi Sethi", Title = "A Semantic Model of Types for Applicative Languages", Publisher = ACM, BookTitle = "ACM Symp. on LISP and Functional Programming", Year = 1982, Pages = "243-252", Annote = "Types formalized as ideals. Polymorphism, soundness of type inference. 14 references." } @Article{MacQueen83, Author = "David MacQueen", Title = "Modules for Standard ML (Draft)", Journal = "Polymorphism: The ML/LCF/Hope Newsletter", Volume = "I", Number = 3, Month = dec, Year = 1983, Annote = "5 references." } @InProceedings{MacQueen84, Title = "Modules for {Standard} {ML}", Author = "David MacQueen", BookTitle = "Proceedings of the Symposium on {LISP} and Functional Programming, Austin, Texas", Organization = ACM, Pages = "198-207", Month = aug, Year = 1984 } @InProceedings{MacQueen86, Author = "David MacQueen", Title = "Using Dependent Types to Express Modular Structure", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Organization = ACM, Month = jan, Year = 1986, Pages = "277-286", Annote = "Discusses some practical problems with SOL and presents a stratified type system as an alternative. 26 references." } @Article{Madsen-Magnusson-Moller-Pedersen90, Author = "Ole Lehrmann Madsen and Boris Magnusson and Birger Moller-Pedersen", Title = "Strong Typing of Object-Oriented Languages Revisited", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = oct, Pages = "140-150", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "1 reference." } @Article{Maier-etal86, Author = "David Maier and Jacob Stein and Allen Otis and Alan Purdy", Title = "Development of an Object-Oriented DBMS", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "472-482", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "GemStone is an object-oriented database server that provides an object-oriented database language called OPAL. Based on Smalltalk-80. Optimistic concurrency control algorithms using shadows. Read/Write access control on segments. 45 references." } @InProceedings{Mairson93, Author = "Harry G. Mairson", Title = "A constructive logic of Multiple SubTyping", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = jan, Pages = "313-324", Annote = "21 references" } @Article{Mannino-Choi-Batory90, Author = "Micael V. Mannino and In Jun Choi and Don S. Batory", Title = "The Object-Oriented Functional Data Language", Journal = IEEETSE, Volume = 16, Number = 11, Month = nov, Year = 1990, Pages = "1258-1272", Annote = "Integration of functional and object-oriented languges. 42 references." } @InProceedings{Marlow-Wadler97, author = {Simon Marlow and Philip Wadler}, title = {A Practical Subtyping System for Erlang}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = aug, Year = 1997, organization = ACM, pages = {136-149}, annote = {21 references.} } @TechReport{Marti-Oliet-Meseguer90, Author = "Narciso Mart\'\i-Oliet and Jose Meseguer", Title = "Inclusions and Subtypes", Institution = "Computer Science Laboratory, SRI International", Year = 1990, Number = "SRI-CSL-90-16", Address = "333 Ravenswood Ave., Menlo Park, Calif.", Month = dec, Annote = "50 references." } @Article{Marti-Oliet-Meseguer96a, title = {Inclusions and Subtypes {I}: First Order Case}, author = {Narciso Mart\'\i-Oliet and Jos\'e Meseguer}, journal = {Journal of Logic and Computation}, volume = 6, pages = {409-438}, year = 1996 } @Article{Marti-Oliet-Meseguer96b, title = {Inclusions and Subtypes {II}: Higher-Order Case}, author = {Narciso Mart\'\i-Oliet and Jos\'e Meseguer}, journal = {Journal of Logic and Computation}, volume = 6, pages = {541-572}, year = 1996 } @TechReport{Martin-Lof80, Author = {Per Martin-L\"{o}f}, Title = "Intuitionistic Type Theory. Notes of Giowanni Sambin on a series of lectues given in Padova", Institution = "Univ. of Padova", Address = "Padova, Italy", Month = jun, Year = 1980 } @InCollection{Martin-Lof82, Author = {Per Martin-L\"{o}f}, Title = "Constructive Mathematics and Computer Programming", BookTitle = "Logic, Methodology, and Philosophy of Science VI (Proceedings of the Sixth International Congress; Hannover, 1979)", Editor = "L. J. Cohen and others", Series = "Studies in Logic and the Foundations of Mathematics", Volume = 104, Publisher = "North Holland", Address = "Amsterdam", Year = 1982, Pages = "153-175", Annote = "12 references." } @Book{Martin-Lof84, Author = {Per Martin-L\"{o}f}, Title = "Intuitionistic Type Theory", Publisher = "Bibioplois", Address = "Napoli", Year = 1984, Note = "Notes of Giowanni Sambin on a series of lectues given in Padova" } @InProceedings{Martin-Lof85, Author = {Per Martin-L\"{o}f}, Title = "Constructive Mathematics and Computer Programming", BookTitle = "Mathematical Logic and Programming Languages", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1985, Pages = "167-184" } @TechReport{Matthews82a, Author = "D. C. J. Matthews", Title = "Poly Report", Institution = "Computer Laboratory, University of Cambridge, Cambridge, England", Year = 1982, Month = aug, Number = 28, Note = "Reprinted in {\em Polymorphism: The ML/LCF/Hope Newsletter}, I(2), April, 1983.", Annote = "Extends ideas of Russell. Allows polymorphic operations which can manipulate abstract objects. Types may be passed explicitly or by inference. Overloading. Exceptions as in CLU. 3 references." } @TechReport{Matthews82b, Author = "D. C. J. Matthews", Title = "Introduction to Poly", Institution = "Computer Laboratory, University of Cambridge, Cambridge, England", Year = 1982, Month = may, Number = 29, Note = "Reprinted in {\em Polymorphism: The ML/LCF/Hope Newsletter}, I(2), April, 1983.", Annote = "Tutorial introduction to Poly. Examples of polymorphic list functions, double precision integer package and subrange type constructor." } @Article{Matthews85a, Author = "David C. J. Matthews", Title = "Poly Manual", Journal = SIGPLAN, Volume = 20, Number = 9, Month = sep, Year = 1985, Pages = "52-76", Annote = "Reference manual for Poly: a language with a polymorphic type system. This differs substantially from earlier versions of Poly. Still has types passed explicitly or by inference. Type marks are used in type checking and a set of objects which is like a module. 3 references." } @InProceedings{Matthews85b, Author = "David C. J. Matthews", Title = "An overview of the Poly Programming Language", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "265-274", Annote = "Types as first-class values in Poly. 6 references." } @UnPublished{Maung93, Author = "Ian Maung", Title = "A Study of Behavioural Subtyping", Note = "Obtained from the author", Year = 1993, Month = oct, Annote = "32 references." } @Article{McAllester-Zabih86, Author = "David McAllester and Ramin Zabih", Title = "Boolean Classes", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "417-423", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Classes are viewed as predicates. Boolean classes are constructed from other classes using and, or, and not. Boolean classes are used to abbreviate combinations of various classes. 3 references." } @PhDThesis{McCracken79, Author = "N. McCracken", Title = "An Investigation of a Programming Language with a Polymorphic Type Structure", School = "Syracuse University", Year = 1979 } @InCollection{McCracken84, Author = "Nancy McCracken", Title = "The Typechecking of Programs with Implicit Type Structure", BookTitle = "Semantics of Data Types: International Symposium, Sophia-Antipolis, France", Publisher = SV, Address = NY, Editor = "G. Kahn, D. B. MacQueen and G. Plotkin", Series = LNCS, Volume = 173, Month = jun, Year = 1984, Pages = "301-315", Annote = "Mix of explicit and implicit types. Least general predecessors. Algorithms for type inference. Result is a system that is not complete. Expansion is not defined. 8 references." } @Article{McGettrick79, Title = "Aspects of the Algol 68 Mode Structure", Author = "Andrew D. McGettrick", Journal = SIGPLAN, Volume = 14, Number = 7, Month = jul, Pages = "62-77", Year = 1979, Annote = "Considers Algol 68 modes and all sorts of wild extensions: e.g. mode d = proc (d) d. 31 references" } @Article{McGraw82, Title = "The VAL Language: Description and Analysis", Author = "James R. McGraw", Journal = TOPLAS, Volume = 4, Number = 1, Month = jan, Year = 1982, Pages = "44-82", Annote = "Describes the type structure in VAL. 54 references." } @Article{Medvidovic-etal98, author = {Nenad Medvidovic and Peyman Oreizy and Jason E. Robbins and Richard N. Taylor}, title = {Using Object-Oriented Typing to Support Architectural Design in the {C2} Style}, journal = SIGSOFT, year = 1996, editor = {David Garlan}, volume = 21, number = 6, month = nov, pages = {24-32}, note = {SIGSOFT '96: Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, San Francisco, California}, annote = {Component composability, substitutability (subtyping) and reuse. 27 references.} } @InCollection{Meertens81, Author = "Lambert Meertens", Title = "Issues in the Design of a Beginner's Programming Language", BookTitle = "Algorithmic Languages", Publisher = "IFIP, North-Holland", Address = "Amsterdam", Year = 1981, Pages = "167-184", Editor = "J. W. de Bakker and J. C. van Vliet", Annote = "Discusses type checking for the B language. 14 references." } @InProceedings{Meertens83, Author = "Lambert Meertens", Title = "Incremental Polymorphic Type Checking in B", Organization = ACM, BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = jan, Year = 1983, Pages = "265-275", Annote = "13 references." } @InCollection{Mendler87, Author = "N. P. Mendler", Title = "Recursive Types and Type Constraints in Second-Order Lambda Calculus", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "30-36", Month = jun, Annote = "13 references." } @Article{Mendler91, Author = "N. P. Mendler", Title = "Inductive Types and Type Constraints in the Second-order Lambda Calculus", Journal = "Annals of Pure and Applied Logic", Year = 1991, Volume = 51, Number = "1-2", Month = mar, Pages = "159 ff." } @InProceedings{Meseguer89a, Author = "J. Meseguer", Title = "Relating Models of Polymorphism", Organization = ACM, BookTitle = "Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = jan, Year = 1989, Pages = "228-241", Annote = "55 references." } @InProceedings{Meyer-Reinhold86, Author = "Albert R. Meyer and Mark B. Reinhold", Title = "'Type' is Not a Type: Preliminary Report", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Organization = ACM, Month = jan, Year = 1986, Pages = "287-295", Annote = "Why making 'type' a type causes problems. 31 references." } @Article{Meyer86, Author = "Bertrand Meyer", Title = "Genericity versus Inheritance", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "391-405", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "A comparison of generics and subtyping as styles of polymorphism. The programming language Eiffel, which is statically typed and object-oriented with multiple inheritance. Description of generics and default operation parameters in Ada. Modules equated with types in object-oriented languages. In Eiffel, a class can inherit (data) more than once from the same superclass. The simulation of inheritance with generics is not acceptable from a software engineering standpoint. One can simulate generics with inheritance in Eiffel, at the expense of some duplication of code. Eiffel itself has generics type parameters, but no constraints on generic type parameters. 15 references." } @Article{Millstein-Chambers02, author = "Todd Millstein and Craig Chambers", title = "Modular Statically Typed Multimethods", journal = "Information and Computation", year = 2002, pages = "76-118", month = may, volume = 175, number = 1, } @TechReport{Millstein-Chambers98, author = {Todd Millstein and Craig Chambers}, title = {Modular Statically Typed Multimethods}, institution = {University of Washington}, year = 1998, number = {UW-CSE-98-07-01}, month = jul, URL = "ftp://ftp.cs.washington.edu/homes/chambers/dubious.ps.gz" } @InCollection{Millstein-Chambers99, author = {Todd Millstein and Craig Chambers}, title = {Modular Statically Typed Multimethods}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = jun, pages = {279-303}, annote = {41 references.} } @PhdThesis{Millstein03, author = {Todd Millstein}, title = {Reconciling Software Extensibility with Modular Program Reasoning}, school = {Department of Computer Science \& Engineering, University of Washington}, year = {2003}, } @Article{Milner83, Author = "Robin Milner", Title = "A Proposal for Standard ML", Journal = "Polymorphism: The ML/LCF/Hope Newsletter", Volume = "I", Number = 3, Month = dec, Year = 1983, Note = "Also appeared in the Conference Record of the ACM Symposium on Lisp and Functional Programming, Austin, Texas, August 1984, pages 184-197 and as Tech. Report CSR-157-83, University of Edinburgh, Edinburgh, Scotland, 1983.", Annote = "3 references." } @InProceedings{Milner84, Author = "Robin Milner", Title = "A Proposal for Standard ML", BookTitle = "Conference Record of the ACM Symposium on {LISP} and Functional Programming, Austin, Texas", Organization = ACM, Month = aug, Year = 1984, Pages = "184-197", Note = "Also appeared as Tech. Report CSR-157-83, University of Edinburgh, Edinburgh, Scotland, 1983.", Annote = "3 references." } @InProceedings{Minsky83, Author = "Naftaly H. Minsky", Title = "Locality in Software Systems", BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Organization = ACM, Month = jan, Year = 1983, Pages = "299-312", Annote = "Discusses how the support for a proof of correctness of an invariant can be localized in a module and the problems with typical module constructs for this purpose. Protection based solution uses export connection rather than import connection to achieve minimal support. Connections based on privileges (operations) rather than on resources (types as a whole). Privileges can be granted to be redistributed or not. 26 references." } @InProceedings{Mitchell-Harper88, Author = "John C. Mitchell and Robert Harper", Title = "The Essence of ML", BookTitle = "Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, Calif.", Organization = ACM, Month = jan, Year = 1988, Pages = "28-46", Annote = "54 references." } @Unpublished{Mitchell-Honsell-Fisher92, Author = "John C. Mitchell and Furio Honsell and Kathleen Fisher", Title = "A Lambda Calculus of Objects and Method Specialization (summary)", Month = dec, Year = 1992, Note = "Obtained from the authors by anonymous ftp" } @InProceedings{Mitchell-Meldal-Madhav91, Author = "John Mitchell and Sigurd Meldal and Neel Madhav", Title = "An extension of Standard ML modules with subtyping and inheritance", BookTitle = "Conference Record of the Eighteenth Annual ACM Symposium on Principles of Programming Languages, Orlando", Organization = ACM, Month = jan, Year = 1991, Pages = "270-278", Annote = "32 references." } @InCollection{Mitchell-Moggi87, Author = "John C. Mitchell and Eugenio Moggi", Title = "Kripke-style models for typed lambda calculus", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "303-314", Month = jun, Annote = "24 references." } @InProceedings{Mitchell-Plotkin85, Author = "John C. Mitchell and Gordon D. Plotkin", Title = "Abstract Types have Existential Type", BookTitle = "Conference Record of the 12th Annual ACM Symposium on Principles of Programming Languages, New Orleans, Louisana", Publisher = ACM, Month = jan, Year = 1985, Pages = "37-51" } @Unpublished{Mitchell-Scedrov93, Author = "John C. Mitchell and Andre Scedrov", Title = "Notes on Sconing and Relators", Year = 1993, Note = "Obtained from the authors by anonymous ftp.", Annote = "40 references" } @InCollection{Mitchell-Scott87, Author = "John C. Mitchell and Philip J. Scott", Title = "Typed Lambda Calculus Models and Cartesian Closed Categories (preliminary version)", BookTitle = "Categories in Computer Science and Logic, Boulder, Colo.", Editor = "John W. Gray and Andre Scedrov", Year = 1987, Series = "Contemporary Mathematics", Volume = 92, Publisher = "American Mathematical Society", Address = "Providence, R.I.", Pages = "301-316", Annote = "18 references." } @InProceedings{Mitchell84a, Author = "John C. Mitchell", Title = "Coercion and Type Inference (Summary)", Organization = ACM, BookTitle = "Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah", Month = jan, Year = 1984, Pages = "175-185", Annote = "Semantic model of automatic coercions in a type-inferred language. Type containment in general. 26 references." } @PhDThesis{Mitchell84b, Author = "John Clifford Mitchell", Title = "Lambda Calculus Models of Typed Programming Languages", School = MIT, Month = aug, Year = 1984, Annote = "Discusses the second order lambda calculus, its features and semantics. Also discusses type inference and inference models. 106 references." } @InProceedings{Mitchell86, Author = "John C. Mitchell", Title = "Representation Independence and Data Abstraction (preliminary version)", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Organization = ACM, Month = jan, Year = 1986, Pages = "263-276", Annote = "Defines representation independence as meaning that programs cannot depend on the way a data type is implemented. Shows that the second order lambda calculus as defined in his thesis has this property. 22 references." } @Article{Mitchell88, Author = "John C. Mitchell", Title = "Polymorphic Type Inference and Containment", Journal = "Information and Computation", Volume = 76, Number = "2/3", Month = "February/March", Year = 1988, Pages = "211-249", Note = "An extended version of the paper that appeared in the 1984 Semantics of Data Types Symposium, LNCS 173, pages 257--278.", Annote = "Semantics for quantified types over arbitrary models of untyped lambda calculus. Inference models are a generalization of ideal models. 37 references." } @InProceedings{Mitchell90a, Author = "John C. Mitchell", Title = "Toward a typed foundation for method specialization and inheritance", BookTitle = "Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, Calif.", Organization = ACM, Month = jan, Year = 1990, Pages = "109-124" } @InCollection{Mitchell90b, Author = "John C. Mitchell", Title = "Type systems for programming languages", BookTitle = "Handbook of Theoretical Computer Science", Chapter = 8, Pages = "365-458", Volume = "B: Formal Models and Semantics", Editor = "J. van Leeuwen", Publisher = "North-Holland", Address = NY, Year = 1990, Annote = "140 references." } @Article{Mitchell91b, Author = "John C. Mitchell", Title = "Type Inference with Simple Subtypes", Journal = "Journal of Functional Programming", Year = 1991, Volume = 1, Number = 3, Month = jul, Pages = "245-286", Annote = "39 references." } @Article{Moffat81, Title = "A Model for Pascal-like Typing", Author = "David V. Moffat", Journal = SIGPLAN, Volume = 16, Number = 7, Month = jul, Year = 1981, Pages = "66-74", Annote = "Clear exposition of what is meant by various kinds of types and type equivalence rules. 11 references." } @InCollection{Monsuez93, Author = "B. Monsuez", Title = "Polymorphic Typing by Abstract Interpretation", Series = "Lecture Notes in Computer Science", Number = 652, Publisher = SV, Address = "Berlin, Germany", Editor = "R. Shyamasundar", Pages = "217-228", Year = 1993, Booktitle = "Foundations of Software Technology and Theortical Computer Science. 12th Conference", Annote = "17 references" } @InCollection{Monsuez93b, Author = "B. Monsuez", Title = "Polymorphic Typing for Call-By-Name Semantics", BookTitle = "Formal Methods in Programming and Their Applications", Publisher = SV, Year = 1993, Editor = "Dines Bjoerner and Manfred Broy and Igor V. Pottosin", Series = LNCS, Volume = 735, Pages = "156-169", Month = jul, Annote = "19 references." } @InProceedings{Monteleone89, Author = "Gennaro Monteleone", Title = "Generalized Conjunctive Types", Organization = ACM, BookTitle = "Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = jan, Year = 1989, Pages = "242-249", Annote = "Only conjunctions of compatible types are allowed. 11 references." } @Article{Moon86, Author = "David A. Moon", Title = "Object-Oriented Programming with {{\em Flavors}}", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "1-8", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Description of the new Flavors mechanism. Goals are program modularity, ease of development of large programs, and efficiency. Generic functions can be defined, besides object methods. Flavor ordering on mixed-in flavors is consistent with each flavor's own ordering. Inherited instance variables are the union of the instance variables of each component. Description of the various kinds of method combination; users can define their own. Method combination is declarative. Modularity achieved by code sharing, multiple inheritance. Can redefine flavors, methods and generic functions while the program is running. Changing data representation converts all old instances of the flavor to the new representation as needed. Efficiency concerns. 5 references." } @InProceedings{Morris76, Author = "J. B. Morris", Title = "Synopsis of Data Type Abstraction in Programming Languages", BookTitle = "NSF Very High Level Programming Languages Conference, Moscow, USSR, September, 1976", Year = 1976, Month = sep, Organization = "Energy Research and Development Administration", Annote = "Data types in the Model programming language contrasted with CLU and Alphard." } @Article{Morris80, Author = "James B. Morris", Title = "Programming by Successive Refinement of Data Abstractions", Journal = SPandE, Volume = 10, Number = 4, Year = 1980, Pages = "249-263", Month = apr, Annote = "Discusses the Model programming language. Requirements for a data abstraction mechanism: 1. representation independence, 2. parameterizability, 3. distinction between abstract type and its concrete representation, 4. invocation of abstract operations must be efficient. 19 references." } @Article{Morrison-etal88, author = "R. Morrison and M. P. Atkinson and A. L. Brown and A. Dearle", title = "Bindings in Persistent Programming Languages", journal = "SIGPlan Notices", publisher = "acm", volume = 23, number = 4, month = apr, year = 1988, pages = "27--34" } @Article{Morrison-etal91, Author = "R. Morrison and A. Dearle and R.C.H. Conner and A.L. Brown", Title = "An Ad Hoc Approach to the Implementation of Polymorphism", Journal = TOPLAS, Year = 1991, Volume = 13, Number = 3, Month = jul, Pages = "342-371", Annote = "42 references." } @TechReport{Moss-Wolf88, Author = "J. Eliot B. Moss and Alexander L. Wolf", Title = "Towards Principles of Inheritance and Subtyping in Programming Languages", Institution = "Department of Computer and Information Science, University of Massachusetts", Address = "Amherst, Mass.", Number = "88-95", Type = "COINS Technical Report", Month = nov, Year = 1988, Annote = "Behavioral abstraction. Pragmatic principles of language deisgn. 36 references." } @InCollection{Moss89, Author = "J. Eliot B. Moss", Title = "Object Orientation as Catalyst for Language-Database Integration", Editor = "Won Kim and Frederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Chapter = 24, Pages = "583-592", Annote = "21 references" } @inproceedings{Mugridge-etal91, author = "W. B. Mugridge and J. G. Hosking and J. Hamer", title = "Multi-Methods in a Statically-Typed Programming Language", booktitle = "ECOOP '91 European Conference on Object-Oriented Programming, Geneva, Switzerland, Proceedings", publisher = SV, address = NY, pages = {307--324}, Series = LNCS, Volume = 512, Editor = "Pierre America", year = 1991 } @PhDThesis{Murtagh83, Author = "Thomas Peter Murtagh", Title = "A Data Abstraction Language for Concurrent Programming", School = "Cornell University", Year = 1983 } @InProceedings{Myers-Bank-Liskov97, author = "Andrew C. Myers and Joseph A. Bank and Barbara Liskov", title = "Parameterized Types for {Java}", booktitle = {Conference Record of POPL '97: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages}, year = 1997, pages = {132-145}, organization = ACM, address = NY, month = jan, annote = {21 references.} } @Article{Mylopoulos-Bernstein-Wong80, Author = "J. Mylopoulos and P. A. Bernstein and H. Wong", Title = "A Facility for Designing Database-Intensive Applications", Journal = TODS, Volume = 5, Number = 2, Month = jun, Year = 1980, Annote = "Describes TAXIS which offers relational database management, semantic integrity checks and exception handling all integrated with the notions of class and property using an IS-A relationship. Multiple inheritance, constraints on redefinition, test defined classes which generalize enumeration types, exceptions organized in an IS-A hierarchy. 26 references." } @InCollection{Neilson-Neilson93, Author = "F. Neilson and H. R. Neilson", Title = "Layered Predicates", Journal = LNCS, Number = 666, Editor = "J. W. de Baker and W. P. de Rover and G. Rozenberg", Publisher = SV, Address = NY, Year = 1993, Booktitle = "Semantics: Foundations and Applications REX Workshop", Page = "425-456", Annote = "13 references" } @Article{Netzer-Miller92, Author = "Robert H.B. Netzer and Barton P. Miller", Title = "What are Race conditions? Some Issues and Formalizations", Journal = "ACM Letters on Programming Languages and Systems", Year = 1992, Month = mar, Volume = 1, Number = 1, Pages = "74-88", Annote = "26 references. " } @PhDThesis{Newman78, Author = "J. Richard Newman", Title = "An Investigation into Multi-Level Program Abstractions for a Systematic Picture Programming Language", School = "University of Southwestern Louisiana", Year = 1978 } @Article{Nguyen-Hailpern86, Author = "Van Nguyen and Brent Hailpern", Title = "A Generalized Object Model", Journal = SIGPLAN, Volume = 21, Number = 10, Month = oct, Year = 1986, Pages = "78-87", Note = "Object-Oriented Programming Workshop, June, 1986", Annote = "18 references." } @InCollection{Nielson-Nielson-Amtoft97, author = "H. R. Nielson and F. Nielson and T. Amtoft", title = "Polymorphic Subtyping for Effect Analysis: The Static Semantics", booktitle = "Proceedings of the Fifth {LOMAPS} Workshop", publisher = SV, year = "1997", editor = "M. Dam", number = "1192", series = "Lecture Notes in Computer Science", } @Article{Nielson96, author = {Nielson}, title = "Annotated Type and Effect Systems", journal = ACMCS, volume = 28, number = 2, pages = "344-345", month = jun, year = 1996, annote = "8 references." } @InCollection{Nierstrasz89, Author = "Oscar Nierstrasz", Title = "A Survey of Object-Oriented Concepts", Chapter = 1, Pages = "3--21", Editor = "Won Kim and Frederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Annote = "43 references." } @Article{Nierstrasz93, Author = "Oscar Nierstrasz", Title = "Regular types for active objects", Journal = SIGPLAN, Volume = 28, Number = 10, Month = oct, Year = 1993, Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Pages = "1-15", Annote = "30 references." } @PhDThesis{Nikhil84, Author = "R. Nikhil", Title = "An Incremental, Strongly Typed Applicative Programming System for Databases", School = "University of Pennsylvania, Department of Computing and Information Science", Year = 1984 } @InProceedings{Nikhil85, Author = "Rishiyur S. Nikhil", Title = "Functional Databases, Functional Languages", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "309-330", Annote = "41 references." } @InProceedings{Nipkow-Oheimb98, author = {Tobias Nipkow and David von Oheimb}, title = {Java$_{light}$ is Type-Safe --- Definitely}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = jan, pages = {161-170}, annote = {22 references.} } @InProceedings{Nipkow-Prehofer93, Author = "Tobias Nipkov and Christian Prehofer", Title = "Type checking Type classes", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = jan, Pages = "409-418", Annote = "14 references" } @Article{Nipkow-Prehofer94, author = "Tobias Nipkov and Christian Prehofer", title = "Type Reconstruction for Type Classes", journal = "Journal of Functional Programming", year = 1994, volume = 5, number = 2, pages = "201-224", month = apr, annote = "17 references." } @TechReport{Nipkow-Snelting90, Author = "Tobias Nipkow and Gregor Snelting", Title = "Type Classes and Overloading Resolution via Order-Sorted Unification", Institution = "University of Cambridge, Computer Laboratory", Address = "Cambridge CB2 3QG, England", Number = 200, Month = aug, Year = 1990, Annote = "Type inference algorithm for a Haskell-like language based on order-sorted unification. Language features polymorphism, overloading, type classes, and multiple inheritance. 16 references." } @InProceedings{Nishimura98, author = {Susumu Nishimura}, title = {Static Typing for Dynamic Messages}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = jan, pages = {266-278}, annote = {references.} } @InProceedings{Nordlander99, author = {Johan Nordlander}, title = {Pragmatic Subtyping in Polymorphic Languages}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = jun, Year = 1999, organization = ACM, pages = {216-227}, annote = {Subtyping extensions to the Hindley/Milner type system. To keep the types simple, it fails for all expressions that must be typed using constraints. 30 references.} } @Book{Nordstrom-Peterson-Smith90, Author = {Bengt Nordstr\"{o}m and Kent Peterson and Jan M. Smith}, Title = "Programming in Martin-Lof's Type Theory", Publisher = "Oxford University Press", Year = "1990", Volume = 7, Series = "International Series of Monographs on Computer Science", Address = NY } @InProceedings{Nordstrom-Peterson83, Author = {Bengt Nordstr\"{o}m and Kent Peterson}, Title = "Types and Specifications", BookTitle = "Information Processing 83", Editor = "R. E. A. Mason", Publisher = "Elsevier Science Publishers B.V. (North-Holland)", Month = sep, Year = 1983, Note = "Proceedings of the IFIP 9th World Computer Congress, Paris, France", Pages = "915-920", Annote = "Type system with subsets (abstraction) and dependent function types and its use in specification. Excellent short description of the Curry-Howard isomorphism and intensional view of specs. 14 references." } @Article{Novak83, Author = "Novak, Jr., Gordon S.", Title = "Data Abstraction in GLISP", Journal = SIGPLAN, Year = 1983, Month = jun, Volume = 18, Number = 6, Pages = "170-177", Note = "Proceedings of the SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco, CA", Annote = "Hierarchical inheritance, object-oriented. Extensible to representation languages. Type inference mechanisms. Recursive compilation to expand contexts through multiple levels and achieve binding at compile time for efficiency. Several examples. 13 references." } @article{OHearn-Pym99a, Author = {Peter O'Hearn and David Pym}, Journal = {Bulletin of Symbolic Logic}, Pages = {215-244}, Title = {The Logic of Bunched Implication}, Volume = 5, Number = 2, Year = {1999} } @inproceedings{OHearn-Reynolds-Yang01a, Author = {Peter O'Hearn and John Reynolds and Hongseok Yang}, Booktitle = {Proceedings of CSL'01}, Pages = {1-19}, Publisher = SV, Address = {Berlin}, Series = LNCS, Title = {Local Reasoning about Programs that Alter Data Structures}, Volume = {2142}, Year = {2001}, Annote = {Connects separation logic and the logic of bunched implications} } @InCollection{OKeefe-Wand92, Author = "Patrick M. O'Keefe and Mitchell Wand", Title = "Type Inference for Partial Types is Decidable", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "408-417", Annote = "18 references" } @Article{OToole-Gifford89, Author = "James William O'Toole and David K. Gifford", Title = "Type Reconstruction with First-Class Polymorphic Values", Journal = SIGPLAN, Year = 1989, Volume = 24, Number = 7, Month = jul, Pages = "207-217", Note = "Proceedings of the SIGPLAN '89 Conference on Programming Language Design and Implementation, Portland, Oregon, June", Annote = "The language IFX. 21 references." } @InProceedings{Odersky-Laufer96, author = {Martin Odersky and Konstantin L\"{a}ufer}, title = "Putting Type Annotations to Work", pages = "54-67", booktitle = "Conference Record of POPL '96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, St. Petersberg Beach, Florida", year = 1996, organization = ACM, address = NY, month = jan, annote = "31 references." } @Article{Odersky-Sulzmann-Wehr99, author = {Martin Odersky and Martin Sulzmann and Martin Wehr}, title = {Type Inference with Constrained Types}, journal = TAPOS, year = 1999, volume = 5, number = 1, pages = {35-55}, annote = {The framework HM(X) and instances dealing with polymorphic records, equational theories, and subtypes. 39 references.} } @InProceedings{Odersky-Wadler97, author = "Martin Odersky and Philip Wadler", title = "Pizza into {Java}: Translating Theory into Practice", booktitle = {POPL '97: Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, year = 1997, pages = {146-159}, publisher = ACM, address = NY, month = jan, annote = {26 references.} } @inproceedings{Odersky-etal03, Author = {Martin Odersky and Vincent Cremet and Christine R{\"o}ckl and Matthias Zenger}, Title = {A Nominal Theory of Objects with Dependent Types}, booktitle = {ECOOP 2003---Object-Oriented Programming, 17th European Conference, Darmstadt, Germany, Proceedings}, editor = {Luca Cardelli}, series = LNCS, volume = 2743, publisher = SV, address = NY, month = {July}, year = 2003, Pages = {201--224}, } @InProceedings{Ohori-Buneman-Breazu-Tannen89, Author = "A. Ohori and P. Buneman and V. Breazu-Tannen", Title = "Database Programming in {Machiavelli} -- a Polymorphic Language with Static Type Inference", BookTitle = "Proceedings of the ACM SIGMOD conference", Year = 1989, Month = "May -- June", Address = "Portland, Oregon", Pages = "46--57" } @Article{Ohori-Buneman89, Author = "Atsushi Ohori and Peter Buneman", Title = "Static Type Inference for Parameteric Classes", Journal = SIGPLAN, Volume = 24, Number = 10, Month = oct, Year = 1989, Pages = "445-456", Note = "OOPSLA '89 Conference Proceedings, Norman Meyerowitz (editor), October 1989, New Orleans, Louisiana.", Annote = "Type inference for classes with inheritance and parameters. 24 references." } @InCollection{Ohori88, Author = "Atsushi Ohori", Title = "Semantics of Types for Database Objects", BookTitle = "ICDT '88, 2nd International Conference on Database Theory, Bruges, Belgium, August/September 1988", Editor = "M. Gyssens and J. Paredaens and D. Van Gucht", Series = LNCS, Volume = 326, Publisher = SV, Address = NY, Pages = "239-251", Year = 1988, Annote = "19 references." } @TechReport{Oles87b, Author = "Frank J. Oles", Title = "Lambda Calculi with Implicit Type Conversions", Institution = "IBM Research Division", Address = "T.J. Watson Research Center, Yorktown Heights, N.Y.", Month = nov, Year = 1987, Number = "RC 13245 (\#59268)", Annote = "8 references." } @Article{Olthoff-Kempf89, Author = "W. Olthoff and J. Kempf", Title = "An Algebraic Specification of Method Combination for the Common LISP Object System", Journal = "LISP and Symbolic Computation", Volume = 2, Year = 1989, Pages = "115-152" } @Article{Olthoff86, Author = "Walter G. Olthoff", Title = "Augmentation of Object-Oriented Programming by Concepts of Abstract Data Type Theory: The ModPascal Experience", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "429-443", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Includes a brief overview of algebraic specifications, algebras, and specification morphisms. ModPascal is based on Pascal; it features modules (ADT implementations), enrichment, a flexible parameterization mechanism. Enrichments add to the set of operations of one or more types. Parameterization is multilevel and the declaration of formal parameters is completely implicit. 18 references." } @InCollection{Orejas81, Author = "F. Orejas", Title = "On the Representation of Data Types", BookTitle = "Formalization of Programming Concepts, International Colloquium, Peniscola, Spain, April 1981", Publisher = SV, Address = NY, Series = LNCS, Volume = 107, Editor = "J. Diaz and I. Ramos", Year = 1981, Pages = "419-431", Annote = "Correctness of representations without the use of representation invariants. Restricted representations. 11 references." } @InProceedings{Ossher84, Author = "Harold L. Ossher", Title = "Grids: A New Program Structuring Mechanism Based on Layered Graphs", Organization = ACM, BookTitle = "Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah", Month = jan, Year = 1984, Pages = "11-22", Annote = "Layered graphs, factorization, clustering. 13 references." } @InCollection{Oxhoj-Palsberg-Schwartzbach92, Author = "Nicholas Oxh\{o}j and Jens Palsberg and Michael I. Schwartzbach", Title = "Making Type Inference Practical", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "329-349", Annote = "27 references" } @TechReport{Palsberg-Black93, Author = "Jens Palsberg and Andrew Black", Title = "Foundations of Object-Oriented languages", Institution = "Computer Science Department, Aarhus University", Year = 1993, Annote = "32 references." } @InProceedings{Palsberg-OKeefe95, Author = {Jens Palsberg and Patrick M. O'Keefe}, Title = "A Type System Equivalent to Flow Analysis", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = jan, Year = 1995, Organization = ACM, Address = NY, Pages = "367-378", Annote = "20 references." } @InProceedings{Palsberg-Pavlopoulou98, author = {Jens Palsberg and Christina Pavlopoulou}, title = {From Polyvariant Flow Information to Intersection and Union Types}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = jan, pages = {197-208}, annote = {49 references.} } @TechReport{Palsberg-Schwartzbach90a, Author = "Jens Palsberg and Michael I. Schwatzbach", Title = "Genericity and Inheritance", Institution = "Computer Science Department, Aarhus University", Year = 1990, Number = "DAIMI-PB - 318", Month = jul, Annote = "32 references." } @Article{Palsberg-Schwartzbach90b, Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "Type Substitution for Object-Oriented Programming", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = oct, Pages = "151-160", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "31 references." } @Unpublished{Palsberg-Schwartzbach91a, Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "A Unified Type System for Object-Oriented Programming", Note = "Sent by the authors", Annote = "22 references." } @Unpublished{Palsberg-Schwartzbach91b, Author = "Jens Palsberg and Michel I. Schwartzbach", Title = "What is Type-Safe Code Reuse?", Note = "Sent by the authors", Annote = "13 references." } @TechReport{Palsberg-Schwartzbach91c, Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "Object-Oriented Type Inference", Institution = "Computer Science Department, Aarhus University", Year = 1991, Number = "DAIMI PB - 345", Month = mar, Annote = "29 references." } @TechReport{Palsberg-Schwartzbach91d, Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "Static Typing for Object-Oriented Programming", Institution = "Computer Science Department, Aarhus University", Year = 1991, Number = "DAIMI PB - 355", Month = jun, Annote = "57 references." } @TechReport{Palsberg-Schwartzbach91e, Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "Types, Inheritance and Assignments", Institution = "Computer Science Department, Aarhus University", Year = 1991, Number = "DAIMI PB - 357", Month = jun, Annote = "69 references." } @Article{Palsberg-Schwartzbach92, Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "Three Discussions on Object-Oriented Typing", Journal = "OOPS Messenger", Year = 1992, Volume = 3, Number = 2, Month = apr, Pages = "31-38", Annote = "1 reference." } @Book{Palsberg-Schwartzbach94, Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "Object-Oriented Type Systems", Publisher = "John Wiley and sons", Year = 1994, Annote = "72 reference." } @Article{Palsberg96, author = {Jens Palsberg}, title = "Type Inference for Objects", journal = ACMCS, volume = 28, number = 2, pages = "358-359", month = jun, year = 1996, annote = "8 references." } @PhDThesis{Paolini81, Author = "Paolo Paolini", Title = "Abstract Data Types and Data Bases", School = "University of California, Los Angeles", Year = 1981 } @PhDThesis{Parsaye-Ghomi81, Author = "Kamran Parsaye-Ghomi", Title = "Higher Order Abstract Data Types", School = "University of California, Los Angeles", Year = 1981 } @Article{Paulson86, Author = "Lawrence C. Paulson", Title = "Constructing Recursion Operators in Intuitionistic Type Theory", Journal = "Journal of Symbolic Computation", Volume = 2, Number = 4, Month = dec, Year = 1986, Pages = "325-355", Annote = "Implementing noetherian recursion in intuitionistic type theory." } @Book{Peterson87, Editor = "Gerald E. Peterson", Title = "Tutorial: Object-Oriented Computing", Publisher = "IEEE Computer Society Press", Year = 1987, Address = "Los Angeles, Calif.", Note = "Volume 1: concepts; volume 2: implementations." } @TechReport{Petersson82, Author = "K. Petersson", Title = "A Programming System for Type Theory", Institution = "Dept. of Computer Science, Univ. Goteborg / Chalmers Univ. of Technology, Sweden", Year = 1982, Type = "LPM Memo", Number = 21 } @TechReport{Pfenning-Lee89, Author = "Frank Pfenning and Peter Lee", Title = "Metacircularity in the Polymorphic $\lambda$-calculus", Institution = CMU, Number = "CMU-CS-89-207", Month = dec, Year = 1989, Annote = "36 references." } @TechReport{Pfenning-Mohring89, Author = "Frank Pfenning and Christine Paulin-Mohring", Title = "Inductively Defined Types in the Calculus of Constructions", Institution = CMU, Number = "CMU-CS-89-209", Month = dec, Year = 1989, Annote = "27 references." } @InProceedings{Pfenning88, Author = "Frank Pfenning", Title = "Partial Polymorphic Type Inference and Higher-Order Unification", BookTitle = "Conference Record of the ACM Symposium on Lisp and Functional Programming, Snowbird, Utah", Organization = ACM, Month = jul, Year = 1988, Pages = "153-163", Annote = "Shows the problem of partial type inference in the nth-order polymorphic lambda calculus is equivalent to nth-order unification. Gives an algorithm for partial type inference in the $\omega$-order polymorphic lambda calculus, and an implementation in Lambda Prolog. 25 references." } @Book{Pfenning92, Editor = "Frank Pfenning", Title = "Types in Logic Programming", Publisher = MITP, Year = 1992, Series = "Logic Programming Series", Address = "Cambridge, Mass.", Annote = "Many references." } @TechReport{Pierce-Dietzen-Michaylov89, Author = "Benjamin Pierce and Scott Dietzen and Spiro Michaylov", Title = "Programming in Higher-Order Typed Lambda-Calculi", Institution = CMU, Number = "CMU-CS-89-111", Month = mar, Year = 1989, Annote = "Tutorial on various formed of typed lambda calculus, including omega-order. 55 references." } @TechReport{Pierce-Steffen94, Author = "Benjamin Pierce and Steffen", Title = "Higher-Order SubTyping", Institution = "University of Edinburgh", Number = "ECS-LFCS-94-280", Month = jan, Year = 1994, Note = "To appear in Theoretical Computer Science", Annote = "50 references" } @TechReport{Pierce-Turner92, Author = "Benjamin C. Pierce and David N. Turner", Title = "Simple Type-Theoretic Foundations for Object-Oriented Programming", Institution = "Department of Computer Science, University of Edinburgh", Year = 1992, Address = "Edinburgh, U.K.", Month = aug, Annote = "48 references." } @TechReport{Pierce-Turner92b, author = "Benjamin C. Pierce and David N. Turner" , title = "Statically Typed Friendly Functions via Partially Abstract Types" , institution = "University of Edinburgh, LFCS" , type = "Technical Report" , number = "ECS-LFCS-93-256" , month = apr, year = "1993" , Note = "Available by anonymous ftp from {\tt ftp.dcs.ed.ac.uk} in file {\tt pub/bcp/friendly.ps.Z}. Also available as INRIA-Rocquencourt Rapport de Recherche No. 1899", } @InProceedings{Pierce-Turner93, Author = "Banjamin C. Pierce and David Turner", Title = "Object-Oriented Programming without Recursive types", BookTitle = "Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = jan, Pages = "299-312", Annote = "46 references" } @Article{Pierce-Turner94, author = "Benjamin C. Pierce and David N. Turner" , title = "Simple Type-Theoretic Foundations for Object-Oriented Programming", note = "A preliminary version appeared in POPL 1993", journal = "Journal of Functional Programming", volume = 4, number = 2, month = apr, pages = "207--248", year = 1994 } @InProceedings{Pierce-Turner98, author = {Benjamin C. Pierce and David N. Turner}, title = {Local Type Inference}, booktitle = {Conference Record of {POPL} 98: The 25TH {ACM} {SIGPLAN-SIGACT} Symposium on Principles of Programming Languages, {San Diego}, {California}}, year = 1998, publisher = ACM, address = NY, month = jan, pages = {252-265}, annote = {45 references.} } @Book{Pierce02, author = "Benjamin C. Pierce", title = "Types and Programming Languages", publisher = MITP, address = "Cambridge, MA", year = 2002, annote = "Many references." } @Book{Pierce05, editor = "Benjamin C. Pierce", title = "Advanced Topics in Types and Programming Languages", publisher = MITP, address = "Cambridge, MA", year = 2005, annote = "Many references." } @TechReport{Pierce91a, Author = "Benjamin C. Pierce", Title = "Programming With Intersection Types, Union Types, and Polymorphism", Institution = CMU, Year = 1991, Number = "CMU-CS-91-106", Month = feb, Annote = "39 references." } @TechReport{Pierce91b, Author = "Benjamin C. Pierce", Title = "Bounded Quantification is Undecidable", Institution = CMU, Year = 1991, Number = "CMU-CS-91-161", Month = jul, Annote = "30 references." } @TechReport{Pierce91c, Author = "Benjamin C. Pierce", Title = "Programming with Intersection Types and Bounded Polymorphism", Institution = CMU, Year = 1991, Number = "CMU-CS-91-205", Month = dec, Annote = "30 references." } @Unpublished{Pierce93a, Author = "Benjamin C. Pierce", Title = "Mutable Objects", Year = 1993, Month = may, Note = "Working draft. Obtained by anonymous ftp from ftp.lcs.ac.uk.", Annote = "11 references." } @InProceedings{Pierce93b, Author = {B. C. Pierce}, Title = {Intersection types and bounded polymorphism}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J. F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {346-360}, Address = {Utrecht, The Netherlands}, Month = mar, Note = {TLCA'93}, Annote = { 33 refernces} } @Article{Pigozzi90, Author = "Don Pigozzi", Title = "Data Types over Multiple-valued Logics", Journal = TCS, Year = 1990, Volume = 77, Number = "1 \& 2", Month = dec, Pages = "161-194" } @InProceedings{Pitts89, Author = "Andrew M. Pitts", Title = "Non-trivial Power Types Can't Be Subtypes of Polymorphic Types", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = jun, Year = 1989, Pages = "6-13", Annote = "Higher-order type theory and the logic of toposes. 13 references." } @InProceedings{Plotkin-Abadi93, Author = {G. Plotkin and M. Abadi}, Title = {A logic for parametric polymorphism}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J. F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {361-375}, Address = {Utrecht, The Netherlands}, Month = mar, Note = {TLCA'93}, Annote = {20 references} } @PhDThesis{Polajnar78, Author = "Jernej Polajnar", Title = "An Algebraic View of Protection and Extendibility in Abstract Data Types", School = "University of Southern California", Year = 1978 } @Article{Ponder-Bush92, Author = "Carl Ponder Bill Bush", Title = "Polymorphism Considered Harmful", Journal = SIGPLAN, Year = 1992, Volume = 27, Number = 6, Month = jun, Pages = "76-79", Annote = "Says it's hard to understand code with message passing. 3 references." } @InProceedings{Potanin-etal06, author = {Alex Potanin and James Noble and Dave Clarke and Robert Biddle}, title = {Generic ownership for generic {Java}}, booktitle = {OOPSLA 2006: Proceedings of the 21st International Conference on Object-oriented Programming Systems, Languages, and Applications}, year = 2006, publisher = ACM, address = NY, month = oct, location = {Portland, OR}, pages = "311-324", doi = {http://doi.acm.org/10.1145/1167473.1167500}, } @Article{Potanin-etal06b, author = {Alex Potanin and James Noble and Dave Clarke and Robert Biddle}, title = {Featherweight Generic Confinement}, journal = {Journal of Functional Programming}, year = 2006, volume = 16, number = 6, pages = "793-811", month = sep } @InProceedings{Pottier96, author = {Fran\c{c}ois Pottier}, title = {Simplifying subtyping constraints}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '96)", Series = SIGPLAN, Volume = "31(6)", Month = jun, Year = 1996, organization = ACM, pages = {122-133}, annote = {11 references.} } @InProceedings{Pottier99, author = {Fran\c{c}ois Pottier}, title = {A Framework for Type Inference with Subtyping}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = jun, Year = 1999, organization = ACM, pages = {228-238}, annote = {19 references.} } @Article{Prechelt-Tichy98, author = {Lutz Prechelt and Walter F. Tichy}, title = {A Controlled Experiment to Assess the Benefits of Procedure Argument Type Checking}, journal = IEEETSE, year = 1998, volume = 24, number = 4, month = apr, pages = {302-312}, annote = {Type checking in ANSI C increased productivity over Kernighan and Ritchie C, helped find more defects, and reduced the lifetime of defects. 22 references.} } @Article{Pugh-Weddell90, Author = "William Pugh and Grant Weddell", Title = "Two-directional record layout for multiple inheritance", Journal = SIGPLAN, Volume = 25, Number = 6, Month = jun, Year = 1990, Pages = "85-91", Note = "Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, White Plains, NY", Annote = "18 references." } @InProceedings{Rehof97, author = {Jokob Rehof}, title = {Minimal Typings in Atomic Subtyping}, booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France}, year = 1997, organization = ACM, address = NY, month = jan, pages = {278-291}, annote = {34 references.} } @TechReport{Reinhold89, Author = "Mark B. Reinhold", Title = "Typechecking is Undecidable when 'Type' is a Type", Institution = MITLCS, Number = "TR-458", Month = dec, Year = 1989 } @Article{Reiss86, Author = "Steven P. Reiss", Title = "An Object-Oriented Framework for Graphical Programming", Journal = SIGPLAN, Volume = 21, Number = 10, Month = oct, Year = 1986, Pages = "49-57", Note = "Object-Oriented Programming Workshop, June, 1986", Annote = "Object-oriented basis of the GARDEN graphical programming system. 18 references." } @InCollection{Reiss87, Author = "Steven P. Reiss", Title = "An Object-Oriented Framework for Conceptual Programming", Editor = "Bruce Shriver and Peter Wegner", BookTitle = "Research Directions in Object-Oriented Programming", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1987, Pages = "189-218", Annote = "Object-oriented basis of the GARDEN graphical programming system. 27 references." } @Unpublished{Reistad-Gifford93, Author = "Brian Reistad and David K. Gifford", Title = "Reconstructing Static Dependedent Costs for Estimating Execution Times", Month = may, Year = 1993, Note = "Obtained from authors", Annote = "75 references." } @InProceedings{Remy89, Author = "D. R{\'e}my", Title = "Typechecking records and variants in a natural extension of {ML}", Organization = ACM, BookTitle = "Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = jan, Year = 1989, Pages = "60-76" } @InProceedings{Remy94, Author = "Didier R{\'e}my", Title = "Programming Objects with {ML-ART}: An extension to {ML} with Abstract and Record Types", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Address = NY, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "321-346", Month = apr } @Article{Reppy-Riecke96, author = {John Reppy and Jon Riecke}, title = {Simple Objects for Standard ML}, journal = SIGPLAN, year = 1996, volume = 31, number = 5, month = may, pages = {171-180}, note = {Proceedings of the 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {33 references.} } @inproceedings{Reynolds00a, Author = {John Reynolds}, Booktitle = {Millennial Perspectives in Computer Science, Proceedings of the 1999 Oxford-Microsoft Symposium in Honor of Sir Tony Hoare}, Publisher = {Palgrave}, address = {Hampshire, UK}, Title = {Intuitionistic Reasoning about Shared Mutable Data Structure}, Year = {2000}, Annote = {Introduces separation logic} } @inproceedings{Reynolds02a, Author = {John C. Reynolds}, Title = {Separation Logic: A Logic for Shared Mutable Data Structures}, Booktitle = {Proceedings of the Seventeenth Annual IEEE Symposium on Logic in Computer Science}, Publisher = {IEEE Computer Society Press}, Address = "Los Alamitos, California", Year = {2002}, Annote = {Surveys early work in separation logic and describes how to extend it to cover pointer arithmetic.} } @InCollection{Reynolds80, Author = "John C. Reynolds", Title = "Using Category Theory to Design Implicit Conversions and Generic Operators", BookTitle = "Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark", Publisher = SV, Address = NY, Series = LNCS, Editor = "Neil D. Jones", Volume = 94, Month = jan, Year = 1980, Pages = "211-258", Annote = "Defines category-sorted algebras which are used to avoid problems between implicit conversions and generics. 11 references." } @InProceedings{Reynolds83, Author = "John C. Reynolds", Title = "Types, Abstraction and Parametric Polymorphism", BookTitle = "Proc. IFIP Congress '83, Paris", Month = sep, Year = 1983, Annote = "20 references." } @InCollection{Reynolds85, Author = "John C. Reynolds", Title = "Three Approaches to Type Structure", BookTitle = "Mathematical Foundations of Software Development, Proceedings of the International Joint Conference on Theory and Practice of Software Development (TAPSOFT), Berlin. Volume 1: Colloquium on Trees in Algebra and Programming (CAAP '85)", Month = mar, Year = 1985, Pages = "97-138", Editor = "Hartmut Ehrig and Christiane Floyd and Maurice Nivat and James Thatcher", Series = LNCS, Volume = 185, Publisher = SV, Address = NY } @Book{Reynolds98, author = {John C. Reynolds}, title = {Theories of Programming Languages}, publisher = {Cambridge}, year = 1998, annote = {Hundreds of references.} } @InCollection{Riecke-Subrahmanyam94, Author = "Jon G. Riecke and Ramesh Subrahmanyam", Title = "Extensions to Type Systems Can Preserve Operational Equivalences", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "76-95", Month = apr, Annote = "28 references." } @InProceedings{Riely-Hennessy98, author = {James Riely and Matthew Hennessy}, title = {A Typed Language for Distributed Mobile Processes}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = jan, pages = {378-390}, annote = {24 references.} } @Article{Ritter94, author = {Eike Ritter}, title = {Categorical abstract machines for higher-order typed $\lambda$-calculi}, journal = TCS, year = 1994, volume = 136, number = 1, month = dec, pages = {125-162}, annote = {25 references.} } @InCollection{Roberts81, Author = "J. D. Roberts", Title = "Naming by Colours: A Graph-Theoretic Approach to Distributed Structure", BookTitle = "Algorithmic Languages", Publisher = "IFIP, North-Holland", Address = "Amsterdam", Year = 1981, Pages = "29-76", Editor = "J. W. de Bakker and J. C. van Vliet", Annote = "Apparent type of an object. Naming in programs. 13 references." } @TechReport{Robinson-Rosolini89, Author = "Edmund Robinson and Giuseppe Rosolini", Title = "Polymorphism, Set Theory, and Call-by-Value", Month = oct, Year = 1989, Number = "89-260", Institution = "Department of Computing and Information Science, Queen's University at Kingston", Address = "Kingston, Ontario, Canada", Annote = "There are no models of the second-order call-by-value calculus in either constructive or classical set theory. 10 references." } @InProceedings{Robinson88, Author = "Edmund Robinson", Title = "How complete is {PER}?", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = jun, Year = 1989, Pages = "106-111", Note = "Also TR 88-229, Department of Computing and Information Science, Queen's University at Kingston, Ontario", Annote = "15 references." } @Article{Robinson94, author = {Edmund Robinson}, title = {Parametricity as isomorphism}, journal = TCS, year = 1994, volume = 136, number = 1, month = dec, pages = {163-181}, annote = {17 references.} } @Article{Rodriguez-etal93, Author = "N. Rodriguez, R. Lerusalunschy and J. Rangel", Title = "Types in School", Journal = SIGPLAN, Volume = 28, Number = 8, Month = aug, Year = 1993, Pages = "81-89", Annote = "15 references." } @InProceedings{Rowe-Shoens79, Author = "Lawrence A. Rowe and Kurt A. Shoens", Title = "Data Abstractions, Views and Updates in RIGEL", BookTitle = "Proceedings of the ACM-SIGMOD Conference on Management of Data, Boston, Mass.", Month = may, Year = 1979, Pages = "71-81", Annote = "Relations, views and tuples built-in to RIGEL. Generator expressions used for queries. Both abstract types and modules in the language. 30 references." } @Article{Rowe81a, Author = "Lawrence A. Rowe", Title = "Data Abstraction from a Programming Language Viewpoint", Journal = SIGPLAN, Volume = 16, Number = 1, Month = jan, Year = 1981, Pages = "29-35", Note = "Proceedings of the Workshop on Data Abstraction, Databases and Conceptual Modeling, June, 1980", Annote = "Discusses the basics of type systems. 31 references." } @Article{Rowe81b, Author = "Lawrence A. Rowe", Title = "Issues in the Design of Database Programming Languages", Journal = SIGPLAN, Volume = 16, Number = 1, Month = jan, Year = 1981, Pages = "29-35", Note = "Proceedings of the Workshop on Data Abstraction, Databases and Conceptual Modeling, June, 1980", Annote = "Should records in the language correspond to DB records? What facilities are provided to define the interface between application programs and the DB? Discussion based on the RIGEL language. 7 references." } @Article{Royer98, author = {Jean-Claude Royer}, title = {Type Checking Object-Oriented Programs: Core of the Problem and Some Solutions}, journal = JOOP, year = 1998, volume = 11, number = 6, month = oct, pages = {58-66,71}, annote = {29 references.} } @InProceedings{Sakkinen89, Author = "M. Sakkinen", Title = "Disciplined Inheritance", BookTitle = "{ECOOP'89}, European Conference on Object-Oriented Programming, British Computer Society Workshop Series", Editor = "Stephen Cook", Month = jul, Year = 1989, Publisher = "Cambridge University Press", Pages = "40-56", Annote = "57 references." } @InProceedings{Sandberg82a, Author = "David Wallace Sandberg", Title = "Lithe: A Language Combining a Flexible Syntax with Classes", Year = 1982, Organization = ACM, BookTitle = "Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages, Alberquerque, New Mexico", Pages = "142-145", Month = jan, Note = "Also Univ. of Washington Tech. Rep. 81-07-05", Annote = "6 references." } @PhDThesis{Sandberg82b, Author = "David Wallace Sandberg", Title = "Language Combining a Flexible Syntax with Classes", School = "University of Washington, Seattle, Washington", Year = 1982, Note = "TR \#82-12-03", Annote = "Programming language Lithe is defined. Lithe combines extensible syntax and classes. Goal: to make programming easier. 45 references." } @Article{Sandberg86, Author = "David Sandberg", Title = "An Alternative to Subclassing", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "424-428", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "The alternative, found in the language X2, is to add parameters to classes and to introduce descriptive classes to grouping parameters. Compile-time type checking. Descriptive classes have other classes as instances, e.g. total order might describe integer. The programmer declares what classes are instances of a descriptive class, and supplies the procedures that interpret instances of these classes according to the description. Parameters can be used to refine behavior. Implicit parameters are passed when an object of a descriptive class is used as an argument. A single class can be a member or more than one descriptive class, but cannot be a member of the same descriptive class more than once. 7 references." } @InCollection{Scedrov90, Author = "Andre Scedrov", Title = "A Guide to Polymorphic Types", BookTitle = "Logic and Computer Science", Publisher = "Academic Press", Year = 1990, Editor = "P. Odifreddi", Series = "APIC Series", Volume = 31, Pages = "387-420", Address = NY, Annote = "Survey. 102 references." } @Article{Schaffert-etal86, Author = "Craig Schaffert and Topher Cooper and Bruce Bullis and Mike Kilian and Carrie Wilpolt", Title = "An Introduction to {Trellis/Owl}", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "9-16", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Trellis/Owl is a language with multiple inheritance and static type checking. It distinguishes instance from class operations, and private from public operations. Subtyping as an organizational principle for generalization and specialization. Subtyping as a specification hierarchy. Subtyping and type checking. Inheritance ambiguities must be explicitly resolved. Type generators and parameterized types. Other features are iterators, exception handling and atype case statement for checking the types of objects at run-time. 7 references." } @Article{Schmidt-Mall83, Author = "Joachim W. Schmidt and Manuel Mall", Title = "Abstraction Mechanisms for Database Programming", Journal = SIGPLAN, Year = 1983, Month = jun, Volume = 18, Number = 6, Pages = "83-93", Note = "Proceedings of the SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco, CA", Annote = "Iteration abstractions. Boolean and relational queries as functional abstractions. Access abstraction. Selection based on arbitrary predicates. 17 references." } @TechReport{Schmidt-Walker92, Author = "Heinz W. Schmidt and Richard Walker", Title = "TOF: An Efficient Type System for Objects and Functions", Institution = {Departement of Computer Science, The Australian National University}, Number = "TR-CS-92-17", Month = nov, Year = 1992, Note = "This document's final destination was unknown when entered", Annote = "34 references" } @Article{Schmidt77, Title = "Some High Level Constructs for Data of Type Relation", Author = "Joachim W. Schmidt", Journal = TODS, Year = 1977, Volume = 2, Number = 3, Pages = "247-261", Annote = "Adding relation as a primitive type to Pascal. Need a repetition statement controlled by relations, predicates as a generalization of boolean relations and constructor for relations using predicates from other relations. Relations based on the record type. Predicates built-in to the language like Codd's data sublanguage. 17 references." } @TechReport{Schmidt80, Author = "Joachim W. Schmidt and Manuel Mall", Title = "Pascal/R Report", Institution = {Fachbereich Informatik, Universit\"{a}t Hamburg}, Year = 1980, Month = jan, Number = "IFI-B-66/80", Annote = "1 reference." } @Article{Schoch79, Author = "J. Schoch", Title = "An Overview of the Programming Language Smalltalk-72", Journal = SIGPLAN, Year = 1979, Month = sep, Volume = 14, Number = 9, Pages = "64-73" } @InProceedings{Schubert98, author = {Aleksy Schubert}, title = {Second-order unification and type inference for {Church-style} polymorphism}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = jan, pages = {279-288}, annote = {21 references.} } @InCollection{Schwartzbach91, Author = "M. I. Schwartzbach", Title = "Type Inference with Inequalities", BookTitle = "TAPSOFT '91, Proceedings of the International Joint Conference on Theory and Practice of Software Development, Brighton, UK, Volume 1: Colloquium on Trees in Algebra and Programming (CAAP '91)", Publisher = SV, Year = 1991, Editor = "S. Abramsky and T. S. E. Maibaum", Series = LNCS, Volume = 493, Pages = "441 ff.", Address = NY, Month = apr } @InProceedings{Seco-Caires00, author = {Joao Seco and Luis Caires}, title = {A Basic Model of Typed Components}, editor = {Elisa Bertino}, booktitle = {ECOOP 2000 -- Object-Oriented Programming 14th European Conference}, series = LNCS, volume = 1850, year = 2000, pages = {108-128}, annote = {26 references.} } @InCollection{Sekiguchi-Yonezawa94, Author = "Tatsurou Sekiguchi and Akinori Yonezawa", Title = "A Complete Type Inference System for Subtyped Recursive Types", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "667-686", Month = apr, Annote = "18 references." } @Article{Shankar80, Author = "K. S. Shankar", Title = "Tutorial: Data Structures, Types and Abstraction", Journal = "Computer", Volume = 13, Number = 4, Month = apr, Year = 1980, Pages = "67-77", Annote = "15 references." } @InProceedings{Shao99, author = {Zhong Shao}, title = {Typed Cross-Module Compilation}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = jun, Year = 1999, organization = ACM, pages = {141-152}, annote = {40 references.} } @Article{Shaw-etal83, Author = "Mary Shaw and Ellen Borison and Michael Horowitz and Tom Lane and David Nichols and Randy Paisch", Title = "Descartes: A Programming-Language Approach to Interactive Display Interfaces", Journal = SIGPLAN, Year = 1983, Month = jun, Volume = 18, Number = 6, Pages = "100-111", Note = "Proceedings of the SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco, CA", Annote = "49 references." } @Article{Shaw80, Author = "Mary Shaw", Title = "The Impact of Abstraction Concerns on Modern Programming Languages", Journal = "Proceedings of the IEEE", Volume = 68, Number = 9, Month = sep, Year = 1980, Pages = "1119-1130", Annote = "Review and survey of abstraction techniques. Discussion of implementations and limitations. 76 references." } @Article{Shaw81b, Author = "Mary Shaw", Title = "Abstraction, Data Types and Models for Software", Journal = SIGPLAN, Volume = 16, Number = 1, Year = 1981, Month = jan, Pages = "189-191", Note = "Proceedings of the Workshop on Data Abstraction, Databases and Conceptual Modeling, June, 1980", Annote = "Good and bad points of abstract data types. 6 references." } @InProceedings{Sheldon-Gifford90, Author = "Mark A. Sheldon and David K. Gifford", Title = "Static Dependent Tyeps for First Class Modules", BookTitle = "Proceedings of the 1990 ACM Conference on LISP and Functional Programming, Nice, France", Organization = ACM, Month = jun, Year = 1990, Pages = "20-29", Annote = "13 references." } @PhDThesis{Sherman83, Author = "Mark Steven Sherman", Title = "Paragon: A Language Using Type Hierarchies for the Specification, Implementation and Selection of Abstract Data Types", School = CMU, Month = aug, Year = 1983, Note = "CMU-CS-83-147, also published by Springer-Verlag, LNCS, Volume 189, 1985", Annote = "Language design emphasizing a multiple inheritance type hierarchy for the refinement and selection of multiple implementations which can interact in a program. The author concludes that multiple, interacting representations for an abstract type, in a single program, are not worth the trouble, given the complications necessary to deal with them in the language and the unsatisfactory nature of the result. Paragon allows complete separation of abstractions and their concrete implementations, allowing representations to be changed easily. Non-symmetric type compatibility used for refinement of types and procedures is based on inheritance. Uses prototypes instead of types, that is, (indefinite) objects can be used as types, but this leads to problems. Stack-based language, with an object-manager model that is perhaps too flexible. Statically type checked prototype implementation. The specifications referred to in the title are really just data types. 72 references." } @InProceedings{Sherman84, Author = "Mark Sherman", Title = "Paragon: Novel Uses of Type Hierarchies for Data Abstraction", Organization = ACM, BookTitle = "Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah", Month = jan, Year = 1984, Pages = "208-217", Annote = "Design of the Paragon programming language. Multiple inheritance, uniform object notation, separate procedure specifications and implementations, relaxed parameter matching rules. 27 references." } @Article{Shilling-Sweeney89, Author = "John J. Shilling and Peter F. Sweeney", Title = "Three Steps to Views: Extending the Object-Oriented Paradigm", Journal = SIGPLAN, Volume = 24, Number = 10, Month = oct, Year = 1989, Pages = "353-361", Note = "OOPSLA '89 Conference Proceedings, Norman Meyerowitz (editor), October 1989, New Orleans, Louisiana.", Annote = "Different interfaces for the same object. 12 references." } @Article{Shivers88, author = {Olin Shivers}, title = {Control-Flow Analysis in {Scheme}}, pages = "164-174", journal = SIGPLAN, year = 1988, month = jul, volume = 23, number = 7, note = {Proceedings of the ACM SIGPLAN 1988 Conference on Programming Language Design and Implementation.} } @Article{Skarra-Zdonik86, Author = "Andrea H. Skarra and Stanley B. Zdonik", Title = "The Management of Changing Types in an Object-Oriented Database", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "483-495", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "A model for managing change in type definitions, presented in terms of the ENCORE database management system, which has multiple inheritance. Version set mechanism for recording changes to types. Coercions can change the version of an instance. The version set interface abstracts the type over all versions (union of operations and properties). Error handlers added to a type version that handle cases where operations or properties are defined in the version set interface but not by the type version itself. Classes described by boolean functions that test membership in the class. 28 references." } @Article{Smalltalk81, Author = "{Xerox Learning Research Group}", Journal = "BYTE", Title = "The Smalltalk-80 System", Year = 1981, Pages = "36-48", Volume = 6, Number = 8, Month = aug, Annote = "Several other articles about Smalltalk-80 are included in the same issue. 5 references." } @Article{Smetsers-etal94, author = "S. Smetsers and E. Barendsen and M. v. Eekelen and R. Plasmeijer", title = "Guaranteeing Safe Destructive Updates Through a Type System with Uniqueness Information for Graphs", journal = "Lecture Notes in Computer Science", volume = 776, pages = "358--379", year = 1994, ISSN = "0302-9743", URL = "ftp://ftp.cs.kun.nl/pub/CSI/SoftwEng.FunctLang/papers/smes94-guaranteeing.ps.gz" } @Article{Smith-Dinitz-Barth86, Author = "Reid G. Smith and Rick Dinitz and Paul Barth", Title = "Impulse-86: A Substrate for Object-Oriented Interface Design", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "167-176", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Impulse-86 provides building blocks for constructing a wide variety of domain-specific interfaces for knowledge-based systems. Discussion of inheritance, mixins, and polymorphism in its programming. 16 references." } @InProceedings{Smith-Volpano98, author = {Geoffrey Smith and Dennis Volpano}, title = {Secure Information Flow in a Multi-Threaded Imperative Language}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = jan, pages = {355-364}, annote = {28 references.} } @InCollection{Smith93, Author = "G. S. Smith", Title = "Polymorphic type Inference with Overloading and Subtyping", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, BookTitle = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE", Pages = "671-685", Annote = "15 references" } @Article{Smolka-Ait-Kaci87, Author = "Gert Smolka and Hassan Ait-Kaci", Title = "Inheritance Hierarchies: Semantics and Unification", Journal = "Journal of Symbolic Computation", Volume = 7, Number = "3\&4", Month = "March/April", Pages = "343-370", Year = 1987 } @TechReport{Snyder-Hill-Olthoff89, Author = "Alan Snyder and Walt Hill and Walter Olthoff", Title = "A Glossary of Common Object-Oriented Terminology", Institution = "Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, California", Month = sep, Year = 1989, Number = "STL-89-26", Annote = "10 references." } @TechReport{Snyder86a, Author = "Alan Snyder", Title = "CommonObjects: An Overview", Institution = "Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, California", Month = jun, Year = 1986, Number = "STL-86-13", Annote = "Strong emphasis on encapsulation in this Flavors-like system. Classes are not objects. No handlers for undefined operations. Encapsulation protects against subclasses, even inheritance itself is hidden. Subtyping is orthogonal to inheritance. Inheriting class can hide operations of parent or rename them. Call-method syntax allows method of class or parent class to be called directly. Instance variables never directly visible to other classes, even children. 22 references." } @Article{Snyder86b, Author = "Alan Snyder", Title = "Encapsulation and Inheritance in Object-Oriented Programming Languages", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "38-45", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Inheritance versus data abstraction (encapsulation). Subclasses are a kind of client for a class. Direct access to inherited instance variables creates a dependency; accessing instance variables only via operations is prefered. Hiding instance variables from subclasses implies merging inherited instance variables is wrong. The use of inheritance itself should be hidden; this allows inheritance to be used purely as an implementation technique and permits one to exclude operations in a subclass. Inheritance should only allow access to the class interface of immediate parent classes, not more distant ancestors. Subtyping should be separated from inheritance and based on the external behavior of objects. In CommonObjects, one can specify the type hierarchy independently of the implementation hierarchy. Problems specific to multiple inheritance are also addressed. 16 references." } @InCollection{Snyder87, Author = "Alan Snyder", Title = "Inheritance and the Development of Encapsulated Software Components", Editor = "Bruce Shriver and Peter Wegner", BookTitle = "Research Directions in Object-Oriented Programming", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1987, Pages = "165-188", Annote = "18 references." } @TechReport{Snyder89, Author = "Alan Snyder", Title = "The Essence of Objects", Institution = "Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, California", Month = sep, Year = 1989, Number = "STL-89-25", Annote = "Core concepts of the object-oriented approach in tutorial form. 12 references." } @TechReport{Snyder90, Author = "Alan Snyder", Title = "An Abstract Object Model for Object-Oriented Systems", Institution = "Hewlett Packard Software Technology Library", Year = 1990, Number = "HPL-90-22", Address = "Software Technology Laboratory, Palo Alto, CA", Month = apr, Annote = "3 references." } @TechReport{Snyder91a, Author = "Alan Snyder", Title = "The Essence of Objects: Common Concepts and Terminology", Institution = "Software and Systems Laboratory, Hewlett Packard", Year = 1991, Number = "HPL-91-50", Address = "Software and Systems Laboratory, Palo Alto, CA", Month = jun, Note = "Submitted to IEEE Computer", Annote = "12 references." } @InCollection{Snyder91b, Author = "Alan Snyder", Title = "Modeling the C++ Object Model An Application of an Abstract Object Model", BookTitle = "ECOOP '91 Proceedings", Editor = "Pierre America", Year = 1991, Series = LNCS, Publisher = SV, Volume = 512, Pages = "1-20", Note = "An earlier version is Technical report HPL-90-212(R.1), HP Software and Systems Laboratory, Palo Alto, CA" } @TechReport{Stallman-Moon-Weinreb83, Author = "Richard M. Stallman and David Moon and Daniel Weinreb", Title = "Lisp Machine Window System Manual", Institution = MITAI, Month = aug, Year = 1983, Annote = "The window system is built out of flavors and is characterized by a great deal of variety and flexibility and complexity. Goals seem to be to: 1. provide a flexible base for users to define their own windows, 2. to provide canned windows for generic uses, 3. control the underlying complexity by defaults and 4. provide some control and uniformity over what the user can do. Coupling and abstraction seem to be minor concerns. Defaults and options seem as important as flavors for flexibility and mastering complexity. Ease of flavor combination important for flexibility and convenience. Multiple representations and implementations not important, rather different combinations of various features. Multiple inheritance allows basic flavors that are orthogonal and thus small and easily reused. Orthogonality of flavors is important because the mechanism does not allow methods to be omitted from an included flavor. Implicit is user's ability to define new flavors and override anything not desired. Not everything is a flavor instance, thus elaborate conventions for ad hoc polymorphism on normal lisp objects." } @TechReport{Stansifer85, Author = "Ryan Stansifer", Title = "Representing Constructive Theories in High-Level Programming Languages", Institution = "Department of Computer Science, Cornell University", Address = "Ithaca, N.Y.", Year = 1985, Month = mar, Number = "TR 85-664", Annote = "Describes three constructive programming logics. Shows how linear input resolution could be implemented as a proof strategy for a programming logic. The author's doctoral dissertation. 81 references." } @InProceedings{Stansifer88, Author = "Ryan Stansifer", Title = "Type Inference with Subtypes", BookTitle = "Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, Calif.", Organization = ACM, Month = jan, Year = 1988, Pages = "88-97", Annote = "Various comparisons with Wand's system, row variables. 12 references." } @InProceedings{Stata-Abadi98, author = {Raymie Stata and Mart\'{i}n Abadi}, title = {A Type System for {Java} Bytecode Subroutines}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = jan, pages = {149-160}, annote = {11 references.} } @Article{Stata-Abadi99, author = {Raymie Stata and Mart\'{i}n Abadi}, title = {A Type System for {Java} Bytecode Subroutines}, journal = TOPLAS, year = 1999, volume = 21, number = 1, month = jan, pages = {90-137}, annote = {15 references} } @Article{Statman85, Author = "R. Statman", Title = "Logical Relations and the Typed $\lambda$-Calculus", Journal = "Information and Control", Volume = 65, Number = "2/3", Pages = "85-97", Month = "May/June", Year = 1985, Annote = "17 references." } @Article{Steensgaard-Madsen-Olsen84, Author = "Jorgen Steensgaard-Madsen and Lars Moller Olsen", Title = "Definition of the Programming Language MODEF", Journal = SIGPLAN, Volume = 19, Number = 2, Month = feb, Year = 1984, Pages = "92-110", Annote = "Statement oriented data abstraction language." } @Article{Steensgaard-Madsen79, Author = "Jorgen Steensgaard-Madsen", Title = "Pascal--Clarifications and Recommended Extensions", Journal = "Acta Informatica", Volume = 12, Number = 1, Year = 1979, Pages = "73-94", Annote = "Concentrates on the type system in Pascal. 2 references" } @Article{Steensgaard-Madsen81, Author = "J. Steensgaard-Madsen", Title = "A Statement-Oriented Approach to Data Abstraction", Journal = TOPLAS, Volume = 3, Number = 1, Month = jan, Year = 1981, Pages = "1-10", Annote = "Expresses abstract types where they are used instead of separate modules. 12 references." } @TechReport{Stefik-Bell-Bobrow83, Author = "M. Stefik and A. Bell and D. Bobrow", Title = "Rule-Oriented Programming in Loops", Institution = "Knowledge Systems Area, Xerox PARC", Number = "VLSI-82-22", Year = 1983, Month = jul } @Article{Stefik-Bobrow86, Author = "Mark Stefik and Daniel G. Bobrow", Title = "Object Oriented Programming: Themes and Variations", Journal = "The AI Magazine", Year = 1986, Month = "Winter", Volume = 6, Number = 4, Pages = "40-62", Annote = "Introduction to the concepts of `object-oriented programming' based on Loops. Also a survey of some important variations and issues. 22 references." } @Article{Stefik-etal83, Author = "M. Stefik and D. Bobrow and S. Mittal and L. Conway", Title = "Knowledge Programming in Loops", Journal = "The AI Magazine", Year = 1983, Month = "Fall", Volume = 4, Number = 3, Pages = "3-13" } @Book{Streicher91, Author = "T. Streicher", Title = "Semantics of Type Theory: Correctness, Completeness, and Independence Results", Publisher = "Birkhauser", Year = 1991, Address = "Boston" } @Article{Strom-Yemini86, Author = "Rob Strom and Shaula Yemini", Title = "Typestate: A Programming Language Concept for Enhancing Software Reliabiity", Journal = IEEETSE, Year = 1986, Volume = "SE-12", Number = 1, Month = jan, Pages = "157-171", Annote = "Typestates are interfaces that an object may assume, depending on it's current state. 18 references" } @Article{Stroustrup84, Author = "B. Stroustrup", Title = "Data Abstraction in C", Journal = "AT\&T Bell Laboratories Technical Journal", Month = oct, Year = 1984, Volume = 63, Number = "8, Part 2", Pages = "1701-1732", Annote = "Describes C++. 11 references." } @Article{Stroustrup88, Author = "Bjarne Stroustrup", Title = "What is Object-Oriented Programming?", Journal = "IEEE Software", Month = may, Year = 1988, Volume = 5, Number = 3, Pages = "10-20", Annote = "Discussion of Object-oriented programming languages and C++. 9 references." } @Article{Sutor-Jenks87, Author = "Robert S. Sutor and Richard D. Jenks", Title = "Type Inference and Coercion Facilities in the Scratchpad II Interpreter", Journal = SIGPLAN, Volume = 22, Number = 7, Month = jul, Year = 1987, Pages = "56-63", Note = "Proceedings of the SIGPLAN '87 Symposium on Interpreters and Interpretive Techniques, St. Paul, Minnesota, June 1987.", Annote = "Scratchpad II is an abstract data type programming language with polymorphism and a sophisticated type inference and coercion facility. Modemap facility provides user control over generic invocation. Weakly typed front end for a strongly typed programming language. 8 references." } @InProceedings{Suzuki81, Author = "Norihisa Suzuki", Title = "Inferring Types in Smalltalk", BookTitle = "Conference Record of the Eighth ACM Symposium on Principles of Programming Languages", Publisher = ACM, Month = jan, Year = 1981, Pages = "187-199", Annote = "Extension of ML-like type inference algorithm to treating unions of types. 16 references." } @PhDThesis{Swierstra80, Author = "S. Doaitse Swierstra", Title = "Lawine, an Experiment in Language and Machine Design", School = "Twente University of Technology", Address = "Groningen, The Netherlands", Year = 1980, Annote = "56 references." } @Article{Talpin-Jouvelot94, author = "Jean-Pierre Talpin and Pierre Jouvelot", title = "The Type and Effect Discipline", year = 1994, url = "http://cri.ensmp.fr/~talpin/ic94.ps.gz", journal = "Information and Computation", month = jun, number = 2, pages = "245--296", volume = 111 } @Article{Tarditi-etal96, author = {D. Tarditi and G. Morrisett and P. Cheng and C. Stone and R. Harper and P. Lee}, title = {{TIL}: A Type-Directed Optimizing Compiler for {ML}}, journal = SIGPLAN, year = 1996, volume = 31, number = 5, month = may, pages = {181-192}, note = {Proceedings of the 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {48 references.} } @Book{Tennent81, Author = "R. D. Tennent", Title = "Principles of Programming Languages", Publisher = "Prentice-Hall International", Address = "Englewood Cliffs, N.J.", Year = 1981, Annote = "Contains a chapter on types and type checking." } @Article{Tennent83, Author = "R. D. Tennent", Title = "Some Proposals for Improving Pascal", Journal = "Computer Languages", Volume = 8, Number = "3/4", Pages = "125-137", Year = 1983, Annote = "Organizing programs, exception handling, representation abstraction via hiding and a class facility. 7 references" } @InCollection{Thatte90, Author = "S. Thatte", Title = "Type Inference and Implicit Scaling", BookTitle = "ESOP '90 3rd European Symposium on Programming, Copenhagen, Denmark", Month = may, Year = 1990, Pages = "406-420", Editor = "N. Jones", Publisher = SV, Address = NY, Series = LNCS, Volume = 432, Annote = "19 references." } @InProceedings{Thatte94, Author = {Satish Thatte}, Title = "Automated Synthesis of Interface Adapters for Reusable Classes", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = jan, Year = 1994, Organization = ACM, Address = NY, Pages = "174-187", Annote = "21 references." } @TechReport{Thomason-Touretzky90, Author = "Richmond H. Thomason and David S. Touretzky", Title = "Inheritance Theory and Networks with Roles", Institution = "School of Computer Science, Carnegie Mellon", Year = 1990, Number = "CMU-CS-90-139", Month = jun, Annote = "22 references." } @Book{Thompson91, Author = "Simon Thompson", Title = "Type Theory and Functional Programming", Publisher = Addison-Wesley, Year = 1991, Series = "International Computer Science Series", Annote = "Both a first and second course in type theory. 137 references." } @InCollection{Thorup-Torgersen99, author = {Kresten Krab Thorup and Mads Torgersen}, title = {Unifying Genericity: Combining the Benefits of Virtual Types and Parameterized Classes}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = jun, pages = {186-204}, annote = {30 references.} } @InCollection{Thorup97, author = {Kresten Krab Thorup}, title = {Genericity in {Java} with Virtual Types}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = jun, pages = {444-471}, annote = {32 references.} } @InCollection{Tiuryn90, Author = "Jerzy Tiuryn", Title = "Type Inference Problems: A Survey", BookTitle = "Mathematical Foundations of Computer Science 1990, Bansk\`a Bystrica, Czechoslovakia", Editor = "B. Rovan", Series = LNCS, Volume = 452, Publisher = SV, Address = NY, Year = 1990, Pages = "105-120", Annote = "44 references." } @InCollection{Tiuryn93, Author = "J. Tiuryn", Title = "Type Reconstruction with Recursive Types and Atomic Subtyping", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Booktitle = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE", Pages = "686-701", Annote = "17 references" } @TechReport{Tofte89, Author = "Mads Tofte", Title = "Four Lectures on Standard {ML}", Institution = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Month = mar, Year = 1989, Number = "ECS-LFCS-89-73 (also CSR-290-89)", Annote = "1 reference." } @Article{Tofte99, author = {Mads Tofte}, title = {A Brief Introduction to Regions}, journal = SIGPLAN, year = 1999, volume = 34, number = 3, month = mar, pages = {186-195}, note = "Proceedings ISMM '98: International Symposium on Memory Management, Vancouver, Canada.", annote = {12 references.} } @InProceedings{Touretzsky84, Author = "David S. Touretzsky", Title = "Implicit Ordering of Defaults in Inheritance Systems", BookTitle = "AAAI '84", Organization = "AAAI?", Year = 1984, Pages = "322-325" } @PhDThesis{Tsu92, Author = {Hideki Tsuiki}, Title = {A record calculus witha merge operator}, School = {Faculty of Environmental Information, Keio University}, Year = {1992}, Month = nov } @InCollection{Tsuiki94, Author = "Hideki Tsuiki", Title = "A Normalizing Calculus with Overloading and Subtyping", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "273-295", Month = apr, Annote = "16 references." } @TechReport{Tucker-Zucker90, Author = "J. V. Tucker and J. I. Zucker", Title = "Provable Computable Selection Functions on Abstract Structures", Institution = "Department of Computer Science and Systems, McMaster University", Year = 1991, Number = "91-04", Address = "Hamilton, Ontario Canada L8S 4K1", Note = "To appear in Leeds Proof Theory 1990, ed P. Aczel, H. Simmons & S.S. Wainer. Cambridge University Press.", Annote = "21 references." } @Unpublished{Tucker-Zucker91a, Author = "J. V. Tucker and J. I. Zucker", Title = "Deterministic and Nondeterministic Computation, and Horn Programs, on Abstract Data Types", Note = "To appear in Journal of Logic Programming", Annote = "24 references.", Year = 1991 } @TechReport{Tucker-Zucker91b, Author = "J. V. Tucker and J. I. Zucker", Title = "Examples of semicomputable sets of real and complex numbers", Institution = "Department of Computer Science and Systems, McMaster University", Year = 1991, Number = "91-03", Address = "Hamiltoon, Ontario Canada, L8S 4K1", Note = "To appear in Constructivity in Computer Science - Proceedings of Summer Symposium, San Antonio, Texas, June 1991. ed M.J. O'Donnell & J.P. Myers, Jr. Springer-Verlag.", Annote = "17 references." } @Unpublished{Tucker-Zucker91c, Author = "J. V. Tucker and J. I. Zucker", Title = "Projections of Semicomputable Relations on Abstract Data Types", Note = "Submitted to International Journal Foundations of Computer Science", Annote = "15 references." } @Unpublished{Turner86b, Author = "David Turner", Title = "Constructive Type Theory as a Programming Language", Note = "Notes from lecture given", Month = may, Year = 1986 } @InProceedings{Urzyczyn93, Author = {P. Urzyczyn}, Title = {Type reconstruction in $F_{w}$ is undecidable}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J. F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {418-432}, Address = {Utrecht, The Netherlands}, Month = mar, Note = {TLCA'93}, Annote = {22 references} } @Article{VanDusen81, Title = "Types in Red", Author = "Mary Van Deusen", Journal = SIGPLAN, Volume = 16, Number = 12, Pages = "27-38", Year = 1981, Annote = "A flexible system for type visibility and definition. 10 references." } @Article{Volpano-Smith95, author = "Dennis Volpano and Geoffrey Smith", title = "A type soundness proof for variables in LCF ML", journal = "Information Processing Letters", year = 1995, volume = 56, number = 3, month = nov, pages = "141-146" } @InProceedings{Wadler-Blott89, Author = "Philip Wadler and Stephen Blott", Title = "How to make ad-hoc Polymorphism less ad hoc", publisher = ACM, address = NY, BookTitle = "Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = jan, Year = 1989, Pages = "60-76", Annote = "18 references." } @TechReport{Wagner81, Author = "Eric G. Wagner", Title = "Lecture Notes on the Algebraic Specification of Data Types", Institution = "Mathematical Sciences Department: IBM Thomas J. Watson Research Center", Year = 1981, Type = "Research Report", Number = "RC 9203 (#39787)", Address = "Yorktown Heights, New York 10598", Month = oct, Annote = "83 references." } @Article{Waldmann92, Author = "Uwe Waldmann", Title = "Semantics of Order-sorted Specifications", Journal = "Theoretical Computer Science", Volume = 94, Number = 1, Month = mar, Year = 1992, Pages = "1-35" } @InCollection{Waller91, Author = {E. Waller}, Title = {Schema updates and consistency}, BookTitle = {Deductive and Object-Oriented Databases, second International Conference, Munich, Germany}, Editor = "C. Delobel and M. Kifer and Y. Masunaga", Year = 1991, Publisher = SV, Address = NY, Series = LNCS, Volume = 566, Month = dec, Pages = "167-188" } @InProceedings{Wand84, Author = "Mitchell Wand", Title = "A Types-as-Sets Semantics for Milner-Style Polymorphism", Organization = ACM, BookTitle = "Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah", Month = jan, Year = 1984, Pages = "158-164", Annote = "Semantics of Milner-style polymorphism. 26 references." } @InProceedings{Wand87, Author = "M. Wand", Title = "Complete type inference for simple objects", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Pages = "37-44", Year = 1987, Organization = IEEE, Month = jun, Note = "Corrigendum in {\it Third Annual Symposium on Logic in Computer Science}, page 132, 1988", Annote = "Type inference for record types with multiple inheritance. 6 references." } @InProceedings{Wand89a, Author = "Mitchell Wand", Title = "Type Inference for Record Concatenation and Multiple Inheritance", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = jun, Year = 1989, Pages = "92-97", Annote = "18 references." } @InCollection{Wand89b, Author = "Yair Wand", Title = "A Proposal for a Formal Model of Objects", Editor = "Won Kim and Frederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Chapter = 21, Pages = "537-559", Annote = "16 references" } @Article{Wand91a, author = "Mitchell Wand", title = "Type Inference for Record Concatenation and Multiple Inheritance", journal = "Information and Computation", year = "1991", volume = "93", pages = "1-15", note = "Preliminary version appeared in {\it Proc. 4th IEEE Symposium on Logic in Computer Science\/} (1989), 92--97." , URL = {ftp://ftp.ccs.neu.edu/pub/people/wand/papers/ic-91.ps}, } @Article{Wasserman-etal81, Author = "Anthony I. Wasserman and David D. Sheretz and Martin L. Kersten and Reid P. van de Reit and Mark D. Dippe", Title = "Revised Report on the Programming Language PLAIN", Journal = SIGPLAN, Volume = 16, Number = 5, Month = may, Pages = "59-80", Year = 1981, Annote = "Strongly typed language with modules and data base relation types built-in. Good string support. 9 references." } @TechReport{Wegner-Zdonik87, Author = "Peter Wegner and Stanley B. Zdonik", Title = "Why Like Isn't Like Is-a (or As You Like It)", Institution = "Brown University, Department of Computer Science", Month = jul, Year = 1987, Number = "CS-87-17", Annote = "21 references." } @InCollection{Wegner-Zdonik88, Author = "Peter Wegner and Stanley B. Zdonik", Title = "Inheritance as an Incremental Modification Mechanism or What Like Is and Isn't Like", BookTitle = "ECOOP '88, European Conference on Object-Oriented Programming, Oslo, Norway", Editor = "S. Gjessing and K. Nygaard", Publisher = SV, Address = NY, Month = aug, Year = 1988, Pages = "55-77", Series = LNCS, Volume = 322, Annote = "27 references." } @InProceedings{Wegner83, Author = "P. Wegner", Title = "On the Unification of Data and Program Abstraction in Ada", Organization = ACM, BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = jan, Year = 1983, Pages = "256-264", Annote = "8 references." } @TechReport{Wegner86, Author = "Peter Wegner", Title = "Classification as a Paradigm for Computing", Institution = "Brown University, Department of Computer Science", Month = may, Year = 1986, Number = "CS-86-11", Annote = "29 references." } @TechReport{Weihl86, Author = "William E. Weihl", Title = "Type-Checking for Remote Procedure Calls", Institution = MITLCS, Type = "DSG Note", Number = 138, Month = jan, Year = 1986, Annote = "Raises the issue of having a different type-checking rule for RPCs as opposed to the rule for normal calls. Proposes having classes of types that are similar enough to be identified for call-by-value." } @TechReport{Weinreb-Moon80, Author = "Daniel Weinreb and David Moon", Title = "Flavors: Message Passing in the Lisp Machine", Institution = MITAI, Type = "AI Memo", Number = 602, Month = nov, Year = 1980, Annote = "This is a draft of the chapter on flavors from the Lisp Machine manual. It is obsolete with respect to the current Lisp machine, but only in details." } @TechReport{Weller82, Author = "D. L. Weller", Title = "A Relational Representation of an Abstract Type System", Institution = "IBM Research Laboratory, San Jose, CA", Year = 1982, Number = "RJ3503", Type = "IBM Research Report", Month = jun, Annote = "14 references." } @InProceedings{Wells94, author = "J. B. Wells", title = "Typability and Type Checking in the Second-Order $\lambda$-Calculus Are Equivalent and Undecidable", booktitle = "Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science, Paris", pages = "176-185", year = 1994 } @Article{Wetherell82, Title = "Error Data Values in the Data-Flow Language VAL", Author = "C. S. Wetherell", Journal = TOPLAS, Volume = 4, Number = 2, Month = apr, Year = 1982, Pages = "226-238", Annote = "Describes the error algebra in VAL. 17 references." } @Article{Wharton83, Author = "R. Michael Wharton", Title = "A Note on Types and Prototypes", Journal = SIGPLAN, Month = dec, Year = 1983, Volume = 18, Number = 12, Pages = "122-126", Annote = "Instead of predefined types, has predefined variables. 6 references." } @InProceedings{Wirth80, Author = "N. Wirth", Title = "The Module: A System Structuring Facility in High-Level Programming Languages", BookTitle = "Language Design and Programming Methodology. Proceedings of a Symposium, September 1979, Sydney, Australia", Year = 1980, Publisher = SV, Pages = "1-24", Editor = "Jeffery M. Tobias", Note = "Volume 79 in the Lecture Notes in Computer Science Series.", Annote = "Modules are a means to partition systems effectively. Presentation of Modula-2. Separation into definition and implementation parts. 11 references." } @Article{Wirth87, Author = "N. Wirth", Title = "Extensions of Record Types", Journal = SIGCSE, Volume = 19, Number = 2, Month = jun, Year = 1987, Pages = "2-9", Note = "Revised version appears in TOPLAS, Vol 10, Number 2, April 1988, pages 204--214.", Annote = "Variables of an extended type form a subset of the variables of the ancestor type. Two new language constructs: type test and type guards. 6 references." } @Article{Wirth88, Author = "N. Wirth", Title = "Type Extensions", Journal = TOPLAS, Volume = 10, Number = 2, Month = apr, Year = 1988, Pages = "204-214", Annote = "Extensible data types, like subclasses but without extra language features. Variables of an extended type form a subset of the variables of the ancestor type. Two new language constructs: type test and type guards. 8 references." } @Article{Woitok83, Author = "Rainer Woitok", Title = "Abstracting Linked Data Structures Using Incremental Records", Journal = SIGPLAN, Year = 1983, Volume = 18, Number = 11, Month = nov, Pages = "54-63", Annote = "Practical paradigm problem. How should list pointers be abstractly reflected? The conventional list[t] abstracting has no provision for pointers from (t) objects back to list placeholders, so more indirectness is required, and in particular one cannot go from one list to the next through an element. Backward pointers cannot be used without exposing the rep. How can pointers be put in user data structures and still controlled? Abstract list elements instead of lists. But this solution involves allowing abstract types to live in different parts of the same record, namely extensible records. This allows the list element abstraction to point at the whole of a list element object without affecting modularity or abstraction. Generics allow code savings and ability to thread multiple lists through elements. 9 references" } @Book{Wolfram93, Author = "D.A, Wolfram", Title = "The Clausal Theory of Types", Publisher = "Cambridge University Press", Year = 1993, Series = "Cambridge tracts in Theoretical Computer Science", Annote = "204 references." } @InCollection{Wolter-Lowe92, Author = "Uwe Wolter and Michael Lowe", Title = "Beyond Conditional Equations: Quasi-Initial Semantics for Parametric Algebraic Specifications", BookTitle = "CAAP '92, 17th Colloquium on Trees in Algebra and Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Jean-Claude Raoult", Series = LNCS, Address = NY, Volume = 581, Pages = "342-361", Annote = "22 references" } @TechReport{Wraith89, Author = "G. C. Wraith", Title = "Categorical Datatypes", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Month = jan, Year = 1989, Number = "1/89", Note = "Appears in {\em Category Theory and Computer Science}, (D. Pitts, {\em et al.}, eds., Springer-Verlag, LNCS 389).", Annote = "Modeling Hagino's categorical datatypes in the the second order polymorphic lambda calculus. 8 references." } @TechReport{Wright-Cartwright93, Author = "Andrew K. Wright and Robert Cartwright", Title = "A Practical Soft Type System for {Scheme}", Institution = "Department of Computer Science, Rice University", Year = 1993, Number = "COMP TR93-918", Address = "Houston, Texas", Month = dec, Annote = "24 references." } @Article{Wright-Cartwright97, Author = "Andrew K. Wright and Robert Cartwright", Title = "A Practical Soft Type System for {Scheme}", journal = TOPLAS, year = 1997, volume = 19, number = 1, month = jan, pages = {87-152}, annote = {83 references.} } @TechReport{Wright-Felleisen91, Author = "Andrew K. Wright and Matthias Felleisen", Title = "A Syntactic Approach to Type Soundness", Institution = "Department of Computer Science, Rice University", Year = 1991, Number = "COMP TR91-160", Address = "Houston, Texas", Month = apr, Annote = "35 references." } @Article{Wright-Felleisen94, Author = "Andrew K. Wright and Matthias Felleisen", Title = "A Syntactic Approach to Type Soundness", Journal = "Information and Computation", Year = 1994, Number = 1, Volume = 115, Month = nov, Pages = "38-94", Annote = "38 references." } @InCollection{Wright92, Author = "Andrew K. Wright", Title = "Typing References by Effect Inference", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "473-491", Annote = "19 references" } @Article{Wulf80, Author = "William A. Wulf", Title = "Trends in the Design and Implementation of Programming Languages", Journal = "Computer", Year = 1980, Volume = 13, Number = 1, Pages = "14-25", Month = jan, Annote = "33 references." } @Article{Xi-Pfenning98, author = {Hongwei Xi and Frank Pfenning}, title = {Eliminating Array Bound Checking Through Dependent Types}, journal = SIGPLAN, year = 1998, volume = 33, number = 5, month = may, pages = {249-257}, note = {Proceedings of the 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {24 references.} } @InProceedings{Xi-Pfenning99, author = {Howgwei Xi and Frank Pfenning}, title = {Dependent Types in Practical Programming}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = jan, pages = {214-227}, annote = {28 references.} } @inproceedings{Xi03, author = "Hongwei Xi", title = {Facilitating Program Verification with Dependent Types}, booktitle = "Proceedings of the International Conference on Software Engineering and Formal Methods", year = 2003, pages = "72-81" } @Article{Yamane85, Author = "Yoshito Yamane", Title = "Some Thoughts on the Type System of B", Journal = SIGPLAN, Volume = 20, Number = 10, Month = oct, Year = 1985, Pages = "105-110", Annote = "4 references." } @InProceedings{Yang-Huang98, author = {Honseok Yang and Howard Huang}, title = {Type Reconstruction for Syntactic Control of Interference}, booktitle = {IEEE Computer Society International Conference on Computer Languages 1998, Loyola University, Chicago}, year = 1998, organization = IEEE, address = {Los Alamitos, California}, month = may, pages = {164-173}, annote = {20 references.} } @Article{Yardeni-Shapiro91, Author = "Eyal Yardeni and Ehud Shapiro", Title = "A Type System for Logic Programs", Journal = "Journal of Logic Programming", Year = 1991, Volume = 10, Number = 2, Month = feb, Pages = "125-154" } @InProceedings{Yelland89a, Author = "P. M. Yelland", Title = "First Steps Towards Fully Abstract Semantics for Object-Oriented Languages", BookTitle = "{ECOOP'89}, European Conference on Object-Oriented Programming, British Computer Society Workshop Series", Editor = "Stephen Cook", Month = jul, Year = 1989, Publisher = "Cambridge University Press", Pages = "348-364", Annote = "Formal characterization of the visible behavior of objects. 19 references." } @Article{Yelland89b, Author = "P. M. Yelland", Title = "First Steps Towards Fully Abstract Semantics for Object-Oriented Languages", Journal = "The Computer Journal", Volume = 32, Number = 4, Month = aug, Year = 1989, Pages = "290-296" } @InProceedings{Yves-Laurent92, Author = "Caseau Yves and Perron Laurent", Title = "A type system for object-oriented database programming and querying languages.", BookTitle = "Proceedings of the Third International Workshop, Nafplion, Greece, August, 1991", Publisher = "Morgan-Kaufman Publishers Inc.", Year = 1992, Page = "218-235", Annote = "extracted from Computing reviews." } @techreport{Zenger-Odersky04, Author = {Matthias Zenger and Martin Odersky}, Institution = {{\'E}cole Polytechnique F{\'e}d{\'e}rale de Lausanne}, Number = {IC/2004/33}, Title = {Independently Extensible Solutions to the Expression Problem}, Url = {http://scala.epfl.ch/docu/related.html}, Year = 2004 } @InProceedings{Zenger02, author = {Matthias Zenger}, title = {Type-Safe Prototype-Based Component Evolution}, booktitle = {ECOOP 2002 --- Object-Oriented Programming, 16th European Conference, M\'{a}alaga, Spain, Proceedings}, pages = {441-469}, year = 2002, editor = {Boris Magnusson}, volume = 2374, series = LNCS, address = {Berlin}, month = jun, publisher = SV, annote = {First-class components on top of a class-based OO language. 57 references.} } @InProceedings{Zhao-Palsberg-Vitek03, author = {Tian Zhao and Jens Palsberg and Jan Vitek}, title = {Lightweight Confinement for Featherweight Java}, booktitle = {Proc. of the ACM Conference on Object Oriented Programming, Systems, Languages, and Applications}, year = {2003}, pages = {135--148}, publisher = {ACM Press}, address = {Anaheim, CA}, annote = {Summary: The paper formalizes the notion of confinement types presented earlier by Grothoff et al. Confinement types ensure that no instance of a confined type may escaped the code of the package in which the instance's class is declared. This is coarser-grained than ownership types, but is more lightweight and offers some similar benefits. The paper presents a core calculus and sound type system for Confined Featherweight Java. The paper then extends this type system to handle generic types and "post-hoc confined", where generic types instantiated with confined types for the type parameters become themselves confined. A core calculus and sound type system for Confined Generic Featherweight Java is presented. The key ideas in the paper are very interesting. The paper does suffer from many grammatical errors and a few key errors in the formalism make me a bit suspicious. All the errors I saw were typographical, but the lack of attention to detail in a formal paper was a bit troublesome. However, my intuition says that the system is sound as they claim.}, } @Article{Zilles73, Title = "Procedural Encapsulation: A Linguistic Protection Technique", Author = "Steven Zilles", Journal = SIGPLAN, Volume = 8, Number = 9, Year = 1973, Pages = "142-146" } @Article{Zilles81, Title = "Types, Algebras and Modeling", Author = "Stephen N. Zilles", Journal = SIGPLAN, Volume = 16, Number = 1, Pages = "207-209", Month = jan, Year = 1981, Note = "Proceedings of the Workshop on Data Abstraction, Databases and Conceptual Modeling, June, 1980", Annote = "Tries to unify types in data bases and programming languages. 7 references." } @Article{Zippel83, Author = "Richard Zippel", Title = "Capsules", Journal = SIGPLAN, Year = 1983, Month = jun, Volume = 18, Number = 6, Pages = "166-169", Note = "Proceedings of the SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco", Annote = "Sharing code by referring to code by its desired behavior and having the system find it. Protocol consists of operations, their semantics, axioms, instance variables and attributes. Protocols collect operations. Semantics and axioms are not understood. Capsules implement a protocol and operations. Separation of code and specifications. Functionality can be added while the system runs. 5 references." } @Unpublished{Zippel84, Author = "Richard Zippel", Title = "Private Communication", Year = 1984, Note = "Discussion of Flavors and capsules mechanisms.", Annote = "Lisp machine used with exploratory methodology, programming by experiment, building tools and from bottom up. Inheritance of data definitions important for controlling complexity, building software in layers. Run-time redefinition of methods important for debugging and they are always debugging. Deamons used very often. Keyword arguments more important than optional arguments and highly used. Flavors not usually used to allow multiple implementations of an abstraction to interact in one program, usually have one or a few implementations which are selected when mixed in. More common to take some flavor, mix it in and extend it. Ad hoc and message passing polymorphism both heavily used. Meta capsules provide templates in which method combination style can be defined for a capsule. Capsules allow one to ignore the implementations of lower layers and only specify performance desired." } @TechReport{Zwanenburg99, author = {Zwanenburg}, title = {Object-Oriented Concepts and Proof Rules: Formalization in Type Theory and Implementation in {Yarrow}}, institution = {Eindhoven University of Technology}, year = 1999, type = {IPA Dissertation Series}, number = {1999-12}, address = {Eindhoven}, month = dec, annote = {Many references.} } @InCollection{deBruijn80, Author = "N. G. de Bruijn", Title = "A Survey of the Project AUTOMATH", BookTitle = "To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism", Editor = "J. P. Seldin and J. R. Hindley", Publisher = "Academic Press, Inc.", Address = NY, Year = 1980, Pages = "579-606", Annote = "34 references." } @PhDThesis{vanDaalen80a, Author = "Diedrik T. van Daalen", Title = "The Language Theory of AUTOMATH", School = "The University of Technology, Eindhoven", Year = 1980 } % $Id: old-datatypes.bib 2 2008-12-23 22:46:05Z gary.leavens $ % 1970s and older references on datatypes, type theory, etc. @InProceedings{Atkinson-Liskov-Scheifler78, Author = "Russell R. Atkinson and Barbara H. Liskov and Robert W. Scheifler", Title = "Aspects of Implementing {CLU}", Booktitle = "Proceedings of the ACM 1978 Annual Conference", Organization = ACM, Pages = "123-129", Year = 1978, Annote = "Basics of implementing exception handling, iterators, and parameterized types in CLU. 9 references." } @TechReport{Bloom76, Author = "Toby Bloom", Title = "Immutable Groupings", Month = aug, Year = 1978, Number = 61, Type = "CLU Design Note", Institution = MITLCS, Annote = "Discusses adding immutable groupings to CLU. Gives a proposal for sequences and structures." } @Book{BrinchHansen77, Title = "The Architecture of Concurrent Programs", Author = "Per Brinch Hansen", Publisher = "Prentice-Hall", Address = "Englewood Cliffs, N.J.", Year = 1977, Annote = "The programming language Concurrent Pascal is described. It integrates abstract data types and monitors. 43 references." } @InCollection{Dahl-Hoare72, Author = "Ole-Johan Dahl and C. A. R. Hoare", Title = "Hierarchical Program Structures", BookTitle = "Structured Programming", Publisher = "Academic Press, Inc.", Address = NY, Year = 1972, Pages = "175-220", Annote = "Uses SIMULA 67 for examples. 12 references." } @InProceedings{Demers-Donahue-Skinner78, Author = "Alan Demers and James Donahue and Glenn Skinner", Title = "Data Types as Values: Polymorphism, Type-checking, Encapsulation", Pages = "23-30", Booktitle = "Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, Tucson, Arizona", Organization = ACM, Month = jan, Year = 1978, Annote = "View of what a data type is in Russell. Polymorphism handled by types as values. Representation-independent semantics. 20 references." } @Article{Donahue79, Author = "James Donahue", Title = "On the Semantics of 'Data Type'", Journal = SIAMJC, Year = 1979, Volume = 8, Number = 4, Month = nov, Pages = "546-560", Annote = "Informal and formal treatments of the meaning of 'data type'. Meaning of 'strongly typed'. Application to the typed lambda calculus. Representation independence. 22 references." } @TechReport{Flon74, Author = "Lawrence Flon", Title = "A Survey of Some Issues Concerning Abstract Data Types", Institution = CMU, Year = 1974, Month = sep } @Article{Gannon77, Author = "J. D. Gannon", Title = "An Experimental Evaluation of Data Type Conventions", Journal = CACM, Year = 1977, Volume = 20, Number = 8, Month = aug, Pages = "584-595", Annote = "An experiment attempting to show that type systems help programmers is described. Concludes that static type checking increases programming reliability, but redundancy may not be as big a help as the functions that come with built-in types. 10 references." } @Article{Geschke-Morris-Satterwaite77, Author = "Charles M. Geschke and Morris, Jr., James H. and Edwin H. Satterwaite", Title = "Early Experience with MESA", Journal = CACM, Year = 1977, Volume = 20, Number = 8, Month = aug, Pages = "540-553", Annote = "Overview of modules and types in MESA. 14 references." } @Article{Gries-Gehani77, Author = "David Gries and Narain Gehani", Title = "Some Ideas on Data Types in High-Level Languages", Journal = CACM, Year = 1977, Volume = 20, Number = 6, Month = jun, Pages = "414-420", Annote = "Parameterized type definitions and their problems. Iteration, domains of arrays as types. Argues for explicit conversions only between types. Pathological examples of costs of parameterization. 17 references." } @TechReport{Jones-Liskov76a, Author = "Anita K. Jones and Barbara H. Liskov", Title = "An Access Control Facility for Programming Languages", Institution = MITLCS, Type = "Computation Structures Group Memo", Number = 137, Month = apr, Year = 1976, Annote = "Includes a comparision with Hydra. 13 references." } @Article{Jones-Liskov76b, Author = "Anita K. Jones and Barbara H. Liskov", Title = "A Language Extension for Controlling Access to Shared Data", Journal = IEEESE, Volume = "SE-2", Number = 4, Month = dec, Year = 1976, Pages = "277-285", Annote = "An earlier version of the CACM paper. 12 references." } @Article{Jones-Liskov78, Author = "Anita K. Jones and Barbara H. Liskov", Title = "A Language Extension for Expressing Constraints on Data Access", Journal = CACM, Volume = 21, Number = 5, Pages = "358-367", Year = 1978, Month = may, Annote = "Extensions to programming languages to provide controlled sharing. 17 references." } @TechReport{Lampson-etal81, Author = "Butler W. Lampson and James L. Horning and Ralph L. London and James G. Mitchell and Gerald J. Popek", Title = "Report on the Programming Language {Euclid}", Institution = "Xerox Palo Alto Research Centers", Year = 1981, Month = oct, Number = "CSL-81-12", Note = "Also {\em SIGPLAN Notices}, 12(2), February, 1977.", Annote = "23 references." } @Article{Linden76, Author = "T. A. Linden", Title = "The Use of Abstract Data Types to Simplify Program Modifications", Year = 1976, Month = feb, Journal = SIGPLAN, Volume = 8, Number = 2, Pages = "12-23", Note = "Conference on Data: Abstraction, Definition and Structure" } @Article{Liskov-Zilles74, Author = "Barbara Liskov and Stephen Zilles", Title = "Programming with Abstract Data Types", Journal = SIGPLAN, Year = 1974, Volume = 9, Number = 4, Month = apr, Pages = "50-59", Note = "Proceedings of a Symposium on Very High Level Languages", Annote = "Rationale for abstract data types as in CLU. 13 references." } @Article{Liskov-etal77, Author = "Barbara Liskov and Alan Snyder and Russell Atkinson and Craig Schaffert", Title = "Abstraction Mechanisms in {CLU}", Journal = CACM, Year = 1977, Volume = 20, Number = 8, Month = aug, Pages = "564-576", Annote = "Describes procedural, control and data abstraction mechanisms in CLU. Example programs. Describes the CLU library. 24 references." } @TechReport{Liskov75a, Author = "Barbara Liskov", Title = "Multiple Implementations of a Type", Institution = "Massachusetts Institute of Technology, Project MAC", Year = 1975, Type = "CLU Design Note", Number = 53, Annote = "Discusses multiple implementations and considers the following approaches: 1. unions of all implementations, 2. abstract representations which avoids quadratic number of conversion functions, 3. limiting the scope of implementations." } @InCollection{Martin-Lof75a, Author = {Per Martin-L\"{o}f}, Title = "About Models for Intuitionistic Type Theories and the Notion of Definitional Equality", Publisher = "North-Holland", Address = NY, Editor = "S. Kanger", BookTitle = "3rd Scandinavian Logic Symp.", Year = 1975, Pages = "81-109" } @InCollection{Martin-Lof75b, Author = {P. Martin-L\"{o}f}, Title = "An Intuitionistic Theory of Types: Predictive Part", Publisher = "North-Holland", Address = NY, Editor = "H. E. Rose and J. C. Sheperdson", Booktitle = "Logic Colloquium '73", Series = "Studies in Logic", Volume = 80, Year = 1975, Pages = "73-118" } @InProceedings{Mealy67, Author = "G. Mealy", Title = "Another Look at Data", Booktitle = "1967 Fall Joint Computer Conference", Organization = AFIPS, Year = 1967, Volume = 31, Pages = "525-534" } @Article{Milner78, Author = "Robin Milner", Title = "A Theory of Type Polymorphism in Programming", Journal = JCSS, Volume = 17, Number = 3, Month = dec, Year = 1978, Pages = "348-375", Annote = "Theoretical basis for inference of types of expressions and polymorphism as in ML. 23 references." } @InCollection{Mitchell-Wegbreit78, Author = "J. Mitchell and B. Wegbreit", Title = "Schemes: A High-level Data Structuring Concept", Publisher = "Prentice-Hall", Address = "Englewood Cliffs, N.J.", Year = 1978, BookTitle = "Current Trends in Programming Methodology", Volume = 4, Pages = "150-184", Editor = "Raymond T. Yeh", Note = "Also Xerox PARC CSL-77-01, Jan. 1977.", Annote = "Requirements for a type system: 1. minimum of run-time overhead, 2. strongly typed, 3. ability to limit access to type implementing routines, 4. ability to reuse function names, 5. ability to write polymorphic definitions, 6. ability to add new new qualities to a type in a general way, 7. deal with objects and not just pointers to them, 8. should be able to define a set of related types in a single scheme, 9. ability to compose schemes nicely, 10. ability to impose constraints on scheme parameters and 11. ability to define all operations, including assignment, and initialization and finalization. 25 references." } @Article{Morris73a, Author = "Morris, Jr., James H.", Title = "Protection in Programming Languages", Year = 1973, Journal = CACM, Month = jan, Volume = 16, Number = 1, Pages = "15-21", Annote = "Seal and unseal functions provide type safety. Invariants can be maintained and properties verified from small parts of the text when types encapsulated. Idea of type protecting an invariant. Trademarks allow loosening of type system and can be used to model hierarchical types and polymorphic types. Can use scope rules to enforce protection. 7 references." } @InProceedings{Morris73b, Author = "Morris, Jr., James H.", Publisher = ACM, Title = "Types are not sets", BookTitle = "Conference Record of ACM Symposium on Principles of Programming Languages, Boston, Mass.", Month = oct, Year = 1973, Pages = "120-124", Annote = "Authentication and secrecy in type checking. 6 references." } @InCollection{Morris74, Title = "Towards More Flexible Type Systems", Author = "Morris, Jr., James H.", Publisher = SV, Address = NY, Booktitle = "Programming Symposium, Proceedings, Colloque sur la Programmation, Paris, April 1974", Series = LNCS, Editor = "B. Robinet", Volume = 19, Year = 1974, Pages = "377-384", Annote = "Consideration of extensions to type systems and motivation for them. 4 references." } @MastersThesis{Moss78, Author = "John Eliot Bakerslee Moss", Title = "Abstract Data Types in Stack Based Languages", School = MIT, Month = feb, Year = 1978, Note = "MIT/LCS/TR-190", Annote = "Doing object-oriented, CLU style abstraction in a stack-based language. 22 references." } @Article{Parnas-Shore-Weiss76, Author = "D. L. Parnas and John E. Shore and David Weiss", Title = "Abstract Types Defined as Classes of Variables", Journal = SIGPLAN, Volume = 8, Number = 2, Month = feb, Year = 1976, Pages = "149-154", Note = "Proceedings of Conference on Data: Abstraction, Definition and Structure", Annote = "16 references." } @Article{Popek-etal77, Author = "G. J. Popek and J. J. Horning and B. W. Lampson and J. G. Mitchell and R. L. London", Title = "Notes on the Design of {Euclid}", Journal = SIGPLAN, Volume = 12, Number = 3, Month = mar, Year = 1977, Pages = "11-18", Note = "Proceedings of an ACM Conference on Language Design for Reliable Software, Raliegh, North Carolina, March, 1977.", Annote = "Overview of Euclid's goals and mechanisms including the type system. 35 references." } @InCollection{Reynolds74, Author = "J. C. Reynolds", Title = "Towards a Theory of Type Structure", Publisher = SV, Address = NY, Booktitle = "Programming Symposium, Proceedings, Colloque sur la Programmation, Paris, April 1974", Series = LNCS, Volume = 19, Year = 1974, Pages = "408-425", Annote = "Extension of typed lambda calculus to user-defined types and polymorphic functions. 14 references." } @InCollection{Reynolds75, Author = "J. C. Reynolds", Title = "User-defined Types and Procedural Data Structures as Complementary Approaches to Type Abstraction", Booktitle = "New Directions in Algorithmic Languages", Organization = "IFIP Working Group 2.1", Year = 1975, Editor = "S. A. Schuman", Publisher = IRIA, Address = "Rocquencourt", Pages = "157-168" } @InCollection{Reynolds78, Author = "John C. Reynolds", Title = "User Defined Types and Procedural Data Structures as Complementary Approaches to Data Abstraction", BookTitle = "Programming Methodology, A Collection of Articles by IFIP WG2.3", Publisher = SV, Address = NY, Editor = "David Gries", Year = 1978, Pages = "309-317", Note = "Reprinted from S. A. Schuman (ed.), {\em New Directions in Algorithmic Languages 1975}, Inst. de Recherche d'Informatique et d'Automatique, Rocquencourt, 1975, pages 157-168", Annote = "User defined types are as in CLU, with a data structure and some operations that manipulate it. Procedural data structures represent data as procedure closures. 14 references." } @Article{Robinson65, author = {J. A. Robinson}, title = {A machine oriented logic based on the resolution principle}, journal = JACM, year = 1965, volume = 12, number = 1, pages = {23-41} } @TechReport{Schaffert75a, Author = "Craig Schaffert", Title = "Immutable Groupings", Institution = "Massachusetts Institute of Technology, Project MAC", Year = 1975, Month = apr, Type = "CLU Design Note", Number = 47, Annote = "Discussion of immutable records and arrays in CLU. Reasons for adding them are readability and verification." } @TechReport{Schaffert75b, Author = "J. Craig Schaffert", Title = "Types as Objects", Institution = "Massachusetts Institute of Technology, Project MAC", Year = 1975, Month = apr, Type = "CLU Design Note", Number = 49, Annote = "Types are objects which can be queried about their operations, etc." } @TechReport{Scheifler79, Author = "Bob Scheifler", Title = "Type Parameters and Infinite Recursion Revisited", Institution = MITLCS, Year = 1979, Month = jul, Type = "CLU Design Note", Number = 77, Annote = "By making type parameters with parameterized operations write out the restrictions on the parameters of their parameterized operations, type checking recursion is converted into textual recursion and thus there are no problems with infinite recursion. 1 reference." } @Article{Scott76, Author = "Dana Scott", Title = "Data Types as Lattices", Journal = SIAMJC, Volume = 5, Number = 3, Month = sep, Year = 1976, Pages = "522-587", Annote = "Theoretical treatment of data types. 253 references." } @InCollection{Shamir-Wadge77, Author = "Adi Shamir and William W. Wadge", Title = "Data Types as Objects", Publisher = SV, Address = NY, Booktitle = "Automata, Languages and Programming, Forth Colloquium, University of Turku", Series = LNCS, Volume = 52, Year = 1977, Pages = "465-479", Annote = "Types in the domain of data objects, multiple inheritance. 4 references." } @Article{Shaw-Wulf-London77, Author = "Mary Shaw and William A. Wulf and R. L. London", Title = "Abstraction and Verification in {Alphard}: Defining and Specifying Iteration and Generators", Journal = CACM, Volume = 20, Number = 8, Month = aug, Year = 1977, Pages = "553-564", Annote = "Description of Alphard 'forms'. Specification and verification techniques. 17 references." } @TechReport{Snyder76a, Author = "Alan Snyder", Title = "Extended Unions", Institution = MITLCS, Year = 1976, Month = mar, Type = "CLU Design Note", Number = 57, Annote = "Proposal for property specified unions." } @TechReport{Snyder76b, Author = "Alan Snyder", Title = "Alternatives to Extended Unions", Institution = MITLCS, Year = 1976, Month = mar, Type = "CLU Design Note", Number = 58, Annote = "Type expressions, renaming of operations. Hierarchies of related types. 1 reference." } @Article{Tennent77a, Author = "R. D. Tennent", Title = "On a New Approach to Representation-Independent Data Classes", Journal = "Acta Informatica", Volume = 8, Number = 4, Pages = "315-324", Year = 1977, Annote = "Discusses parameterization and access to operations of a type. 24 references." } @Article{Tennent78, Author = "R. Tennent", Title = "Another Look at Type Compatibility in Pascal", Journal = SPandE, Volume = 8, Number = 4, Month = "July-August", Pages = "429-437", Year = 1978, Annote = "Structural versus name equivalence in Pascal. 14 references." } @Article{Wegbreit74, Title = "The Treatment of Data Types in {EL1}", Author = "Ben Wegbreit", Journal = CACM, Volume = 17, Number = 5, Month = may, Pages = "251-264", Year = 1974, Annote = "Importance of problem-oriented notation and problem-oriented types. Notation should be simultaneously natural and efficient. No pointers to the stack. Mode and routine valued variables. Modes of 'None' and 'any'. Mode valued routines. Mix of compiled and interpreted routines in the system. Precise control over degree of binding. Ad hoc polymorphism, since can find the mode of an argument. Size is not a part of the SEQ mode, uses heap. Can build new modes at run-time. Abstract data types as functions. Implied modes with generic definitions as sugar for the ad hoc style. User control over mode equality, ability to produce new mode not equal to any other. A LOWER routine like 'down' in CLU for abstract types. Freezing of type information during compilation for efficiency. 10 references." } @Article{Wells-Cornwall76, Author = "M. B. Wells and F. L. Cornwall", Title = "A Data Type Encapsulation Scheme Utilizing Base Language Operators", Year = 1976, Month = feb, Journal = SIGPLAN, Volume = 8, Number = 2, Pages = "170-178", Note = "Conference on Data: Abstraction, Definition and Structure" } @Book{Wulf-Levin-Harbison81, title = "Hydra/{C}.mmp: An Experimental Computer System", author = "W. A. Wulf and R. Levin and P. Harbison", publisher = "McGraw-Hill", Address = NY, year = 1981 } @Article{Wulf-London-Shaw76, Author = "William A. Wulf and Ralph L. London and Mary Shaw", Title = "An Introduction to the Construction and Verification of {Alphard} Programs", Journal = IEEESE, Year = 1976, Volume = "SE-2", Number = 4, Month = dec, Pages = "253-264", Annote = "Integration of specifications with programs. Requirements on a type parameter can also include specifications. 41 references." } @Article{Wulf-etal74, author = "W. Wulf and E. Cohen and W. Corwin and A. Jones and R. Levin and C. Pierson and F. Pollack", title = "{HYDRA}: the kernal of a multiprocessor operating system", journal = CACM, volume = 17, number = 6, pages = "337--345", month = jun, year = 1974, Annote = "9 references." } % $Id: distrib.bib 2 2008-12-23 22:46:05Z gary.leavens $ % distributed and parallel processing, except language definitions @InProceedings{Abbadi-Skeen-Cristen85, Author = "Amr El Abbadi and Dale Skeen and Flaviu Cristian", Title = "An Efficient, Fault-Tolerant Protocol for Replicated Data Management", BookTitle = "Proceedings of the 4th ACM SIGACT/SIGMOD Conference on Principles of Data Base Systems", Year = 1985, Organization = ACM, Annote = "Replication scheme based on the idea of virtual partitions. 18 references." } @InCollection{Abramsky90, Author = "Samson Abramsky", Title = "A Generalized Kahn Principle for Abstract Asynchronous Networks", Booktitle = "Mathematical Foundations of Programming Semantics, 5th International Conference", Publisher = SV, Year = "1990", Volume = 442, Series = LNCS, Address = NY, Editor = "M. Main and A. Melton and M. Mislove and D Schmidt", Pages = "1-21", Annote = "32 references." } @TechReport{Aceto-Hennessy88, Author = "L. Aceto and M. Hennessy", Title = "Termination, Deadlock and Divergence", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "6/88", Month = dec, Year = 1988, Annote = "Process algebra with explicit representations of successful termination, deadlock and divergence. Analysis of its semantics, both operational and denotational. 27 references." } @TechReport{Aceto89, Author = "L. Aceto", Title = "On Relating Concurrency and Nondeterminism", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "6/89", Month = oct, Year = 1989, Annote = "CCS-like language whose semantic theory relates concurrency and nondeterminism without reducing the former to the latter. 30 references." } @TechReport{Aceto90, Author = "Luca Aceto", Title = "A Theory of Testing for ACP", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "3/90", Month = may, Year = 1990, Annote = "Algebraic verification in the theory of testing equivalence. 31 references." } @Book{Aceto92, Author = "Luca Aceto", Title = "Action refinement in process algebras", Publisher = "Cambridge University Press", Address = NY, Year = 1992, Annote = "ISBN 0-521-43111-5" } @Proceedings{Agha-Wegner-Yonezawa89, Editor = "Gul Agha and Peter Wegner and Akinori Yonezawa", Title = "ACM SIGPLAN Workshop on Object-Based Concurrent Programming", Organization = ACM, Month = apr, Year = 1989, Note = "ACM SIGPLAN Notices, Volume 24, Number 4" } @Book{Agha-Wegner-Yonezawa93, Editor = "Gul Agha and Peter Wegner and Akinori Yonezawa", Title = "Research Directions in Concurrent Object-Oriented Programming", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1993 } @Article{Agha90a, Author = "Gul Agha", Title = "Concurrent Object-Oriented Programming", Journal = CACM, Year = 1990, Volume = 33, Number = 9, Month = sep, Pages = "125-141", Annote = "25 references." } @InCollection{Agha91, Author = "Gul Agha", Title = "The Structure and Semantics of Actor Languages", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "1-59", Address = NY, Annote = "39 references." } @Article{Ahuja-Carlson-Gahlot, Author = "M. Ahuja and T. Carlson and A. Gahlot", Title = "Passive-Space and Time View: Vector Clocks for Achieving Higher Performance, Program Correction, and Distributed Computing", Journal = IEEETSE, Volume = 19, Number = 9, Month = sep, Year = 1993, Pages = "845-855", Annote = "14 references" } @Article{Aladhaband-etal93, Author = "G. Alghband and M.S. Benten and R. Jakob and H. F. Jordan and A. V. Ramanan", Title = "Language Portability Across Shared Memory MultiProcessors", Journal = "IEEE Transactions on Parallel and Distributed Systems", Volume = 4, Number = 9, Month = sep, Year = 1993, Pages = "1064-1072", Annote = "24 references" } @Book{Alford-etal85, Author = "M. W. Alford and J. P. Ansart and G. Hommel and L. Lamport and B. Liskov and G. P. Mullery and F. B. Schneider", Title = "Distributed Systems: Methods and Tools for Specification. An Advanced Course", Publisher = SV, Address = NY, Year = 1985, Series = LNCS, Volume = 190 } @InProceedings{Allchin-McKendry83, Author = "J. E. Allchin and M. S. McKendry", Title = "Synchronization and Recovery of Actions", BookTitle = "Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, Montreal, Canada", Month = aug, Pages = "31-44", Year = 1983, Organization = ACM, Annote = "Description of atomicity as found in the Clouds project. 27 references." } @Article{Almes-etal85, Author = "Guy T. Almes and Andrew P. Black and Edward D. Lazowska and Jerre D. Noe", Title = "The Eden System: A Technical Review", Journal = IEEESE, Volume = "SE-11", Number = 1, Month = jan, Year = 1985, Pages = "43-58", Annote = "Interesting checkpointing. The Eden system is an operating system and architecture for distributed programming. Discussion of their implementation. 18 references." } @TechReport{Alsberg-etal76, Author = "Peter A. Alsberg and Geneva G. Belford and John D. Day and Enrique Grapa", Title = "Multi-Copy Resiliency Techniques", Type = "CAC Document", Number = 202, Institution = "Center for Advanced Computation, University of Illinois, Urbana, Illinois", Month = may, Year = 1976, Annote = "Discusses resiliency, that is not losing data in the face of failures. The techniques are based on primary sites and backups. 2 references." } @Article{Alverson-Notkin93, Author = "G. A. Alverson and D. Notkin", Title = "Program Structuring for Effective Parallel Portability", Journal = "IEEE Transactions on Parallel and Distributed Systems", Volume = 4, Number = 9, Month = sep, Year = 1993, Pages = "1060-1064", Annote = "17 references" } @Book{Ananda-Srinivasan91, Author = "Akkihebba L. Ananda and Balasubramaniam Srinivasan", Title = "Distributed Computing Systems: Concepts and Structures", Publisher = "IEEE Computer Society Press", Year = 1991, Series = "IEEE Computer Society Press Reprint Collection", Address = "Los Alamitos, California", Annote = "Collection of articles about distributed systems." } @Article{Andreoli-Pareschi90, Author = "Jean-Marc Andreoli and Remo Pareschi", Title = "LO and Behold! Concurrent Structured Processes", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = oct, Pages = "44-56", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "24 references." } @Article{Andrews-Olsson86, Author = "Gregory R. Andrews and Ronald A. Olsson", Title = "The Evolution of the SR Language", Journal = "Distributed Computing", Volume = 1, Number = 2, Month = apr, Year = 1986, Note = "Also University of Arizona TR 85-22." } @Article{Andrews-Schneider83, Author = "Gregory R. Andrews and Fred B. Schneider", Title = "Concepts and Notations for Concurrent Programming", Journal = ACMCS, Volume = 15, Number = 1, Pages = "3-43", Month = mar, Year = 1983 } @Article{Andrews-etal87, Author = "Gregory R. Andrews and Richard D. Schlichting and Roger Hayes and Titus D. M. Purdin", Title = "The Design of the Saguaro Distributed Operating System", Journal = IEEETSE, Volume = "SE-13", Number = 1, Pages = "104-118", Month = jan, Year = 1987, Annote = "Features support for communication connections, semitransparent file replication and access, pools of server processes, decentralized allocation protocols, and support for type checking. 39 references." } @Article{Andrews-etal88, Author = "Gregory R. Andrews and Ronald A. Olsson and Michael Coffin and Irving Elshoff and Kelvin Nilsen and Titus Purdin and Gregg Townsend", Title = "An Overview of the SR Language and Implementation", Journal = TOPLAS, Volume = 10, Number = 1, Pages = "51-86", Month = jan, Year = 1988, Annote = "38 references." } @TechReport{Andrews90, Author = "Gregory R. Andrews", Title = "Paradigms for Process Interaction in Distributed Programs", Institution = "Department of Computer Science, The University of Arizona", Address = "Tucson, Arizona", Number = "TR 89-24a", Month = may, Year = 1990, Annote = "67 references." } @Article{Andrews91a, Author = "Gregory R. Andrews", Title = "Paradigms for Process Interaction in Distributed Programs", Journal = ACMCS, Year = 1991, Volume = 23, Number = 1, Month = mar, Pages = "49-90", Annote = "69 references." } @Book{Andrews91b, Author = "Gregory R. Andrews", Title = "Concurrent Programming: Principles and Practice", Publisher = "The Benjamin/Cummings Publishing Company", Year = 1991, Annote = "hundreds of references." } @Article{Aridor-Choen-Yehudai98, author = {Yariv Aridor and Shimon Choen and AmiramYehudai}, title = {Design of an Actor Language for Implicit Parallel Programming}, journal = SIGPLAN, year = 1998, volume = 33, number = 6, month = jun, pages = {39-47}, annote = {12 references.} } @Article{Arora-Kulkarni98, author = {Anish Arora and Sandeep S. Kulkarni}, title = {Component Based Design of Multitolerant Systems}, journal = IEEETSE, year = 1998, volume = 24, number = 1, month = jan, pages = {63-78}, annote = {27 references.} } @TechReport{Arun-Kumar-Hennessy90, Author = "S. Arun-Kumar and M. Hennessy", Title = "An Efficiency Preorder for Processes", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "5/90", Month = jul, Year = 1990, Annote = "14 references." } @InProceedings{Atkinson-Hewitt77, Author = "R. Atkinson and C. Hewitt", Title = "Synchronization in Actor Systems", BookTitle = "Conference Record of the Fourth Annual ACM Symposium on Principles of Programming Languages", Month = jan, Year = 1977, Pages = "267-280" } @Book{Atkinson-Moreton-Natali88, Author = "Colin Atkinson and Trevor Moreton and Antonio Natali", Title = "Ada for distributed systems", Publisher = "Cambridge University Press", Address = "Cambridge", Year = 1988, Annote = "49 references." } @Article{Babaoglu87, Author = {\"{O}zalp Babao\~{g}lu}, Title = "On the Reliability of Consensus-Based Fault-Tolerant Distributed Computing Systems", Journal = TOCS, Volume = 5, Number = 4, Month = nov, Year = 1987, Pages = "394-416", Annote = "Models times of machine failure as a stocastic process and derives reliability estimates for various algorithms and other parameters. Estimates of reliability where a bound on the number of failures is unknown. 32 references." } @Article{Bal-Kaashoek93, Author = "Henri E Bal and M.Frans Kaashoek", Title = "Object Distribution in Orca using Compile -Time and Run-Time Techniques", Journal = SIGPLAN, Volume = 28, Number = 10, Month = oct, Year = 1993, Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Pages = "162-177", Annote = "37 references." } @Article{Bal-Steiner-Tanenbaum89, Author = "Henri E. Bal and Jennifer G. Steiner and Andrew S. Tanenbaum", Title = "Programming Languages for Distributed Computing Systems", Journal = ACMCS, Volume = 21, Number = 3, Month = sep, Year = 1989, Pages = "261-322", Annote = "Survey with extensive bibliography." } @Article{Bal-Tanenbaum91, Author = "Henri E. Bal and Andrew S. Tanenbaum", Title = "Distributed Programming with Shared Data", Journal = "Computer Languages", Year = 1991, Volume = 16, Number = 2, Pages = "129-146" } @PhDThesis{Bal89, Author = "Henri Elle Bal", Title = "The Shared Data-Object Model as a Paradigm for Programming Distributed Systems", School = "Vrije Universiteit te Amsterdam", Year = 1989, Annote = "Hundreds of references." } @Book{Bal90, Author = "Henri E. Bal", Title = "Programming Distributed Systems", Publisher = "Silicon Press", Year = 1990, Address = "Summit, NJ" } @Article{Barborak-Malek-Dahbura93, Author = "Micheal Barborak and Miroslaw Malek and Anton Dahbura", Title = "The Consensus problem in Fault tolerant Computing", Journal = ACMCS, Year = 1993, Volume = 25, Number = 2, Pages = "171-220", Annote = "150 references" } @Manual{Bartlett77, Author = "Joel F. Bartlett", Title = "A NonStop Operating System", Organization = "Tandem Computers, Inc.", Year = 1977, Annote = "Discusses process pairs and other high level topics in the architecture of Tandem's operating system. 8 references." } @Article{Belloch96, author = {Guy E. Belloch}, title = {Programming Parallel Algorithms}, journal = CACM, year = 1996, volume = 39, number = 3, month = mar, pages = {85-97}, annote = {25 references.} } @InProceedings{Ben-Or83, Author = "Michael Ben-Or", Title = "Another Advantage of Free Choice: Completely Asynchronous Agreement Prototols", BookTitle = "Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, Montreal, Canada", Month = aug, Year = 1983, Pages = "27-30", Annote = "Probabilistic solution to the asynchronous agreement or commit problem. Not very efficient unless the number of faulty processors is assumed to be less than the square root of the number of processors. 4 references." } @TechReport{Ben-Zvi90, Author = "Boaz Ben-Zvi", Title = "Disconnected Actions: An Asynchronous Extension to a Nested Atomic Action System", Institution = MITLCS, Year = 1990, Number = 475, Address = "Cambridge, Mass.", Month = jan } @InProceedings{Benton-Cardelli-Fournet02, author = {Nick Benton and Luca Cardelli and C\'{e}dric Fournet}, title = {Modern Concurrency Abstractions for {C\#}}, booktitle = {ECOOP 2002 --- Object-Oriented Programming, 16th European Conference, M\'{a}alaga, Spain, Proceedings}, pages = {415-440}, year = 2002, editor = {Boris Magnusson}, volume = 2374, series = LNCS, address = {Berlin}, month = jun, publisher = SV, annote = {29 references.} } @Article{Bernstein-Goodman81, Author = "Philip A. Bernstein and Nathan Goodman", Title = "Concurrency Control in Distributed Database Systems", Journal = ACMCS, Volume = 13, Number = 2, Month = jun, Year = 1981, Pages = "185-221", Annote = "Taxonomy and discussion of distributed concurrency control methods. 83 references and a partial index of references organized by subjects." } @Article{Bernstein-Goodman83, Author = "Philip A. Bernstein and Nathan Goodman", Title = "Multiversion Concurrency Control -- Theory and Algorithms", Journal = TODS, Volume = 8, Number = 4, Month = dec, Year = 1983, Pages = "465-483", Annote = "Theorems about serializability and 1 copy serializability. Analysis of multiversion timestamping, multiversion locking, and a hybrid protocol. 21 references." } @Article{Bernstein-Goodman84, Author = "Philip A. Bernstein and Nathan Goodman", Title = "An Algorithm for Concurrency Control and Recovery in Replicated Distributed Databases", Journal = TODS, Volume = 9, Number = 4, Month = dec, Year = 1984, Pages = "596-615", Annote = "Algorithm that handles detectable site failures but not partitions. Basic idea is to read from one copy and write to all available copies. 34 references." } @InProceedings{Berry-Milner-Turner92, Author = "Dave Berry and Robin Milner and David Turner", Title = "A semantics for ML concurrency primitives", BookTitle = "Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", Year = 1992, Pages = "119-129", Organization = ACM, Month = jan, Annote = "18 references." } @InCollection{Berry00, author = "G\'{e}rard Berry", title = "The Foundations of {Esterel}", booktitle = "Proof, Language and Interaction: Essays in Honour of Robin Milner", editor = "G. Plotkin and C. Stirling and M. Tofte", publisher = MITP, Address = "Cambridge, Mass.", year = 2000 } @Article{Birman93, Author = "Kenneth P. Birman", Title = "The Process Group Approach to Reliable Distributed Computing", Journal = CACM, Month = dec, Year = 1993, Volume = 36, Number = 12, Pages = "36-53", Annote = "37 references" } @Article{Birrell-Nelson84, Author = "Andrew D. Birrell and Bruce J. Nelson", Title = "Implementing Remote Procedure Calls", Journal = TOCS, Volume = 2, Number = 1, Month = feb, Year = 1984, Pages = "39-59", Annote = "Description of their implementation of RPCs. 15 references." } @Article{Birrell-etal82, Author = "Andrew D. Birrell and Roy Levin and Roger M. Needham and Michael D. Schroeder", Title = "Grapevine: An Exercise in Distributed Computing", Journal = CACM, Volume = 25, Number = 4, Month = apr, Year = 1982, Pages = "260-274", Annote = "Description of the design and implementation of Grapevine, which is a mail, naming, authentication and catalog service. The system makes a best effort to send updates and messages but essentially makes no guarantees. 13 references." } @InProceedings{Birrell-etal86, Author = "Andrew D. Birrell and Butler W. Lampson and Roger M. Needham and Michael D. Schroeder", Title = "A Global Authentication Service without Global Trust", BookTitle = "IEEE Symposium on Security and Privacy, Oakland", Month = apr, Year = 1986, Pages = "223-230", Organization = IEEE, Annote = "Design of an authentication service ofr a large scale, long lifetime, distributed system. Method makes explicit trust relationships. 8 references." } @Article{Birrell85, Author = "Andrew D. Birrell", Title = "Secure Communication Using Remote Procedure Calls", Journal = TOCS, Volume = 3, Number = 1, Month = feb, Year = 1985, Pages = "1-14", Annote = "Protocols for use in a remote procedure call package for end-to-end security. Based on conversations. Provides authentication, encryption and prevention of playbacks. 12 references." } @TechReport{Birrell89, Author = "Andrew D. Birrell", Title = "An Introduction to Programming with Threads", Month = jan, Year = 1989, Institution = DECSRC, Number = 35, Annote = "17 references." } @Article{Black-etal86, Author = "Andrew Black and Norman Hutchinson and Eric Jul and Henry Levy", Title = "Object Structure in the {E}merald System", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "78-86", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Emerald is an object-based language for distributed programming. Notion of conformity encapsulates syntactic subtyping rules. Distinctions between local and global objects hidden by language. Objects created by explicit constructors, code sharing is managed by the kernel, and abstract types provide a classification scheme that is independent of an object's implementation. 24 references." } @Article{Black-etal87, Author = "Andrew Black and Norman Hutchinson and Eric Jul and Henry Levy and Larry Carter", Title = "Distribution and Abstract Types in Emerald", Journal = IEEETSE, Volume = "SE-13", Number = 1, Pages = "65-76", Month = jan, Year = 1987, Annote = "Overview of Emerald and comparison with other distributed programming languages. Abstract types are interfaces that allow subtyping. Some implementation considerations. 35 references." } @TechReport{Black-etal88, Author = "David L. Black and David B. Golub and Karl Hauth and Avadis Tevanian and Richard Sanzi", Title = "The Mach Exception Handling Facility", Institution = CMU, Month = apr, Year = 1988, Number = "CMU-CS-88-129", Annote = "10 references." } @Article{Blasgen-etal79, Author = "Mike Blasgen and Jim Gray and Mike Mitoma and Tom Price", Title = "The Convoy Phenomenon", Journal = SIGOPS, Volume = 13, Number = 2, Pages = "20-25", Month = apr, Year = 1979, Annote = "Describes how convoys of processes waiting for locks form and some suggestions about how to avoid them. 4 references." } @InCollection{Bloom-Meyer90, Author = "Bard Bloom and Albert R. Meyer", Title = "Experimenting with Process Equivalence", BookTitle = "Semantics for Concurrency, Leicester", Publisher = SV, Year = 1990, Editor = "M. Z. Kwiatkowska and M. W. Shields and R. M. Thomas", Series = "Workshops in Computing", Pages = "81-95", Address = NY, Annote = "21 references." } @TechReport{Bloom79a, Author = "Toby Bloom", Title = "Synchronization Mechanisms for Modular Programming Languages", Institution = MITLCS, Number = 211, Month = jan, Year = 1979, Annote = "This master's thesis evaluates the expressive power of various synchronization mechanisms. 35 references." } @InProceedings{Bloom79b, Author = "T. Bloom", Title = "Evaluating Synchronization Mechanisms", BookTitle = "Proceedings of the Seventh Symposium on Operating Systems Principles", Organization = ACM, Pages = "24-32", Month = dec, Year = 1979 } @TechReport{Bloom83, Author = "Toby Bloom", Title = "Dynamic Module Replacement in a Distributed Programming System", Month = mar, Year = 1983, Number = "TR-303", Institution = MITLCS, Annote = "Unit of replacement in Argus is the subsystem. Need for multiple interfaces to a type. Static type checking and association of a type with a static module definition place limits on dynamic modifiability. 17 references." } @Article{Boari-etal84, Author = "M. Boari and S. Crespi-Reghizzi and A. Dapra and F. Maderna and A. Natali", Title = "Multi-microprocessor Programming Techniques: MML, a New Set of Tools", Journal = "IEEE Computer", Month = jan, Year = 1984 } @InProceedings{Borr81, Author = "Andrea J. Borr", Title = "Transaction Monitoring in Encompass [TM]: Reliable Distributed Transaction Processing", BookTitle = "Proceedings on Very Large Databases, Seventh International Conference on Very Large Data Bases, Cannes, France", Organization = IEEE, Month = sep, Year = 1981, Pages = "155-165", Annote = "Description of the application-level transaction facilities provided with the Tandem system and of their distributed data management system. 6 references." } @Article{Botorog98, author = {George H. Botorog}, title = {Efficient high-level parallel programming}, journal = TCS, year = 1998, volume = 196, number = {1-2}, month = apr, pages = {77-107} } @inproceedings{Bouge-Francez88, author = {L. Boug\'{e} and N. Francez}, title = {A compositional approach to superimposition}, booktitle = {Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, year = {1988}, isbn = {0-89791-252-7}, pages = {240--249}, location = {San Diego, California, United States}, doi = {http://doi.acm.org/10.1145/73560.73581}, publisher = {ACM Press}, annote = {31 references.} } @Article{Brinch-Hansen98a, author = {Per {Brinch Hansen}}, title = {An Evaluation of {High Performance Fortran}}, journal = SIGPLAN, year = 1998, volume = 33, number = 3, month = mar, pages = {57-64}, annote = {12 references.} } @Article{Brinch-Hansen98b, author = {Per {Brinch Hansen}}, title = {An Evaluation of The Message Passing Interface}, journal = SIGPLAN, year = 1998, volume = 33, number = 3, month = mar, pages = {65-72}, annote = {11 references.} } @Article{Brinch-Hansen99, author = {Per {Brinch Hansen}}, title = {Java's Insecure Parallelism}, journal = SIGPLAN, year = 1999, volume = 34, number = 4, month = apr, pages = {38-45}, annote = {21 references.} } @Article{Briot-Guerraoui-Lohr98, author = {Jean-Pierre Briot and Rachid Guerraoui and Klaus-Peter Lohr}, title = {Concurrency and Distribution in Object-Oriented Programming}, journal = ACMCS, year = 1998, volume = 30, number = 3, month = sep, pages = {291-329}, annote = {Many references.} } @Article{Brookes-Hoare-Roscoe84, Author = "S. D. Brookes and C. A. R. Hoare and A. W. Roscoe", Title = "A Theory of Communicating Sequential Processes", Journal = JACM, Volume = 31, Number = 3, Month = jul, Year = 1984, Pages = "560-599" } @Article{Brown-Kolling-Taft85, Author = "Mark R. Brown and Karen N. Kolling and Edward A. Taft", Title = "The Alpine File System", Journal = TOCS, Volume = 3, Number = 4, Month = nov, Year = 1985, Pages = "261-293", Annote = "Discussion of the Alpine file system design and implementation as well as the Cedar language and programming environment. Alpine supports atomic transactions in a distributed network. 29 references." } @InCollection{Broy91, Author = "Manfred Broy", Title = "Formalization of Distributed, Concurrent, Reactive Systems", BookTitle = "Formal Description of Programming Concepts", Publisher = SV, Year = 1991, Editor = "E. J. Neuhold and M. Paul", Series = "IFIP State-of-the-Art Reports", Pages = "319-361", Address = NY, Annote = "ISBN 0-387-53961-1. 57 references." } @Unpublished{Burkhart92a, Author = "Roger Burkhart", Title = "Process Based Definition of Enterprose Models", Note = "To Appear in Enterprise Integration Modelling: Proceedings of the First Intl Conference, MIT Press, 1992, Author = roger@ci.deere.com", Annote = "11 references. " } @Book{Burns-Wellings98, author = {Andy Burns and Andy Wellings}, title = {Concurrency in Ada}, publisher = {Cambridge University Press}, year = 1998, address = NY, edition = "Second edition." } @TechReport{Burrows-Abadi-Needham, Author = "Michael Burrows and Mart\'{i}n Abadi and Roger Needham", Title = "A Logic of Authentication", Month = feb, Year = 1989, Institution = DECSRC, Number = 39, Annote = "20 references." } @Article{Butcher-Zedan91a, Author = "Paul Butcher and Hussein Zedan", Title = "Lucinda--An Overview", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 8, Month = aug, Pages = "90-100", Annote = "20 references." } @InCollection{Butcher-Zedan91b, Author = "Paul Butcher and Hussein Zedan", Title = "Lucinda - A Polymorphic Linda", BookTitle = "Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "J. P. Banatre and D. Le Metayer", Series = LNCS, Address = NY, Volume = 574, Pages = "126-146", Annote = "28 references" } @InProceedings{Campbell-Klostad79, Author = "R. H. Campbell and R. B. Klostad", Title = "Path Expressions in Pascal", BookTitle = "Proceedings of the Fourth International Conference on Software Engineering", Pages = "212-219", Month = sep, Year = 1979, Organization = "IEEE" } @Article{Cardelli95, author = "Luca Cardelli", title = "A language with distributed scope", journal = "Computing Systems", year = 1995, volume = 8, number = 1, pages = "27-59", month = jan, note = "A preliminary version appeared in POPL '95." } @InProceedings{Cardelli95b, Author = {Luca Cardelli}, Title = "A Language with Distributed Scope", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = jan, Year = 1995, Organization = ACM, Address = NY, Pages = "286-297", Annote = "The language Obliq. 33 references." } @Article{Carey-Muhanna86, Author = "Michael J. Carey and Waleed A. Muhanna", Title = "The Performance of Multiversion Concurrency Control Algorithms", Journal = TOCS, Volume = 4, Number = 4, Month = nov, Year = 1986, Pages = "?", Annote = "Simulation of concurrency control algorithms and an analysis of the results. Shows that multiversion algorithms provide significant performance improvements, although they access the disk more frequently. The storage overhead for old versions appears small. (Optimistic protocols are poor under heavy loads?) 32 references." } @Article{Carriero-Gelernter89a, Author = "Nicholas Carriero and David Gelernter", Title = "Linda in Context", Journal = CACM, Volume = 32, Number = 4, Month = apr, Year = 1989, Pages = "444-458", Annote = "Compares the Linda parallel language model to other paradigms for parallel programming: message passing, concurrent logic programming, and functional languages. 35 references." } @Article{Carriero-Gelernter89b, Author = "Nicholas Carriero and David Gelernter", Title = "How to Write Parallel Programs: A Guide for the Perplexed", Journal = ACMCS, Volume = 21, Number = 3, Month = sep, Year = 1989, Pages = "323-357", Annote = "Paradigms: parallel computation of elements of a data structure, adgenda parallelism, specialist parallelism. Linda as example language. 47 references." } @Article{Castellano-Michelis-Pomello87, Author = "L. Castellano and G. De Michelis and L. Pomello", Title = "Concurrency vs interleaving: an instructive example", Journal = "Bulletin of the EATCS", Year = 1987, Volume = 31, Pages = "12-15", Month = feb } @Article{Champine-Geer-Ruh90, Author = "George A. Champine and Daniel E. Geer, Jr., and William N. Ruh", Title = "Project Athena as a Distributed Computer System", Journal = "Computer", Year = 1990, Volume = 23, Number = 9, Month = sep, Pages = "40-51", Annote = "14 references." } @Article{Chan-Sarin85, Author = "Arvola Chan and Sunil Sarin", Title = "Improving Availability and Performance of Distributed Database Systems", Journal = "IEEE Bulletin on Database Engineering", Month = jun, Year = 1985, Pages = "?", Annote = "Survey of 3 projects at CCA. These are based on timestamps and compensation for actions. Performance concerns are important. 26 references." } @Article{Chandy-Kesselman91, Author = "K. Mani Chandy and Carl Kesselman", Title = "Parallel Programming in 2001", Journal = "IEEE Software", Year = 1991, Volume = 8, Number = 6, Month = nov, Pages = "11-20", Annote = "4 references." } @Article{Chandy-Lamport85, Author = "K. Mani Chandy and Leslie Lamport", Title = "Distributed Snapshots: Determining Global States of Distributed Systems", Journal = TOCS, Volume = 3, Number = 1, Month = feb, Year = 1985, Pages = "63-75", Annote = "Algorithm for noting the global state of processors and channels as it could have been at some time in the past. 11 references." } @Article{Chandy-Misra84, Author = "K. M. Chandy and J. Misra", Title = "The Drinking Philosophers Problem", Journal = TOPLAS, Volume = 6, Number = 4, Month = oct, Year = 1984, Pages = "632-646", Annote = "The problem of resolving conflicts fairly among processes in a distributed system is studied. Solutions offered here involve introducing extra resources to distinguish the processes and to form an acyclic precedence graph which is maintained locally. 10 references." } @Book{Chandy-Misra88, Author = "K. M. Chandy and J. Misra", Title = "Parallel Program Design", Publisher = "Addison-Wesley", Year = 1988, Address = "Reading, Mass." } @Article{Cheriton-Zwaenepoel85, Author = "D. Cheriton and Zwaenepoel", Title = "Distributed Process Groups in the V Kernel", Journal = TOCS, Month = may, Year = 1985, Volume = 3, Number = 2 } @Article{Cheriton87, Author = "D. Cheriton", Title = "UIO: A Uniform I/O System Interface for Distributed Systems", Journal = TOCS, Month = feb, Year = 1987, Volume = 5, Number = 1 } @Article{Chin-Chanson91, Author = "Roger S. Chin and Samuel T. Chanson", Title = "Distributed Object-Based Programming Systems", Journal = ACMCS, Year = 1991, Volume = 23, Number = 1, Month = mar, Pages = "91-124", Annote = "56 references." } @TechReport{Clamen-etal89, Author = "S. M. Clamen and L. D. Leibengood and S. M. Nettles and J. M. Wing", Title = "Reliable Distributed Computing with Avalon/Common Lisp", Month = sep, Year = 1989, Institution = CMU, Number = "CMU-CS-89-186", Annote = "25 references." } @TechReport{Cleaveland-Hennessy89, Author = "Rance Cleaveland Matthew Hennessy", Title = "Testing Equivalence as a Bisimulation Equivalene", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "4/89", Month = jun, Year = 1989, Annote = "How to view testing equivalences as bisimulation equivalences. 16 references." } @TechReport{Closkey88, Author = "Cynthia Closkey", Title = "The ARGUS System Manual", Institution = MITLCS, Year = 1988, Type = "Programming Methodology Group Memo ", Number = 64, Address = "Cambridge, Mass, 02139", Month = sep, Annote = "No references." } @InProceedings{Coan-Oki-Kolodner86, Author = "Brian A. Coan and Brian M. Oki and Elliot K. Kolodner", Title = "Limitations on Database Availability when Networks Partition", BookTitle = "Proceedings of the Fifth Annual ACM Symposium on the Principles of Distributed Computing", Month = aug, Year = 1986, Pages = "?", Organization = ACM } @TechReport{Coffin89, Author = "Michael Coffin", Title = "Par: A Language for Architecture-Independent Parallel Programming", Institution = "Department of Computer Science, The University of Arizona", Address = "Tucson, Arizona", Number = "TR 89-18", Month = sep, Year = 1989, Annote = "Language for writing architecture independent parallel programs. 24 references." } @Book{Coulouris-Dollimore88, Author = "George F. Coulouris and Jean Dollimore", Title = "Distributed Systems: Concepts and Design", Publisher = "Addison-Wesley", Address = "Reading, Mass.", Year = 1988 } @InProceedings{Cristian-etal85, Author = "Flaviu Cristian and Houtan Aghili and Ray Strong and Danny Dolev", Title = "Atomic Broadcast: From Simple Message Diffusion to Byzantine Agreement", BookTitle = "Fifteenth International Conference on Fault Tolerant Computing, Ann Arbor, Michigan", Organization = IEEE, Month = jun, Year = 1985, Pages = "?", Annote = "Algorithm for atomic broadcasts needed to implement delta-common storage; storage that at every time displays the same contents to all correct processors and requires delta time units to complete replicated updates. 19 references." } @Article{Cristian91, Author = "Flaviu Cristian", Title = "Understanding Fault-Tolerant Distributed Systems", Journal = CACM, Year = 1991, Volume = 34, Number = 2, Month = feb, Pages = "56-78", Annote = "67 references." } @Article{Crowl-LeBlanc94, Author = "Lawrence A. Crowl and Thomas J. LeBlanc", Title = "Parallel Programming with Control Abstraction", Journal = TOPLAS, Year = 1994, Volume = 16, Number = 3, Month = may, Pages = "524-576", Annote = "41 references." } @Article{Dasgupta-etal91, Author = "Partha Dasgupta and Richard J. LeBlanc, Jr. and Mustaque Ahamad and Umakishore Ramachandran", Title = "The Clouds Distributed Operating System", Journal = "Computer", Year = 1991, Volume = 24, Number = 11, Month = nov, Pages = "34-43", Annote = "12 references." } @Article{Dasgupta86, Author = "Partha Dasgupta", Title = "A Probe-Based Monitoring Scheme for an Object-Oriented Distributed Operating System", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "57-66", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Permenant entities in Clouds are objects. Nested actions. Objects can be explicitly deleted. Processes are separated from objects. 15 references." } @Article{Davidson-Garcia-Molina-Skeen, Author = "Susan B. Davidson and Hector Garcia-Molina and Dale Skeen", Title = "Consistency in a Partitioned Networks", Journal = ACMCS, Volume = 17, Number = 3, Month = sep, Year = 1985, Pages = "341-370", Annote = "A comprehensive survey. 50 references." } @Article{Davidson84, Author = "Susan B. Davidson", Title = "Optimism and Consistency in Partitioned Distributed Database Systems", Journal = TODS, Volume = 9, Number = 3, Month = sep, Year = 1984, Pages = "456-481", Annote = "Strategy is to let transactions proceed in face of a partition, to detect conflicts after the fact and to back out transactions that cause cycles in the serialization order. Some analysis of the situations in which this strategy is useful. 29 references." } @Article{Davies-Wakerly78, Author = "D. Davies and J. Wakerly", Title = "Synchronization and Matching in Redundant Systems", Journal = IEEETC, Volume = "C-27", Number = 6, Month = jun, Year = 1978, Pages = "531-539" } @TechReport{Day-etal93a, Author = "Mark S. Day and Sanjay Ghemawat and Robert E. Gruber and Umesh Maheshwari and Andrew Myers", Title = "Programming Methodology Group Memo 78: Student Working Papers", Number = "Memo 78", Year = 1993, Institution = MITLCS } @Article{Day-etal93b, Author = "M Day, B. Liskov, U, Maheshwari, and A.C. Myers,", Title = "References to Remote Mobile Objects in Thor", Journal = "ACM Letters on Programming Languages and Systems", Year = 1993, Volume = 2, Number = "1-4", Month = "March-December", Pages = "115-126", Annote = "14 references." } @TechReport{Day87, Author = "Mark S. Day", Title = "Replication and Reconfiguration in a Distributed Mail Repository", Number = "MIT/LCS/TR-376", Month = apr, Year = 1987, Institution = MITLCS } @Article{Decouchant86, Author = "D. Decouchant", Title = "Design of a Distributed Object Manager for the Smalltalk-80 System", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "444-452", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Sharing Smalltalk-80 objects over a local area network. Location transparency and uniform object naming; uses proxy objects to provide access to remote objects while maintaining the illusion of locality. Object migration as desired or needed. Read/write access control based on object ownership. 8 references." } @InCollection{Degano-Gorrieri-Vigna93, Author = "P. Degano and R. Gorrieri and S. Vigna", Title = "On Relating Some models for Concurrency", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Booktitle = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE", Pages = "15-30", Annote = "23 references" } @inproceedings{Deng-etal02, author = {Xianghua Deng and Matthew B. Dwyer and John Hatcliff and Masaaki Mizuno}, title = {Invariant-based Specification, Synthesis, and Verification of Synchronization in Concurrent Programs}, booktitle = {Proceedings of the 24th International Conference on Software Engineering (ICSE 2002)}, year = 2002, isbn = {1-58113-472-X}, pages = {442-452}, location = {Orlando, Florida}, doi = {http://doi.acm.org/10.1145/581339.581394}, publisher = ACM, address = NY } @Article{Detlefs-Herlihy-Wing88, Author = "David L. Detlefs and Maurice P. Herlihy and Jeannette M. Wing", Title = "Inheritance of Synchronization and Recovery Properties in Avalon/C++", Journal = "IEEE Computer", Volume = 21, Number = 12, Month = dec, Year = 1988, Pages = "57-69", Annote = "16 references." } @Article{Dolev-Dwork-Stockmeyer87, Author = "Danny Dolev and Cynthia Dwork and Larry Stockmeyer", Title = "On the Minimal Synchronization Needed for Distributed Consensus", Journal = JACM, Volume = 34, Number = 1, Month = jan, Year = 1987, Pages = "77-97" } @InProceedings{Dolev-Rieschuk-Strong82, Author = "D. Dolev and R. Rieschuk and H. R. Strong", Title = {"Eventual" is Earlier than "Immediate"}, BookTitle = "23rd Annual Symposium on Foundations of Computer Science, Chicago", Organization = IEEE, Year = 1982, Month = nov, Pages = "196-203" } @InProceedings{Dolev-Strong82a, Author = "D. Dolev and H. R. Strong", Title = "Polynomial Algorithms for Multiple Processor Agreement", BookTitle = "Proceedings of the 14th Annual ACM Symposium on Theory of Computing, San Francisco", Organization = ACM, Month = may, Year = 1982, Pages = "401-407", Note = "Also IBM Res. Rep. RJ3342" } @InProceedings{Dolev-Strong82b, Author = "D. Dolev and H. R. Strong", Title = "Distributed Commit with Bounded Waiting", BookTitle = "Proceedings Second Symposium on Reliability in Distributed Software and Database Systems, Pittsburgh", Organization = IEEE, Month = jul, Year = 1982, Pages = "53-59" } @TechReport{Dolev-Strong82c, Author = "D. Dolev and H. R. Strong", Title = "Authenticated Algorithms for Byzantine Agreement", Institution = "IBM Research Laboratory, San Jose", Year = 1982, Month = mar, Number = "RJ3416" } @article{Dolev-Yao83, author = {Danny Dolev and Andrew Chi-Chih Yao}, title = {On the security of public key protocols}, journal = {IEEE Transactions on Information Theory}, volume = 29, number = 2, year = 1983, pages = {198-207} } @InProceedings{Dolev81, Author = "D. Dolev", Title = "Unanimity in an Unknown and Unreliable Environment", BookTitle = "22nd Annual Symposium on Foundations of Computer Science, Nashville", Year = 1981, Organization = IEEE, Month = oct, Pages = "159-168" } @Article{Dolev82, Author = "D. Dolev", Title = "The Byzantine Generals Strike Again", Journal = "Journal of Algorithms", Volume = 3, Pages = "14-30", Year = 1982, Note = "Also Stanford Tech. Rep. STAN-CS-81-846, February 1981" } @TechReport{Duke-etal93, Author = "Roger Duke and Cecily Bailes and Graeme Smith", Title = "Modelling Reactive Objects", Number = "93-1", Institution = "Software Verification Research Center, The University of Queensland", Address = "Queensland, Australia", Year = 1993, Month = jan } @InProceedings{Dwork-Skeen83, Author = "Cynthia Dwork and Dale Skeen", Title = "The Inherent Cost of Nonblocking Commitment", BookTitle = "Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, Montreal, Canada", Month = aug, Year = 1983, Pages = "1-11", Organization = ACM, Annote = "Strong lower bounds are derived for nonblocking commit protocols for both message and time complexity. Assumes benign processor failures. Nonblocking protocols take about 50% more time than blocking protocols. 4 references." } @Article{Ellingson-Kulpinski73, Author = "C. E. Ellingson and R. J. Kulpinski", Title = "Dissemination of system-time", Journal = "IEEE Transactions on Communications", Volume = "COM-21", Number = 5, Month = may, Year = 1973, Pages = "605-624" } @TechReport{Emer-Wehl89, Author = "Joel S. Emer and William E. Wehl", Title = "Integrated interactive Access to Heterogenous Distributed Services", Institution = MITLCS, Year = 1989, Type = "Programming Methodology Group Memo ", Number = 67, Address = "Cambridge, Mass, 02139", Month = dec, Annote = "13 references." } @Article{Eswaran-etal76, Author = "K. P. Eswaran and J. N. Gray and R. A. Lorie and I. L. Traiger", Title = "On the Notions of Consistency and Predicate Locks in a Data Base System", Journal = CACM, Volume = 19, Number = 11, Year = 1979, Month = nov, Pages = "624-633" } @Article{Falcone87, Author = "Joseph R. Falcone", Title = "A Programmable Interface Language for Heterogeneous Distributed Systems", Journal = TOCS, Volume = 5, Number = 4, Month = nov, Year = 1987, Pages = "330-351", Annote = "Programming language for a heterogeneous distributed system environment. 25 references." } @Article{Fekete-etal90, Author = "Alan Fekete and Nancy Lynch and Michael Merritt and William Weihl", Title = "Commutativity-Based Locking for Nested Transactions", Journal = JCSS, Volume = 41, Number = 1, Month = aug, Year = 1990, Pages = "65 ff.", Note = "6th Annual ACM SIGACT/SIGMOD Symposium on the Principles of Database Systems (PODS), March 1987" } @InCollection{Fidge94, Author = "C. Fidge", Title = "Logical Time in Distributed Computing Systems", BookTitle = "Readings in Distributed Computing Systems", Publisher = "IEEE Computer Society Press", Year = 1994, Editor = "Thoman L. Casavant and Mukesh Singhal", Pages = "73-82", Address = "Los Alamitos, California", Annote = "12 references." } @Book{Filman-Friedman84, Author = "Robert E. Filman and Daniel P. Friedman", Title = "Coordinated Computing", Publisher = "McGraw-Hill", Year = 1984, Address = NY, Annote = "Hundreds of references." } @Article{Finn79, Author = "S. G. Finn", Title = "Resynch Procedures and a Fail-Safe Network Protocol", Journal = "IEEE Transactions on Communications", Volume = "COM-27", Number = 6, Month = jun, Year = 1979, Pages = "840-845" } @InProceedings{Fischer-Griffeth-Lynch81, Author = "M. J. Fischer and N. D. Griffeth and N. A. Lynch", Title = "Global States of a Distributed System", BookTitle = "Proceedings Symposium on Reliability in Distributed Software and Database Systems, Pittsburgh", Organization = IEEE, Pages = "33-38", Month = jul, Year = 1981 } @Article{Fischer-Lynch-Merritt86, Author = "Michael J. Fischer and Nancy A. Lynch and Michael Merritt", Title = "Easy Impossibility Proofs for distributed Consensus Problems", Journal = "Distributed Computing", Volume = 1, Number = 1, Month = jan, Year = 1986, Pages = "26-39" } @InProceedings{Fischer-Lynch-Paterson83, Author = "M. Fischer and N. Lynch and M. Paterson", Title = "Impossibility of Distributed Consensus with One Faulty Process", BookTitle = "Proceedings of the Second ACM Symposium on Principles of Database Systems", Year = 1983, Organization = ACM, Note = "Also M.I.T. Tech. Rep. MIT/LCS/TR-282, Sept. 1982" } @Article{Fischer-Lynch82, Author = "M. Fischer and N. Lynch", Title = "A Lower Bound for the Time to Assure Interactive Consistency", Journal = IPL, Year = 1982, Month = jun, Volume = 14, Number = 4, Pages = "183-186" } @InProceedings{Flanagan-Freund00, author = {Cormac Flanagan and Stephen N. Freund}, title = {Type-based race detection for {Java}}, booktitle = {Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation}, year = {2000}, isbn = {1-58113-199-2}, pages = {219-232}, location = {Vancouver, British Columbia, Canada}, doi = {http://doi.acm.org/10.1145/349299.349328}, publisher = {ACM Press}, address = {New York, NY, USA} } @inproceedings{Flanagan-Freund04, author = {Cormac Flanagan and Stephen N. Freund}, title = {Atomizer: a dynamic atomicity checker for multithreaded programs}, booktitle = {Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, year = {2004}, isbn = {1-58113-729-X}, pages = {256-267}, location = {Venice, Italy}, doi = {http://doi.acm.org/10.1145/964001.964023}, publisher = ACM } @InProceedings{Flanagan-Qadeer03, author = {Cormac Flanagan and Shaz Qadeer}, title = {Types for atomicity}, booktitle = {Proceedings of the 2003 ACM SIGPLAN International Workshop on Types in Languages Design and Implementation}, year = {2003}, isbn = {1-58113-649-8}, pages = {1-12}, location = {New Orleans, Louisiana, USA}, doi = {http://doi.acm.org/10.1145/604174.604176}, publisher = {ACM Press} } @InProceedings{Flanagan-Qadeer03a, author = {Cormac Flanagan and Shaz Qadeer}, title = {A type and effect system for atomicity}, booktitle = {Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation}, year = {2003}, isbn = {1-58113-662-5}, pages = {338-349}, location = {San Diego, California, USA}, doi = {http://doi.acm.org/10.1145/781131.781169}, publisher = {ACM Press} } @inproceedings{Flanagan04, author = {Cormac Flanagan}, title = {Verifying Commit-Atomicity Using Model-Checking}, booktitle = {Proceedings of the 11th International SPIN Workshop on Model Checking of Software}, location = {Barcelona, Spain}, publisher = SV, series = LNCS, volume = 2989, pages = {252-266}, year = 2004, month = apr } @InCollection{Flatebo-Datta-Ghosh94, Author = "M. Flatebo and A.K. Datta and S. Ghosh", Title = "Self-Stabilization in Distributed Sytems", BookTitle = "Readings in Distributed Computing Systems", Publisher = "IEEE Computer Society Press", Year = 1994, Editor = "Thoman L. Casavant and Mukesh Singhal", Pages = "100-114", Address = "Los Alamitos, California", Annote = "24 references." } @TechReport{Franaszek-Robinson83, Author = "Peter Franaszek and John T. Robinson", Title = "Limitations of Concurrency in Transaction Processing", Type = "IBM Research Report", Number = "RC 10151", Institution = "IBM Reseach Center, Yorktown Heights, N.Y.", Month = aug, Year = 1983, Annote = "Analysis of the concurrency possible under different locking protocols as the number of transactions and their probability of conflict increases. Based on random graphs. The effective level of concurrency reaches a maximum and then goes to zero in protocols which do not have priorities built in. In schemes that use priorities, the level of concurrency is unbounded, although it is not clear that this is practical. 13 references." } @article{Freund-Qadeer04, author = {Stephen N. Freund and Shaz Qadeer}, title = {Checking Concise Specifications for Multithreaded Software}, journal = {Journal of Object Technology}, volume = 3, number = 6, year = 2004, pages = {81-101} } @InCollection{Frolund92, Author = "Svend Fr\olund", Title = "Inheritance of Synchronization Constraints in Concurrent Object-Oriented Programming Languages", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "185-196", Annote = "22 references" } @Article{Garcia-Molina82, Author = "H. Garcia-Molina", Title = "Elections in a Distributed Computing System", Journal = IEEETC, Volume = "C-31", Number = 1, Month = jan, Pages = "48-59", Year = 1982 } @Article{Garlan-Notkin91, Author = "David Gorlan and David Notkin", Title = "Formalizing Design Spaces: Implicit Invocation Mechanisms", Journal = LNCS, Volume = "551", Pages = "31-44", Year = 1991, Annote = "20 references" } @InCollection{Garland-Lynch00, Author = "Stephen J. Garland and Nancy Lynch", Title = "Using I/O Automata for Developing Distributed Systems", BookTitle = {Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Year = 2000, Publisher = {Cambridge University Press}, Address = NY, ISBN = {0-521-77164-1}, Chapter = 13, Pages = "285-312", Annote = "41 references." } @Article{Gehani82, Author = "N. H. Gehani", Title = "Concurrency in Ada and Multicomputers", Journal = "Computer Languages", Volume = 7, Number = 1, Year = 1982, Pages = "21-23", Annote = "Efficiency problems with distributing Ada tasks, because of shared variables and data shared through pointers." } @Article{Gelernter-Carriero92, Author = "David Gelernter and Nicholas Carriero", Title = "Coordination Languages and their Significance", Journal = CACM, Year = 1992, Volume = 35, Number = 2, Month = feb, Pages = "97-107", Annote = "29 references." } @Article{Gelernter85, Author = "David Gelernter", Title = "Generative Communication in Linda", Journal = TOPLAS, Volume = 7, Number = 1, Month = jan, Year = 1985, Pages = "80-112", Annote = "Closely coupled network language that has an interesting kind of shared memory abstraction for communication. 27 references." } @InCollection{Gelernter91, Author = "David Gelernter", Title = "Current Research on Linda", BookTitle = "Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "J. P. Banatre and D. Le Metayer", Series = LNCS, Address = NY, Volume = 574, Pages = "74-76" } @TechReport{Ghemawat90, Author = "SanjayGhemawat", Title = "Automatic Replication for Highly Available Services", Institution = MITLCS, Year = 1990, Number = "473", Address = "Cambridge, Mass.", Month = mar } @InProceedings{Gifford-Donahue85, Author = "David K. Gifford and James E. Donahue", Title = "Coordinating Independent Atomic Actions", BookTitle = "Proceedings of IEEE Computer Conference '85", Month = feb, Year = 1985, Pages = "92-95", Organization = IEEE, Annote = "Describes persistent actions, actions with an exactly once semantics. 8 references." } @Article{Gifford-Glasser88, Author = "David K. Gifford and Nathan Glasser", Title = "Remote Pipes and Procedures for Efficient Distributed Communication", Journal = TOCS, Volume = 6, Number = 3, Month = aug, Year = 1988, Pages = "258-283", Annote = "The channel model for efficient distributed communication. Remote procedures are first-class objects, pipes for bulk data transport and incremental results, and channel groups to control relative sequencing of results. 31 references." } @Article{Gifford-Spector, Author = "David Gifford and Alfred Spector", Title = "The TWA Reservation System", Journal = CACM, Volume = 27, Number = 7, Month = jul, Year = 1984, Pages = "650-665", Annote = "Description of the design and implementation of the TWA system through interviews with the people involved. 6 references." } @Book{Gray-Reuter93, Author = "Jim Gray and Andreas Reuter", Title = "Transaction Processing: Concepts and Techniques", Publisher = "Morgan Kaufman", Year = 1993 } @Article{Gray-etal81, Author = "Jim Gray and Paul McJones and Mike Blasgen and Bruce Lindsay and Raymond Lorie and Tom Price and Franco Putzolu and Irving Traiger", Title = "The Recovery Manager of the System R Database Manager", Journal = ACMCS, Volume = 13, Number = 2, Month = jun, Year = 1981, Pages = "223-242", Annote = "Describes the do-undo-redo protocol of system R and the checkpoint mechanism. 16 references." } @Article{Gray86, Author = "James N. Gray", Title = "An Approach to Decentralized Computer Systems", Journal = IEEETSE, Volume = "SE-12", Number = 6, Month = jun, Year = 1986, Pages = "684-692", Annote = "Reasons for distribution. 15 references." } @InProceedings{Greif-Seliger-Weihl86, Author = "Irene Greif and Robert Seliger and William Weihl", Title = "Atomic Data Abstractions in a Distributed Collaborative Editing System (Extended Abstract)", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Organization = ACM, Month = jan, Year = 1986, Pages = "160-172", Annote = "Reports on some experience using Argus. 20 references." } @TechReport{Greif75, Author = "Irene Greif", Title = "Semantics of Communicating Parallel Processes", Month = sep, Year = 1975, Institution = "Massachusetts Institute of Technology, Project MAC", Number = 154, Annote = "Develops a specification language based on the actor model. 43 references." } @Article{Grimshaw93, Author = "Andrew S. Grimshaw", Title = "Easy-to-Use Object-Oriented Parallel Processing with Mentat", Journal = "IEEE Computer", Year = 1993, Volume = 26, Number = 5, Month = may, Pages = "39-51", Annote = "Mentat adds data parallel programming to C++. 12 references." } @TechReport{Gruber89, Author = "Robert Edward Gruber", Title = "Optimistic Concurrency Control For Nested Distributed Transactions", Institution = MITLCS, Year = "1989", Number = 453, Month = "June", Annote = "47 references." } @InProceedings{Habermann78, Author = "N. Habermann", Title = "Dynamically Modifiable Distributed Systems", BookTitle = "Proceedings of the Distributed Sensor Net Workshop", Organization = "Carnegie-Mellon University, Pittsburgh, Penn.", Month = dec, Year = 1978, Annote = "Uses version numbers on objects, they are translated to a canonical form when necessary and then to the form used by the version of the type manager that is manipulating them." } @Article{Haerder-Reuter83, Author = "Theo Haerder and Andreas Reuter", Title = "Principles of Transaction-Oriented Database Recovery", Journal = ACMCS, Volume = 15, Number = 4, Month = dec, Year = 1984, Pages = "287-317", Annote = "Analytic discussion of various kinds of database recovery mechanisms. Presents a simple taxonomy and costs. 38 references." } @Book{Hartley98, author = {Stephen J. Hartley}, title = {Concurent Programming: The {Java} Programming Language}, publisher = {Oxford}, year = 1998, address = NY, annote = {44 references} } @Article{Hassan-Bal-Jacobs98, author = {Saniya Ben Hassan and Henri E. Bal and Ceriel J. H. Jacobs}, title = {A Task- and Data-Parallel Programming Language Based on Shared Objects}, journal = TOPLAS, year = 1998, volume = 20, number = 6, month = nov, pages = {1131-1170}, annote = {43 references.} } @inproceedings{Hatcliff-Robby-Dwyer04, author = {John Hatcliff and Robby and Matthew Dwyer}, title = {Verifying Atomicity Specifications for Concurrent Object Oriented Software Using Model Checking}, booktitle = {Proceedings of the 5th International Conference on Verification, Model Checking, and Abstract Interpretation}, publisher = SV, series = LNCS, volume = 2937, year = 2004, pages = {175-190} } @TechReport{Hennessy-Ingolfsdottir89, Author = "Matthew Hennessy and A. Ing\'{o}lfsd\'{o}ttir", Title = "A Theory of Communicating Processes with Value-passing", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "3/89", Month = mar, Year = 1989, Annote = "Fully abstract semantics of process algebras that allows processes to communicate with values. Sound and complete proof system. 16 references." } @TechReport{Hennessy-Milner80, Author = "Matthew Hennessy and Robin Milner", Title = "On Observing Nondeterminism and Concurrency", Institution = "University of Edinburgh, Department of Computer Science", Type = "Internal Report", Number = "CSR-69-80", Year = 1980, Month = sep, Annote = "Defines observation congruence of programs. 9 references." } @Article{Hennessy-Milner85, Author = "Matthew Hennessy and Robin Milner", Title = "Algebraic Laws for Nondeterminism and Concurrency", Journal = JACM, Volume = 32, Number = 1, Month = jan, Year = 1985, Pages = "137-161" } @TechReport{Hennessy-Regan90, Author = "Matthew Hennessy and T. Regan", Title = "A Temporal Process Algebra", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "9/20", Month = mar, Year = 1990, Annote = "Processes algebras extended with idling until next clock cycle 25 references." } @Book{Hennessy88a, Author = "Matthew Hennessy", Title = "Algebraic Theory of Processes", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1988, Annote = "Semantic theory of communicating processes and a logical proof system for reasoning about them. Self-contained. 73 references." } @TechReport{Hennessy88b, Author = "Matthew Hennessy", Title = "Behaviour Equivalences: An Approach to the Semantics of Processes", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "4/88", Month = aug, Year = 1988, Note = "Notes for the CLSI Workshop on the semantics of natural and computer languages, 1987", Annote = "Informal account of structural composition and semantics of communicating concurrent systems. 15 references." } @TechReport{Hennessy88c, Author = "Matthew Hennessy", Title = "Observing Processes", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "5/88", Month = dec, Year = 1988, Annote = "Tutorial account of behavioral theories of processes. 20 references." } @TechReport{Hennessy89, Author = "Matthew Hennessy", Title = "A Proof System for Communicating Processes with Value-Passing", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "5/89", Month = aug, Year = 1989, Annote = "Sound and complete proof system for a version of CCS with value-passing. 20 references." } @Article{Herlihy-Lynch-Merritt92, Author = "Maurice Herlihy and Nancy Lynch and Michael Merritt", Title = "On the correctness of orphan management algorithms", Journal = JACM, Year = 1992, Volume = 39, Month = oct, Pages = "881-930" } @InProceedings{Herlihy-Wing87, Author = "Maurice P. Herlihy and Jeannette M. Wing", Title = "Avalon: Language Support for Reliable Distributed Systems", BookTitle = "Seventeenth International Symposium on Fault-Tolerant Computing, Pittsburgh, Pennsylvania", Month = jul, Year = 1987, Pages = "89-94", Organization = IEEE, Annote = "A set of linguistic constructs designed to give programmers explicit control over transaction-based processing. 25 references." } @Article{Herlihy-Wing89, Author = "Maurice P. Herlihy and Jeanette M. Wing", Title = "Linearizable Concurrent Objects", Journal = SIGPLAN, Year = 1989, Volume = 24, Number = 4, Month = apr, Pages = "133-135", Note = "Proceedings of the ACM SIGPLAN workshop on object-based concurrent programming", Annote = "0 references." } @Article{Herlihy-Wing91, Author = "M. P. Herlihy and J. M. Wing", Title = "Specifying Graceful Degradation", Journal = "IEEE Transactions on Parallel and Distributed Systems", Year = 1991, Volume = 2, Number = 1, Month = jan, Pages = "93-103", Annote = "29 references." } @TechReport{Herlihy82, Author = "Maurice Herlihy", Title = "A Control Abstraction for Process Synchronization", Institution = MITLCS, Year = 1982, Month = oct, Type = "DSG Note", Number = 106, Annote = "Synchronizers are a way of generalizing the mutex type and the seize statement in Argus. 1 reference." } @TechReport{Herlihy84, Author = "Maurice Peter Herlihy", Title = "Replication Methods for Abstract Data Types", Institution = MITLCS, Year = 1984, Month = may, Number = 319, Annote = "New techniques for replication that uses type-specific properties of objects to provide more effective replication. Quorums are associated with operations of the type. 45 references." } @Article{Herlihy86a, Author = "Maurice Herlihy", Title = "A Quorum-Consensus Replication Method for Abstract Data Types", Journal = TOCS, Volume = 4, Number = 1, Month = feb, Year = 1986, Pages = "32-53", Annote = "Method exploiting type specific properties for more effective replication. Also proposes a reconfiguration method that permits quorums to change dynamically. 33 references." } @InProceedings{Herlihy86b, Author = "Maurice Herlihy", Title = "Optimistic Concurrency Control for Abstract Data Types", BookTitle = "Proceedings of the Fifth Annual ACM Symposium on Principles of Distributed Computing", Organization = ACM, Year = 1986, Pages = "?", Note = "Reprinted in ACM SIGOPS Operating Systems Review, Volume 21, Number 2, April 1987, Pages 33-44", Annote = "27 references" } @Article{Herlihy87a, Author = "Maurice Herlihy", Title = "Concurrency versus Availability: Atomicity Mechanisms", Journal = TOCS, Volume = 5, Number = 3, Month = aug, Year = 1987, Annote = "Concurrency control and replica management handled by a single protocol. Allows more concurrency and allows availability to be traded against concurrency. 33 references." } @Article{Herlihy87b, Author = "Maurice Herlihy", Title = "Dynamic Quorum Adjustment for Partitioned Data", Journal = TODS, Volume = 12, Number = 2, Month = jun, Year = 1987, Pages = "170-194" } @Article{Herlihy89, Author = "Maurice P. Herlihy", Title = "Taking Concurrency Seriously", Journal = SIGPLAN, Year = 1989, Volume = 24, Number = 4, Month = apr, Pages = "32-33", Note = "Proceedings of the ACM SIGPLAN workshop on object-based concurrent programming", Annote = "3 references." } @Article{Herlihy90, Author = "Maurice Herlihy", Title = "Concurrency and availability as dual properties of replicated atomic data", Journal = JACM, Year = 1990, Volume = 37, Number = 2, Month = apr, Pages = "257-278" } @Article{Herlihy91, Author = "Maurice Herlihy", Title = "Wait-Free Synchronization", Journal = TOPLAS, Year = 1991, Volume = 13, Number = 1, Month = jan, Pages = "124-149", Annote = "31 references." } @Article{Herlihy93, Author = "Maurice Herlihy", Title = "A Methodology for Implementing Highly Concurrent Data Objects", Journal = TOPLAS, Volume = 15, Number = 5, Month = nov, Year = 1993, Pages = "745-770", Annote = "45 references" } @TechReport{Hewitt-Baker77, Author = "Carl Hewitt and Henry {Baker Jr.}", Title = "Actors and Continuous Functionals", Institution = MITLCS, Month = dec, Year = 1977, Number = 194, Annote = "Laws that hold for communicating processes, that is restrictions on computations that are physically realizable, are presented in the actor formalism without proof. Various partial orders. Relation to denotational semantics. 50 references." } @Article{Hillis-Steele86, Author = "W. Daniel Hillis and Guy L. {Steele Jr.}", Title = "Data Parallel Algorithms", Journal = CACM, Volume = 29, Number = 12, Month = dec, Year = 1986, Pages = "1170-1183", Annote = "Parallel algorithms for the connection machine. 25 references." } @Article{Hoare74, Author = "C. A. R. Hoare", Title = "Monitors: An Operating System Structuring Concept", Journal = CACM, Volume = 17, Number = 10, Month = oct, Year = 1974, Pages = "549-557" } @Book{Hoare85, Author = "C. A. R. Hoare", Title = "Communicating Sequential Processes", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1985 } @Article{Hufnagel-Browne89, Author = "Stephen P. Hufnagel and James C. Browne", Title = "Performance Properties of Vertically Partitioned Object-Oriented Systems", Journal = IEEETSE, Volume = 15, Number = 8, Month = aug, Year = 1989, Pages = "935-946", Annote = "Vertical partitioning means having the type be responsible for its storage, concurrency control, etc. 20 references." } @InCollection{Jagannathan91, Author = "Suresh Jagannathan", Title = "Expressing Fine-Grained Parallelism Using Concurrent Data Structures", BookTitle = "Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "J. P. Banatre and D. Le Metayer", Series = LNCS, Address = NY, Volume = 574, Pages = "77-92", Annote = "18 references" } @Book{Janici-Lauer92, Author = "Ryszard Janici and Peter E. Lauer", Title = "Specification and Analysis of Concurrent Systems: The COSY Approach", Year = 1992, Publisher = SV, Series = "EATCS Monographs on Theoretical Computer Science", Annote = "many references." } @Unpublished{Jategaonkar-Meyer93, Author = "Lalita Jategaonkar and Albert Meyer", Title = "Self-Synchronization of concurrent processes", Note = "Preliminary report --- To appear in LICS '93.", Annote = "24 references. " } @Unpublished{Jategaonkar-Meyer93b, Author = "Lalita Jategaonkar and Albert Meyer", Title = "Testing Equivalence for Petri Nets with Action Refinement", Note = "Obtained from the Authors: lalitha@theory.lcs.mit.edu" } @Article{Jefferson85, Author = "David R. Jefferson", Title = "Virtual Time", Journal = TOPLAS, Month = jul, Year = 1985, Volume = 7, Number = 3, Pages = "404-425", Annote = "A distributed transaction processing protocol which uses a notion of virtual time, that is, Lamport clocks, to synchronize activities. Use of antimessages for rollback when necessary. 32 references." } @Article{Jones-Rashid86, Author = "Michael B. Jones and Richard F. Rashid", Title = "Mach and Matchmaker: Kernel and Language Support for Object-Oriented Distributed Systems", Journal = SIGPLAN, Volume = 21, Number = 11, Month = nov, Year = 1986, Pages = "67-77", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Mach is a multiprocessor operating system that provides uniform object references, protected object capabilities, and efficient cross domain object communication object operation invocation. Matchmaker is an interface specification language that supports multiple programming languages, language support for object references, language interfaces for object operations, operation interface notation, and interface code generation. Capability based design. Matchmaker hides the underlying message passing mechanisms of Mach. Parameters other than object references are passed by value. 29 references." } @Article{Joshi-Ram99, author = {Rushikesh K. Joshi and D. Janaki Ram}, title = {Anonymous Remote Computing: A Paradigm for Parallel Programming on Interconnected Workstations}, journal = IEEETSE, year = 1999, volume = 25, number = 1, month = jan, pages = {75-90}, annote = {42 references.} } @InProceedings{Joung-Smolka92, Author = "Yuh-Jzer Joungand Scott A. Smolka", Title = "A Comprehensive Study of the Complexity of Multiparty Interaction (Extended Abstract)", BookTitle = "Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", Year = 1992, Pages = "142-153", Organization = ACM, Month = jan, Annote = "29 references." } @Article{Joyce-etal87, Author = "Jeffrey Joyce and Greg Lomow and Konrad Slind and Brian Unger", Title = "Monitoring Distributed Systems", Journal = TOCS, Volume = 2, Number = 2, Month = may, Year = 1987, Pages = "121-150", Annote = "Collection, interpretation, and display of information about the interactions of concurrently executing processes. The Jade distributed programming environment. 30 references." } @Article{Jul-etal88, Author = "Eric Jul and Henry Levy and Norman Hutchinson and Andrew Black", Title = "Fine-grained Mobility in the Emerald System", Journal = TOCS, Volume = 6, Number = 1, Month = feb, Year = 1988, Pages = "109-133" } @Article{Jun-Gruenwald98, author = {Woochun Jun and Le Gruenwald}, title = {Semantics-Based Concurrency Control in Object-Oriented Databases}, journal = JOOP, year = 1998, volume = 10, number = 8, month = jan, pages = {33-39}, annote = {17 references.} } @Article{Kafura-Lee89, Author = "D. G. Kafura and K. H. Lee", Title = "Inheritance in actor based concurrent object-oriented languages", Journal = "The Computer Journal", Year = 1989, Volume = 32, Number = 4, Month = aug, Pages = "297-304", Note = "Special Issue on object-oriented programming" } @InCollection{Kahn-MacQueen77, author = "G. Kahn and D. MacQueen", editor = "B. Gilchrist", title = "Coroutines and Networks of Parallel Processes", booktitle = "Information Processing '77: Proceedings of the IFIP Congress", pages = "993-998", publisher = "North-Holland", year = 1977 } @Article{Kahn-Saraswat90, Author = "Kenneth M. Kahn and Vijay A. Saraswat", Title = "Actors as a Special Case of Concurrent Constraint Programming", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = oct, Pages = "57-65", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "22 references." } @article{Katz93, author = {Shmuel Katz}, title = {A superimposition control construct for distributed systems}, journal = TOPLAS, volume = {15}, number = {2}, year = {1993}, issn = {0164-0925}, pages = {337--356}, doi = {http://doi.acm.org/10.1145/169701.169682}, publisher = {ACM Press}, } @TechReport{Kiehn89, Author = "Astrid Kiehn", Title = "Distributed Bisimulations for Finite CCS", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "7/89", Month = dec, Year = 1989, Annote = "17 references." } @Article{Kilov93, Author = "Haim Kilov", Title = "Precise Specificationm of behavior in Object-Oriented Standarization activities", Journal = "Computer Standards and Interfaces", Volume = 15, Year = 1993, Pages = "275-285", Annote = "39 references" } @Article{Kim84, Author = "Won Kim", Title = "Local Networks", Journal = ACMCS, Pages = "71-98", Volume = 16, Number = 1, Month = mar, Year = 1984, Annote = "Survey of hardware and software aspects of highly available systems for database applications. Discusses several examples. 38 references." } @Article{Knight-Urquhart84, Author = "John C. Knight and John I. A. Urquhart", Title = "On the Implementation and Use of Ada on Fault-Tolerant Distributed Systems", Journal = "ACM Ada Letters", Volume = "IV", Number = 3, Month = nov, Year = 1984, Pages = "53-64", Annote = "Problems with using Ada in an environment where processors can fail. Suggests extensions to semantics to deal with failures. 10 references." } @Article{Koo-Toueg87, Author = "Richard Koo and Sam Toueg", Title = "Checkpointing and Rollback-Recovery for Distributed Systems", Journal = IEEETSE, Volume = "SE-13", Number = 1, Pages = "23-31", Month = jan, Year = 1987, Annote = "Distributed algorithms for taking consistent checkpoints and rollback recovery that tolerate failures. 18 references." } @Article{Korth83, Author = "Henry F. Korth", Title = "Locking Primitives in a Database System", Journal = JACM, Volume = 30, Number = 1, Month = jan, Year = 1983, Pages = "55-79", Annote = "Extends the notion of intention modes from system R and treats generalized update modes. 11 references." } @Article{Kramer-Magee85, Author = "Jeff Kramer and Jeff Magee", Title = "Dynamic Configuration for Distributed Systems", Journal = IEEESE, Volume = "SE-11", Number = 4, Month = apr, Year = 1985, Pages = "424-436", Annote = "The CONIC language." } @InProceedings{Kung-Kung85, Author = "A. Kung and R. Kung", Title = "GALAXY: A Distributed Real-time Operating System Supporting High Availability", BookTitle = "Proceedings Real-time Systems Symposium, San Diego", Month = dec, Year = 1985, Organization = IEEE } @Article{Kung-Robinson81, Author = "H. T. Kung and John T. Robinson", Title = "On Optimistic Methods for Concurrency Control", Journal = TODS, Volume = 6, Number = 2, Month = jun, Year = 1981, Pages = "213-226", Annote = "Optimistic concurrency control protocols are introduced along with some detailed discussion of their implementations. 15 references." } @InProceedings{L89, author = "L L", title = "High-Level Distributed Objects in a Flexible Testbed for Distributed {AI} Research", booktitle = "Proceedings of the ACM SIGPLAN Workshop on Object-Based Concurrent Programming", pages = "108--110", month = apr, year = 1989, keywords = "Object-Oriented Languages Parallel Programming", abstract = "Describes a multiagent computing environment for distributed AI research.", note = "Published as {\it ACM SIGPLAN Notices}, volume 24, number 4", } @TechReport{Ladin-Liskov-Shrira88, Author = "Rivka Ladin and Barbara Liskov and Luiba Shrira", Title = "A Technique for Constructing Highly Available Services", Institution = MITLCS, Month = jan, Year = 1988, Number = "TR-409", Annote = "Gossip scheme that exploits the semantics of applications to provide high availability. 20 references." } @Article{Ladin-Liskov-Shrira91, Author = "Rivka Ladin, and Barbara Liskov and Liuba Shrira", Title = "Lazy Replication: Exploiting the Semantics of Distributed Services", Journal = SIGOPS, Year = 1991, Volume = 25, Number = 1, Month = jan, Pages = "49-54", Annote = "18 references." } @Article{Ladin-etal92, Author = "Rivka Ladin and Barbara Liskov, and Liuba Shrira and Sanjay Ghemawat", Title = "Providing High Availability Using Lazy Replication", Journal = "ACM Transactions on Computer Systems", Volume = 10, Number = 4, Month = nov, Year = 1992, Pages = "360-391", Annote = "36 references." } @Book{Lafferty-etal93, Author = "Edward L. Lafferty and Marion C. Michaud and Myra Jean Prelle and Joann B. Goethert", Title = "Parellel Computing: An Introduction", Publisher = "Noyes Data Corporation", Year = 1993, Address = "Park Ridge, New Jersey, USA", Annote = "117 references." } @InCollection{Lamport-Lynch90, Author = "Leslie Lamport and Nancy Lynch", Booktitle = "Handbook of Theoretical Computer Science", Title = "Distributed Computing: Models and Methods", Chapter = 19, Publisher = MITP, Year = 1990, Editor = "J. van Leewen", Pages = "1157-1199", Volume = "B: Formal Models and Semantics", Address = NY, Annote = "81 references." } @TechReport{Lamport-Melliar-Smith82, Author = "L. Lamport and P. M. Melliar-Smith", Title = "Synchronizing Clocks in the Presence of Faults", Month = mar, Year = 1982, Number = 60, Institution = "SRI International, Computer Science Laboratory" } @Article{Lamport-Melliar-Smith86, Author = "Leslie Lamport and P. M. Melliar-Smith", Title = "Byzantine Clock Synchronization", Journal = SIGOPS, Volume = 20, Number = 3, Month = jul, Year = 1986, Pages = "10-16", Note = "Reprinted from the Third ACM Symposium on Principles of Distributed Computing, ACM, 1984", Annote = "11 references." } @Article{Lamport-Schneider84, Author = "Leslie Lamport and Fred B. Schneider", Title = {The "Hoare Logic" of CSP and All That}, Month = apr, Year = 1984, Volume = 6, Number = 2, Journal = TOPLAS, Pages = "281-296", Annote = "Formal logical system for deriving invariance properties of programs. 19 references." } @TechReport{Lamport-Schneider89, Author = "Leslie Lamport and Fred B. Schneider", Title = "Pretending Atomicity", Month = may, Year = 1989, Institution = DECSRC, Number = 44, Annote = "Deriving properties of a concurrent program by reasoning about a courser-grained version. 10 references." } @Article{Lamport-Shostak-Pease82, Author = "L. Lamport and R. Shostak and M. Pease", Title = "The Byzantine Generals Problem", Journal = TOPLAS, Volume = 4, Number = 3, Month = jul, Year = 1982, Pages = "382-401", Note = "Also SRI Inter., CSL, Tech. Rep. 54, March 1980" } @Article{Lamport74, Author = "L. Lamport", Title = "A new solution of Dijkstra's concurrent programming problem", Journal = CACM, Volume = 17, Number = 8, Month = aug, Year = 1974, Pages = "453-455", Annote = "The bakery algorithm, which solves the mutual exclusion problem" } @Article{Lamport78a, Author = "L. Lamport", Title = "The Implementation of Reliable Distributed Multiprocess Systems", Journal = "Computer Networks", Volume = 2, Year = 1978, Pages = "95-114" } @Article{Lamport78b, Author = "L. Lamport", Title = "Time, Clocks and the Ordering of Events in a Distributed System", Journal = CACM, Volume = 21, Number = 7, Month = jul, Year = 1978, Pages = "558-565", Note = "Also Mass. Comput. Assoc., Inc. Tech. Rep., CA-7603-2911, March, 1976" } @TechReport{Lamport80a, Author = "L. Lamport", Title = "The Weak Byzantine Generals Problem", Institution = "Computer Science Laboratory, SRI International", Number = 58, Year = 1980, Month = nov, Note = "To appear in JACM" } @Article{Lamport80b, Author = "Leslie Lamport", Title = {The "Hoare Logic" of Concurrent Programs}, Journal = "Acta Informatica", Year = 1980, Pages = "21-37", Volume = 14, Number = 1 } @Article{Lamport83, Author = "Leslie Lamport", Title = "Specifying Concurrent Program Modules", Journal = TOPLAS, Month = apr, Year = 1983, Pages = "190-222", Volume = 5, Number = 2, Annote = "Method for specifying program modules in a concurrent program. New kinds of temporal assertions. 11 references." } @Article{Lamport84a, Author = "Leslie Lamport", Title = "Using Time Instead of Timeout for Fault-Tolerant Distributed Systems", Month = apr, Year = 1984, Volume = 6, Number = 2, Journal = TOPLAS, Pages = "254-280", Annote = "Clock-driven algorithm for implementing distributed systems. 14 references." } @InProceedings{Lamport84b, Author = "Leslie Lamport", Title = "Solved Problems, Unsolved Problems and Non-Problems in Concurrency", BookTitle = "Proceedings of the Third Annual ACM Symposium on Principles of Distributed Computing", Year = 1984, Organization = ACM, Pages = "?", Note = "Reprinted in SIGOPS Operating Systems Review, Vol. 19, Number 4, Oct. 1985, pages 34-44.", Annote = "Discusses why priority cannot be specified, among other things. 4 references." } @Article{Lamport85, Author = "L. Lamport", Title = "The mutual exclusion problem --- Parts i and ii", Journal = JACM, Volume = 33, Number = 2, Month = jan, Year = 1985, Pages = "313-348" } @Article{Lamport86, Author = "L. Lamport", Title = "On interprocess communication", Journal = "Distributed Computing", Year = 1986, Volume = 1, Pages = "77-101", Annote = "Discussion of true concurrency." } @Article{Lamport89, Author = "Leslie Lamport", Title = "A Simple Approach to Specifying Concurrent Systems", Journal = CACM, Volume = 32, Number = 1, Month = jan, Year = 1989, Pages = "32-45", Annote = "The transition axiom method. 21 references." } @TechReport{Lamport93, Author = "Leslie Lamport", Title = "How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor", Institution = DECSRC, Month = feb, Year = 1993, Annote = "97 references." } @InCollection{Lampson-Sturgis81, Author = "B. W. Lampson", Title = "Atomic Transactions", BookTitle = "Distributed Systems--Architecture and Implementation", Year = 1981, Publisher = SV, Series = LNCS, Volume = 105, Address = NY, Pages = "246-265", Note = "This is a revised version of Lampson and Sturgis's unpublished {\em Crash Recovery in a Distributed Data Storage System}.", Annote = "Discusses physical devices and their failure modes, how to build stable storage and transactions on top of them." } @Book{Lampson81, Author = "B. W. Lampson (ed.)", Title = "Distributed Systems--Architecture and Implementation", Year = 1981, Publisher = SV, Series = LNCS, Volume = 105, Address = NY, Annote = "This volume contains several papers and a extensive bibliography" } @InProceedings{Lampson86, Author = "Butler W. Lampson", Title = "Designing a Global Name Service", BookTitle = "Fifth ACM Symposium on Principles of Distributed Computing, Calgary, Alberta", Month = aug, Year = 1986, Organization = ACM, Pages = "?" } @InProceedings{Lansky-Owicki83, Author = "Amy L. Lansky and Susan S. Owicki", Title = "GEM: A Tool for Concurrency Specification and Verification", BookTitle = "ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Montreal Quebec, Canada", Organization = ACM, Pages = "198-212", Month = aug, Year = 1983, Annote = "Event-oriented model of concurrency and a specification/verification system based on it called GEM for Group Element Model. Specifications are restrictions over computations, described by elements and grouped in various ways. Can use temporal logic on histories. 29 references." } @TechReport{Lansky83, Author = "Amy L. Lansky", Title = "Specification and Analysis of Concurrency", Institution = "Stanford University, Department of Computer Science", Number = "STAN-CS-83-993", Year = 1983, Month = dec, Annote = "The author's Ph. D. thesis. Event-oriented model of concurrency and a specification/verification system based on it called GEM for Group Element Model. Specifications are restrictions over computations, described by elements and grouped in various ways. Can use temporal logic on histories. 95 references." } @InCollection{LeLann81, Author = "Gerard LeLann", Title = "Motivations, Objectives and Characterization of Distributed Systems", Pages = "1-9", Editor = "B. W. Lampson", BookTitle = "Distributed Systems--Architecture and Implementation", Year = 1981, Publisher = SV, Series = LNCS, Volume = 105, Address = NY } @Book{Lea:00, author = "Doug Lea", title = "Concurrent Programming in {Java}: Second Edition", publisher = "Addison-Wesley", year = "2000" } @Book{Lea96, author = "Doug Lea", title = "Concurrent programming in {Java}: design principles and patterns", publisher = "Ad{\-d}i{\-s}on-Wes{\-l}ey", address = "Reading, MA, USA", pages = "352", year = "1996", series = "The Java series", annote = "Some references" } @TechReport{Leavens86, Author = "Gary T. Leavens", Title = "Using a Guardian to Make Progress in a Long Computation: The Search for Hailstone Peaks", Type = "DSG Note", Number = 142, Month = may, Year = 1986, Institution = MITLCS } @TechReport{Leavens87, Author = "Gary T. Leavens", Title = "The Hailstone System", Type = "DSG Note", Number = 148, Month = mar, Year = 1987, Institution = MITLCS } @TechReport{Leavens89b, Author = "Gary T. Leavens", Title = "A Distributed Search Program for the $3x+1$ problem", Institution = "Iowa State University, Department of Computer Science", Year = 1989, Number = "89-22", Address = "Ames, Iowa", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR89-22/TR.ps.Z", Month = nov } @Article{Ledru98, author = {Pascal Ledru}, title = {{JSpace}: Implementation of a Linda System in Java}, journal = SIGPLAN, year = 1998, volume = 33, number = 8, month = aug, pages = {48-50}, annote = {6 references.} } @Article{Leivent-Watro, Author = "Jonathan I. Leivent and Ronald J. Watro", Title = "Mathematical foundations for Time Warp Systems", Journal = TOPLAS, Month = nov, Year = 1993, Volume = 15, Number = 5, Pages = "771-794", Annote = "11 references" } @Book{Lewis94, author = "Ted G. Lewis", title = "Foundations of Parallel Programming: A Machine-Independent Approach", publisher = "IEEE Computer Society Press", year = 1994 } @TechReport{Lin-Ahamad89, Author = "Luke Lin and Mustaque Ahamad", Title = "Checkpointing and Rollback-Recovery in Distributed Object Based Systems", Institution = "School of Information and Computer Science, Georgia Institute of Technology", Month = nov, Year = 1989, Number = "GIT-ICS-89/43", Annote = "27 references." } @InProceedings{Lindsay81, Author = "Bruce Lindsay", Title = "Object Naming and Catalog Management for a Distributed Database Manager", BookTitle = "Proceedings of the 2nd International Conference on Distributed Computing Systems, Paris", Year = 1981, Pages = "31-40", Organization = IEEE, Annote = "The catalog architecture of system R*. A major consideration is site autonomy. 11 references." } @Article{Lipton75, author = {Richard J. Lipton}, title = {Reduction: a method of proving properties of parallel programs}, journal = {Communications of the ACM}, volume = 18, number = 12, year = 1975, pages = {717-721}, doi = {http://doi.acm.org/10.1145/361227.361234}, publisher = {ACM Press}, } @TechReport{Liskov-Day-Shrira93, Author = "Barbara Liskov and Mark Day and Liuba Shrira", Title = "Distributed Object Management in THOR", Type = "Programming Methodology group memo", Number = 77, Institution = MITLCS, Month = jun, Year = 1993, Annote = "To appear in Distributed Object Management. 50 references" } @TechReport{Liskov-Herlihy-Gilbert84, Author = "Barbara Liskov and Maurice Herlihy and Lucy Gilbert", Title = "Limitations of Remote Procedure Call and Static Process Structure for Distributed Computing", Institution = MITLCS, Type = "Programming Methodology Group Memo", Number = 41, Month = sep, Year = 1984, Annote = "Discussion of the expressive power limitations of languages that have modules with a fixed number of processes and that also use RPC. Discussion of Ada especially. 15 references." } @InProceedings{Liskov-Herlihy-Gilbert86, Author = "Barbara Liskov and Maurice Herlihy and Lucy Gilbert", Title = "Limitations of Synchronous Communication with Static Process Structure in Languages for Distributed Computation", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Organization = ACM, Month = jan, Year = 1986, Pages = "150-159", Annote = "Why synchronous communication does not work well with a static process structure. Ada made the wrong choice. 27 references." } @TechReport{Liskov-Herlihy83, Author = "Barbara Liskov and Maurice Herlihy", Title = "Issues in Process and Communication Structure for Distributed Programs", Institution = MITLCS, Type = "Programming Methodology Group Memo", Number = 38, Month = jul, Year = 1983, Annote = "Discussion of the process structure and communication primitives chosen for Argus and a comparison with the alternatives. 26 references." } @Article{Liskov-Scheifler83, Author = "Barbara Liskov and Robert Scheifler", Title = "Guardians and Actions: Linguistic Support for Robust, Distributed Programs", Volume = 5, Number = 3, Journal = TOPLAS, Year = 1983, Pages = "381-404", Month = jul, Annote = "Describes the main concepts in Argus. 30 references." } @TechReport{Liskov-Shrira-Wroclawski90, Author = "Barbara Liskov and Liuba Shrira and John Wroclawski", Title = "Efficient At-Most-Once Messagees Based on Synchronized Clocks", Institution = MITLCS, Year = 1990, Number = 476, Address = "Cambridge, Mass", Month = apr, Note = "Appears in ACM Transactions on Computer Systems, May 1991, Vol 9 Num 2" } @Article{Liskov-etal87b, Author = "Barbara Liskov, Dorothy Curtis, Paul Johnson, Robert Scheifler", Title = "Implementation of Argus", Journal = SIGOPS, Volume = 21, Number = 5, Month = nov, Year = 1987, Pages = "111-122", Note = "Proceedings of the Eleventh ACM Symposium on Operating Systems Principles, Austin, Texas." } @TechReport{Liskov-etal87c, Author = "Barbara Liskov and Robert Scheifler and Edward Walker and William Weihl", Title = "Orphan Detection", Institution = MITLCS, Year = 1987, Type = "Programming Methodology Group Memo", Number = 53, Address = "Cambridge, Mass, 02139", Month = feb, Annote = "20 references." } @TechReport{Liskov-etal88, Author = "Barbara Liskov and Toby Bloom and David Gifford and Robert Scheifler and William Weihl", Title = "Communications in the MERCURY System", Institution = MITLCS, Type = "Programming Methodology Group Memo", Address = "Cambridge, Mass, 02319", Number = 59, Month = apr, Year = 1988, Annote = "17 references." } @TechReport{Liskov-etal90a, Author = "Barbara Liskov and Robert Gruder and Paul Johnson and lluba Shrira", Title = "A Highly Availiable Object Repository for Use in a Heterogenous Distributed System", Institution = MITLCS, Year = 1990, Type = "Programming Methodology Group Memo ", Number = 70, Address = "Cambridge, Mass, 02139", Month = aug, Annote = "30 references." } @TechReport{Liskov-etal90b, Author = "Barbara Liskov, Robert Gruber, Paul Johnson, Liuba Shrira", Title = "A Replicated Unix File System", Institution = MITLCS, Year = 1990, Month = oct, Number = 71, Annote = "12 references." } @Article{Liskov-etal91, Author = "Barbara Liskov, Robert Gruber, Paul Johnson, Liuba Shrira", Title = "A Replicated Unix File System", Journal = SIGOPS, Year = 1991, Volume = 25, Number = 1, Month = jan, Pages = "60-64", Annote = "12 references." } @InCollection{Liskov-etal99, author = {Barbara Liskov and Miguel Castro and Liuba Shrira and Atul Adya}, title = {Providing Persistent Objects in Distributed Systems}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = jun, pages = {230-257}, annote = {The distributed obeject repository Thor. 61 references.} } @InProceedings{Liskov79, Author = "Barbara Liskov", Title = "Primitives for Distributed Computing", BookTitle = "Proceedings of the Seventh Symposium on Operating Systems Principles", Organization = ACM, Pages = "33-42", Month = dec, Year = 1979, Annote = "Proposes primitives for modularity and communication in distributed programs. Discusses the distributed environment. 22 references." } @InProceedings{Liskov81, Author = "B. Liskov", Title = "On Linguistic Support for Distributed Programs", BookTitle = "Proceedings Symposium on Reliability in Distributed Software and Database Systems, Pittsburgh", Month = jul, Year = 1981, Pages = "53-60" } @TechReport{Liskov84, Author = "Barbara Liskov", Title = "Overview of the Argus Language and System", Type = "Programming Methodology Group Memo", Number = 40, Institution = MITLCS, Month = feb, Year = 1984, Annote = "45 references." } @TechReport{Liskov85, Author = "Barbara Liskov", Title = "Implementing Optimistic Concurrency Control in Distributed Systems", Type = "DSG Note", Number = 127, Institution = MITLCS, Month = mar, Year = 1985, Annote = "Concludes that the cost of constructing read and write sets and validating transactions may be as bad as running a pessimistic method. So optimistic methods may not be worthwhile." } @TechReport{Liskov92, Author = "Barbara Liskov ", Title = "Preliminary Design of the THOR Object-Oriented Database System", Institution = MITLCS, Year = 1992, Type = "Programming Methodology Group Memo ", Number = 74, Address = "Cambridge, Mass, 02139", Month = mar, Annote = "58 references." } @Article{Lomet77, Author = "D. B. Lomet", Title = "Process Structuring, Synchronization and Recovery Using Atomic Actions", Journal = SIGPLAN, Volume = 12, Number = 3, Month = mar, Year = 1977, Pages = "128-137", Annote = "Atomic actions, await statements, reset procedures. 11 references." } @Article{Loveman93, author = "D. B. Loveman", title = "High Performance Fortran", journal = "IEEE Parallel and Distributed Technology: Systems and Applications", volume = 1, number = 1, pages = "25--42", year = 1993 } @InProceedings{Lynch-Fischer-Fowler82, Author = "N. A. Lynch and M. J. Fischer and R. Fowler", Title = "A Simple and Efficient Byzantine Generals Algorithm", BookTitle = "Proceedings Second Symposium on Reliability in Distributed Software and Database Systems, Pittsburgh", Organization = IEEE, Month = jul, Year = 1982, Pages = "46-52", Note = "Also published as Georgia Institute of Technology, School of Inf. and Comp. Sci. Tech. Rep. GIT-ICS-82/02, Feb. 1982" } @Article{Lynch-Fischer81, Author = "Nancy A. Lynch and Michael J. Fischer", Title = "On Describing the Behavior and Implementation of Distributed Systems", Journal = "Theoretical Computer Science", Volume = 13, Number = 1, Month = jan, Year = 1981, Pages = "17-43", Publisher = North-Holland, Address = NY, Annote = "Simple, primitive, general model of distributed/parallel systems based on processes and shared variables. Concentrates on complexity measurements for problems specified within the model defined. Treats specifications briefly. 15 references." } @Article{Lynch-Merritt88, Author = "Nancy Lynch and Michael Merritt", Title = "Introduction to the Theory of Nested Transactions", Journal = TCS, Volume = 62, Pages = "123-185", Year = 1988, Annote = "28 references." } @TechReport{Lynch-Tuttle88, Author = "Nancy A. Lynch and Mark R. Tuttle", Title = "An Introduction to Input/Output Automata", Type = "Technical Memorandum", Number = "TM-373", Note = "TM-351 revised", Institution = MITLCS, Month = nov, Year = 1988, Annote = "33 references." } @Article{Lynch-Vaandrager96, title = "Forward and Backward Simulations, {II}: Timing-Based Systems", author = "Nancy Lynch and Frits Vaandrager", pages = "1--25", journal = "Information and Computation", month = "10~" # jul, year = "1996", volume = "128", number = "1" } @InBook{Lynch-etal88, Author = "Nancy Lynch and Michael Merritt and William Weihl and Alan Fekete", Title = "A Theory of Atomic Transactions", BookTitle = "ICDT '88, 2nd International Conference on Database Theory, Bruges, Belgium, August/September 1988", Editor = "M. Gyssens and J. Paredaens and D. Van Gucht", Series = LNCS, Volume = 326, Publisher = SV, Address = NY, Pages = "41-71", Year = 1988, Annote = "Correctness conditions for atomic transaction systems. I/O automata. Serializability theorem. 21 references." } @InProceedings{Lyons-Mehta89, author = "Damian Lyons and Sandeep Mehta", title = "A Distributed Computing Environment for the Multiple Robot Domain", booktitle = "Proceedings of the 4th International Conference on CAD/CAM Robotics and Factories of the Future", address = "New Delhi, India", year = "1989", } @InCollection{Makpangou-etal94, Author = "M. Makpangou and Y. Gourhant and J.-P. Le Narzul and M Shapiro", Title = "Fragmented Objects for Distributed Abstractions", BookTitle = "Readings in Distributed Computing Systems", Publisher = "IEEE Computer Society Press", Year = 1994, Editor = "Thoman L. Casavant and Mukesh Singhal", Pages = "170-186", Address = "Los Alamitos, California", Annote = "15 references." } @Article{Mao-Yeh80, Author = "T. William Mao and Raymond T. Yeh", Title = "Communication Port: A Language Concept for Concurrent Programming", Journal = IEEETSE, Volume = "SE-6", Number = 2, Month = mar, Year = 1980, Pages = "194-204", Annote = "The communications port allows distributed programs to communicate with message passing. A variant of CSP. Discussion of implemenation. 24 references." } @InCollection{Martin-Pedersen-Bedford-Roberts94, Author = "B.E. Martin and C.H. Pedersen and J. Bedford-Roberts", Title = "An Object-Based Taxonomy for Distributed Computing Systems", BookTitle = "Readings in Distributed Computing Systems", Publisher = "IEEE Computer Society Press", Year = 1994, Editor = "Thoman L. Casavant and Mukesh Singhal", Pages = "152-169", Address = "Los Alamitos, California", Annote = "10 references." } @InCollection{Martin93, Author = "Bruce Martin", Title = "The Separation of Interface and Implementation in C++", BookTitle = "The Evolution of C++", Publisher = "The MIT Press", Year = 1993, Editor = "Jim Waldo", Pages = "249-264", Address = "Cambridge, Mass.", Annote = "11 Rreferences." } @Article{McCann-Roman98, author = {Peter J. McCann Gruia-Catalin Roman}, title = {Compositional Programming Abstractions for Mobile Computing}, journal = IEEETSE, year = 1998, volume = 24, number = 2, month = feb, pages = {97-110}, annote = {Mobile UNITY notation and logic. 27 references.} } @InProceedings{McCloskey-etal06, title = "Autolocker: synchronization inference for atomic sections", author = "Bill McCloskey and Feng Zhou and David Gay and Eric Brewer", year = "2006", booktitle = "Proceedings of the 33th {ACM} {SIGPLAN}-{SIGACT} Symposium on Principles of Programming Languages ({POPL} 06)", pages = "346-358", month = jan, series = SIGPLAN, volume = "41, 1", publisher = "ACM Press", address = "New York", URL = "http://doi.acm.org/10.1145/1111037.1111068", } @TechReport{McCurley-Schneider89, Author = "E. Robert McCurley and Fred B. Schneider", Title = "An Assertional Characterization of Serializability", Institution = "School of Information and Computer Science, Georgia Institute of Technology", Month = nov, Year = 1989, Number = "GIT-ICS-89/45", Annote = "16 references." } @InCollection{Meseguer-Winkler91, Author = "Jose Meseguer and Timothy Winkler", Title = "Parallel Programming in Maude", BookTitle = "Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "J. P. Banatre and D. Le Metayer", Series = LNCS, Address = NY, Volume = 574, Pages = "253-293", Annote = "50 references" } @Article{Meseguer90, Author = "Jose Mesguer", Title = "A Logical Theory of Concurrent Objects", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = oct, Pages = "101-115", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "30 references." } @Article{Milne-Milner79, Author = "G. Milne and R. Milner", Title = "Concurrent Processes and Their Syntax", Journal = JACM, Month = apr, Year = 1979, Volume = 26, Number = 2, Pages = "302-321" } @Article{Milner-Parrow-Walker92, Author = "R. Milner and J. Parrow and D. Walker", Title = "A Calculus of Mobile Processes, ({P}arts {I} and {II})", Journal = "Information and Computation", Year = 1992, Volume = 100, Pages = "1-77" } @Book{Milner80, Author = "Robin Milner", Title = "A Calculus of Communicating Systems", Series = LNCS, Volume = 94, Publisher = SV, Address = NY, Year = 1980 } @InProceedings{Milner82, Author = "Robin Milner", Title = "Four Combinators for Concurrency", BookTitle = "ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Ottawa, Canada", Month = aug, Year = 1982, Pages = "104-110", Organization = ACM, Annote = "Algebraic calculus of synchronous and asynchronous systems. 15 references." } @Book{Milner89, Author = "Robin Milner", Title = "Communication and Concurrency", Publisher = "Prentice Hall", Year = 1989, Series = "International Series in Computer Science", Address = NY, Annote = "Bisimulation and CCS. 46 references." } @InCollection{Milner90, Author = "Robin Milner", Booktitle = "Handbook of Theoretical Computer Science", Title = "Operational and Algebraic Semantics of Concurrent Processes", Chapter = 19, Publisher = MITP, Year = 1990, Editor = "J. van Leewen", Pages = "1201-1242", Volume = "B: Formal Models and Semantics", Address = NY, Annote = "36 references." } @TechReport{Milner91, Author = "Robin Milner", Title = "The polyadic $\pi$-calculus: a tutorial", Institution = "LFCS", Month = oct, Number = "ECS--LFCS--91--180", Year = 1991, Note = "{\em {P}roceedings of the {I}nternational {S}ummer {S}chool on {L}ogic and {A}lgebra of {S}pecification}, {M}arktoberdorf, {A}ugust 1991" } @Article{Minoura-Wiederhold82, Author = "Toshimi Minoura and Gio Wiederhold", Title = "Resilient Extended True-Copy Token Scheme for a Distributed Database System", Journal = IEEESE, Volume = 8, Number = 3, Month = may, Year = 1982, Pages = "173-188", Annote = "29 references." } @InCollection{Mislove-Oles91, Author = "Michael W. Mislove and Frank J. Oles", Title = "A Simple Language Supporting Angelic Nondeterminism and Parallel Composition", BookTitle = "Mathematical Foundations of Programming Semantics, 7th International Conference, PA, USA, March 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "Stephen Brookes and Michael Main and Austin Melton and Michael Mislove and David Schmidt", Series = LNCS, Address = NY, Volume = 598, Pages = "77-101", Annote = "10 references." } @Article{Misra86, Author = "Jayadev Misra", Title = "Distributed Discrete-Event Simulation", Journal = ACMCS, Volume = 18, Number = 1, Month = mar, Year = 1986, Annote = "Distributing simulation to provide better performance. Description of basic scheme using time encoding. Techniques for deadlock avoidance and detection. 26 references." } @InCollection{Misra91, Author = "Jayadev Misra", Title = "A Perspective on Parallel Program Design", BookTitle = "Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "J. P. Banatre and D. Le Metayer", Series = LNCS, Address = NY, Volume = 574, Pages = "2-5" } @InBook{Misra94, author = "Jayadev Misra", booktitle = "A Classical Mind: Essays in Honour of C. A. R. Hoare", publisher = "Prentice Hall International", title = "Powerlist: {A} structure for parallel recursion", year = "1994", url = "ftp://ftp.cs.utexas.edu/pub/psp/powerlist/misra.1.ps.Z" } @InProceedings{Mohan-Lindsay83, Author = "C. Mohan and B. Lindsay", Title = "Efficient Commit Protocols for the Tree of Process Model of Distributed Transactions", BookTitle = "Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, Montreal, Canada", Month = aug, Year = 1983, Pages = "?", Organization = ACM, Note = "Reprinted in {\em Operating Systems Review}, Volume19, Number 2, April 1985, pages 40-52.", Annote = "Review of the standard two phase commit protocol. The presumed abort and presumed commit protocols, which optimize various cases. 17 references" } @TechReport{Mok83, Author = "Aloysius Ka-Lau Mok", Title = "Fundamental Design Problems of Distributed Systems for the Hard Real-Time Environment", Institution = MITLCS, Month = may, Year = 1983, Number = 297, Annote = "General discussion of the hard real-time environment and CONSORT. Specific results on scheduling. 42 references." } @TechReport{Montgomery78, Author = "W. A. Montgomery", Title = "Robust Concurrency Control for a Distributed Information System", Institution = MITLCS, Year = 1978, Month = sep, Number = 207 } @TechReport{Moss-Kohler86, Author = "J. Eliot B. Moss and Walter H. Kohler", Title = "Concurrency Features for the Trellis/Owl Programming Language", Institution = "Digital Equipment Corporation", Number = "DEC-TR-439", Month = aug, Year = 1986, Annote = "Design and rationale. 10 references." } @TechReport{Moss81, Author = "J. E. B. Moss", Title = "Nested Transactions: an Approach to Reliable Distributed Computing", Institution = MITLCS, Month = apr, Year = 1981, Number = 260, Note = "A slightly revised version of this has been published by the MIT Press, Cambridge, Mass, 1985." } @Book{Mullender89, Author = "S. Mullender", Title = "Distributed Systems", Publisher = "ACM Press", Year = 1989 } @Book{Mullender93, Title = "Distributed Systems", Editor = "Sape Mullender", Publisher = "Addison-Wesley", Address = NY, Year = 1993, Edition = "second", Annote = "Collection of Essays. Seperate References at the end of each chapter." } @Article{Needham-Schroeder78, Author = "R. M. Needham and M. D. Schroeder", Title = "Using Encryption for Authentication in Large Networks of Computers", Journal = CACM, Volume = 21, Number = 12, Month = dec, Year = 1978 } @Book{Nehmer88, Author = "J. Nehmer", Title = "Experiences with Distributed Systems", Publisher = SV, Year = 1988, Volume = 309, Series = LNCS } @InProceedings{Nielson-Nielson94, Author = {Hanne Riis Nielson and Flemming Nielson}, Title = "Higher-Order Concurrent Programs with Finite Communications Topology", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = jan, Year = 1994, Organization = ACM, Address = NY, Pages = "84-97", Annote = "12 references." } @Manual{OMG92a, Author = "{Object Management Group}", Title = "The Common Object Request Broker: Architecture and Specification", Organization = "Object Management Group, Inc.", Address = "492 Old Connecticut Path, Framingham, MA 01701", Edition = "1.1", Year = 1992 } @TechReport{OMG92b, Author = "{Object Management Group}", Title = "Object Management Architecture Guide", Institution = "Object Management Group", Year = 1992, Month = sep, Type = "TC", Number = "document 92.11.1", Annote = "15 references." } @TechReport{OSF91, author = "{OSF}", title = "{OSF} Distributed Computing Environment, Release 1.0 developer's kit documentation set (preliminary)", institution = "Open Software Foundation", year = "1991", address = "11 Cambridge Center, Cambridge, MA", month = feb, } @Article{Offner98, author = {Carl Offner}, title = {Per Brinch Hansen's Concerns about {High Performance Fortran}}, journal = SIGPLAN, year = 1998, volume = 33, number = 8, month = aug, pages = {34-39}, annote = {6 references.} } @InProceedings{Ohari93, Author = "Atsushi Ohori", Title = "Semantics for Communication Primitives in a Polymorphic Language", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = jan, Annote = "30 references" } @Article{Oki-Liskov-Scheifler85, Author = "Brian M. Oki and Barbara H. Liskov and Robert W. Scheifler", Title = "Reliable Object Storage to Support Atomic Actions", Journal = SIGOPS, Volume = 19, Number = 5, Month = dec, Year = 1985, Pages = "147-159", Note = "Proceedings of the Tenth ACM Symposium on Operating Systems Principles, 1-4 December 1985, Orcas Island, Washington, U.S.A.", Annote = "Organization of information on stable storage devices, based on the hybrid log scheme. 12 references." } @Article{Owicki-Gries76, Author = "Susan Owicki and David Gries", Title = "Verifying Properties of Parallel Programs: An Axiomatic Approach", Journal = CACM, Volume = 19, Number = 5, Month = may, Year = 1976, Pages = "279-285", Annote = "9 references." } @Article{Owicki-Lamport82, Author = "Susan Owicki and Leslie Lamport", Title = "Proving Liveness Properties of Concurrent Programs", Volume = 4, Number = 3, Journal = TOPLAS, Year = 1982, Pages = "455-495", Month = jul, Annote = "Discusses linear-time temporal logic and proof lattices for proving liveness properties of concurrent programs. 18 references." } @Article{Panangaden-Shanbhogue92, author = "Prakash Panangaden and Vasant Shanbhogue", title = "The Expressive Power of Indeterminate Dataflow Primitives", journal = "Information and Computation", year = 1992, volume = 98, number = 1, pages = "99-131",