Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/143165.143202acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

Typing record concatenation for free

Published: 01 February 1992 Publication History
  • Get Citation Alerts
  • Abstract

    We show that any functional language with record extension possesses record concatenation for free. We exhibit a translation from the latter into the former. We obtain a type system for a language with record concatenation by composing the translation with type-checking in a language with record extension. We apply this method to a version of ML with a record extension and obtain an extension of ML with either asymmetric or symmetric concatenation. The latter extension is simple, flexible and has a very efficient type inference algorithm in practice. Concatenation together with removal of fields needs one more construct than extension of records. It can be added to the version of ML with record extension. However, many typed languages with record cannot type such a construct. The method still applies to them, producing type systems for record concatenation without removal of fields. Object systems also benefit of the encoding which shows that multiple inheritance does not actually require the concatenation of records but only their extension.

    References

    [1]
    Luca Cardelli. Amber. In Combinators and Functional Programming Languages~ volume 242 of Lecture Notes in Computer Science, pages 2:{-47. Spinger Verlag, 1986. Proceedings of the 13th Summer School of the LITP.
    [2]
    Guy Cousineau and G~rard Huet. The CAM{, Primer. Institut National de Recherche en Informatique et Automatisme, France, 1989.
    [3]
    Luca Cardelli and John C. Mitchell. Operations on records. In Fifth International Conference on Mathematical Foundations of Programming Semantics, 1989.
    [4]
    Robert Harper, Robin Milner, and Mads ToRe. The definition of Standard ML. The MIT Press, 19!)0.
    [5]
    Robert W. Harper and Benjamin C. Pierce. Extensible records without subsumption. Technical Report CMU-CS-90- 102, Carnegie Mellon University, Pittsburg, Pensylvania, February 1990.
    [6]
    Robert W. Harper and Benjamin C. Pierce. A record calculus based on symmetric concatenation. Technical Report CMU-CS-90- 157, Carnegie Mellon University, Pittsburg, Pensylvania, February 1990.
    [7]
    Lalita A. Jategaonkar and John C. Mitchell. ML with extended pattern matching and subtypes. In Proceedings of the 1988 Conference on LISP and Functional Programming, 1988.
    [8]
    Atsushi Ohori and Peter Buneman. Type inference in a database langage. In ACM Conference on LISP and Functional Programming, pages 174-183, 1988.
    [9]
    Atsushi Ohori. Extending ml polymorphism to record structure. Technical report~ University of Glasgow~ 1990.
    [10]
    Didier l~(~my. Alg~bres To uffues. Application au Typage Polymorphe des Objects Enregistrements dan8 les Langages Fonctionnels. Th~se de doctorat, Universit~ de Paris 7, 1990.
    [11]
    Didier R~my. Syntactic theories and the algebra of record terms. Technical report~ Inria, Rocquencourt, 1991. To appear. Also in {Remg0a}, chapter 2.
    [12]
    Didier R~my. Type inference for records in a natural extension of ML. Technical Report 1431, Inria, Rocquencourt, May 1991. Also in {Remg0}, chapter 4.
    [13]
    Mitchell Wand. Complete type inference for simple objects. In Second Symposium on Logic In Computer Science~ 1987.
    [14]
    Mitchell Wand. Corrigendum: Complete type inference for simple objects. In Third Symposium on Logic In Computer Science, 1988.
    [15]
    Mitchell Wand. Type inference for record concatenation and multiple inheritance. In Fourth Annual Symposium on Logic In Computer Science, pages 92-97~ 1989.
    [16]
    Pierre Weis. The CAML Reference Manual. Institut National de Recherche en Informatique ct Automatisme, France, 1989.

    Cited By

    View all
    • (2023)Infix-Extensible Record Types for Tabular DataProceedings of the 8th ACM SIGPLAN International Workshop on Type-Driven Development10.1145/3609027.3609406(29-43)Online publication date: 30-Aug-2023
    • (2023)With or Without You: Programming with Effect ExclusionProceedings of the ACM on Programming Languages10.1145/36078467:ICFP(448-475)Online publication date: 31-Aug-2023
    • (2021)An ML-style Record Calculus with Extensible RecordsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.351.1351(1-17)Online publication date: 29-Dec-2021
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    POPL '92: Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    February 1992
    376 pages
    ISBN:0897914538
    DOI:10.1145/143165
    • Chairman:
    • Ravi Sethi
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 February 1992

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Conference

    POPL92
    POPL92: 19th ACM Symposium on Principles of Programming Languages
    January 19 - 22, 1992
    New Mexico, Albuquerque, USA

    Acceptance Rates

    POPL '92 Paper Acceptance Rate 30 of 204 submissions, 15%;
    Overall Acceptance Rate 824 of 4,130 submissions, 20%

    Upcoming Conference

    POPL '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)49
    • Downloads (Last 6 weeks)13
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Infix-Extensible Record Types for Tabular DataProceedings of the 8th ACM SIGPLAN International Workshop on Type-Driven Development10.1145/3609027.3609406(29-43)Online publication date: 30-Aug-2023
    • (2023)With or Without You: Programming with Effect ExclusionProceedings of the ACM on Programming Languages10.1145/36078467:ICFP(448-475)Online publication date: 31-Aug-2023
    • (2021)An ML-style Record Calculus with Extensible RecordsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.351.1351(1-17)Online publication date: 29-Dec-2021
    • (2017)Disjoint PolymorphismProgramming Languages and Systems10.1007/978-3-662-54434-1_1(1-28)Online publication date: 19-Mar-2017
    • (2015)Variations on variantsACM SIGPLAN Notices10.1145/2887747.280432050:12(71-81)Online publication date: 30-Aug-2015
    • (2015)Variations on variantsProceedings of the 2015 ACM SIGPLAN Symposium on Haskell10.1145/2804302.2804320(71-81)Online publication date: 30-Aug-2015
    • (2008)Many holes in hindley-milnerProceedings of the 2008 ACM SIGPLAN workshop on ML10.1145/1411304.1411313(59-68)Online publication date: 21-Sep-2008
    • (2005)Type inference, principal typings, and let-polymorphism for first-class mixin modulesACM SIGPLAN Notices10.1145/1090189.108638640:9(156-167)Online publication date: 12-Sep-2005
    • (2005)Type inference, principal typings, and let-polymorphism for first-class mixin modulesProceedings of the tenth ACM SIGPLAN international conference on Functional programming10.1145/1086365.1086386(156-167)Online publication date: 28-Sep-2005
    • (2005)DREAMIEEE Distributed Systems Online10.1109/MDSO.2005.476:9(1)Online publication date: 1-Sep-2005
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media