% 1970s and older references on datatypes, type theory, etc. % $Id: old-datatypes.bib,v 1.2 1998/08/30 15:44:09 leavens Exp $ @InProceedings{Atkinson-Liskov-Scheifler78, Key="Atkinson \& Liskov \& Scheifler", 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, Key="Bloom", 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, Key="Brinch Hansen", 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, Key="Dahl \& Hoare", 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, Key="Demers \& Donahue \& Skinner", 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, Key="Donahue", 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, Key="Flon", Author="Lawrence Flon", Title="A Survey of Some Issues Concerning Abstract Data Types", Institution=CMU, Year=1974, Month=Sep } @Article{Gannon77, Key="Gannon", 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, Key="Geschke \& Morris \& Satterwaite", 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, Key="Gries \& Gehani", 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, Key="Jones \& Liskov", 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, Key="Jones \& Liskov", 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, Key="Jones \& Liskov", 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, Key="Lampson, {\em et al.}", 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, Key="Linden", 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, Key="Liskov \& Zilles", 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, Key="Liskov, {\em et al.}", 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, Key="Liskov", 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, Key={Martin-L\"{o}f}, 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, Key={Martin-L\"{o}f}, 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, Key="Mealy", 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, Key="Milner", 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, Key="Mitchell \& Wegbreit", 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, Key="Morris", 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, Key="Morris", 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, Key="Morris", Title="Towards More Flexible Type Systems", Author="Morris, Jr., James H.", Publisher="Springer-Verlag", 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, Key="Moss", 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, Key="Parnas \& Shore \& Weiss", 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, Key="Popek, {\em et al.}", 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, Key="Reynolds", Author="J. C. Reynolds", Title="Towards a Theory of Type Structure", Publisher="Springer-Verlag", 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, Key="Reynolds", 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, Pages="157-168" } @InCollection{Reynolds78, Key="Reynolds", 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="Springer-Verlag", 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." } @TechReport{Schaffert75a, Key="Schaffert", 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, Key="Schaffert", 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, Key="Scheifler", 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, Key="Scott", 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, Key="Shamir \& Wadge", Author="Adi Shamir and William W. Wadge", Title="Data Types as Objects", Publisher="Springer-Verlag", 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, Key="Shaw \& Wulf \& London", 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, Key="Snyder", 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, Key="Snyder", 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, Key="Tennent", 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, Key="Tennent", 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, Key="Wegbreit", 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, Key="Wells \& Cornwall", 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" } @Article{Wulf-London-Shaw76, Key="Wulf \& London \& Shaw", 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, key = "Wulf, {\em et al.}", 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 = jul, year = "1974" } @Book{Wulf-Levin-Harbison81, key = "Wulf \& Levin \& Harbison", title = "Hydra/{C}.mmp: An Experimental Computer System", author = "W. A. Wulf and R. Levin and P. Harbison", publisher = "McGraw-Hill", year = "1981" }