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

Unboxed objects and polymorphic typing

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

    This paper presents a program transformation that allows languages with polymorphic typing (e.g. ML) to be implemented with unboxed, multi-word data representations. The transformation introduces coercions between various representations, based on a typing derivation. A prototype ML compiler utilizing this transformation demonstrates important speedups.

    References

    [1]
    A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: principles, techniques, and tools. Addison-Wesley, 1986.
    [2]
    A. W. Appel. l~un-time tags aren't necessary. Lisp and Symbolic Computation, 2(2), June 1989.
    [3]
    A.W. Appel. Compiling with continuations. Cambridge University Press, 1991.
    [4]
    A. W. Appel and D. B. MacQueen. A Standard ML compiler. In Functional Programming Languages and Computer Architecture, volume 242 of Lecture Notes in Computer Science. Springer- Verlag, 1987.
    [5]
    J. F. Bartlett. Compacting garbage collector with ambiguous roots. Technical report, DEC Western Research Laboratory, 1988.
    [6]
    L. Cardelli. The functional abstract machine. Polymorphism, 1 (1), 1983.
    [7]
    L. CardelIi and P. Wegner. On understanding types, data abstraction, and polymorphism. Computing surveys, 17(4), 1985.
    [8]
    F. Chow and J. Hennessy. l~egister allocation by priority-based coloring. SIGPLAN Notices, 19(6), 1984.
    [9]
    G. Cousineau, P.-L. Curien, and M. Mauny. The categorical abstract machine. Science of Computer Programming, 8(2), 1987.
    [10]
    L. Damas and R. Milner. Principal type-schemes for functional programs. In Proc. Syrup. Principles of Programming Languages, 1982.
    [11]
    G. Kane. MIPS RISC architecture. Prentice-Hall, 1990.
    [12]
    1~. Milner, M. Torte, and R. Harper. The definition of Standard ML. The MIT Press, 1990.
    [13]
    R. Morrison, A. Dearle, R. C. H. Connor, and A. L. Brown. An ad hoc approach to the implementation of polymorphism. A CM Transactions on Programming Languages and Systems, 13(3), 1991.
    [14]
    S. L. Peyton-Jones. Unboxed values as first-class citizens. In Functional Programming Languages and Computer Architecture, volume 523 of Lecture Notes in Computer Science, 1991.
    [15]
    S. R. Thatte. Coercive type isomorphism. In Functional Programming Languages and Computer Architecture, volume 523 of Lecture Notes in Computer Science, 1991.
    [16]
    M. ToRe. Type inference for polymorphic references. Information and Computation, 89(1), 1990.
    [17]
    N. Wirth. Programming in Moduia-2. Springer- Verlag, 1983.

    Cited By

    View all
    • (2023)Bit-Stealing Made Legal: Compilation for Custom Memory Representations of Algebraic Data TypesProceedings of the ACM on Programming Languages10.1145/36078587:ICFP(813-846)Online publication date: 31-Aug-2023
    • (2021)Towards size-dependent types for array programmingProceedings of the 7th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming10.1145/3460944.3464310(1-14)Online publication date: 17-Jun-2021
    • (2020)Featherweight goProceedings of the ACM on Programming Languages10.1145/34282174:OOPSLA(1-29)Online publication date: 13-Nov-2020
    • 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)68
    • Downloads (Last 6 weeks)10

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Bit-Stealing Made Legal: Compilation for Custom Memory Representations of Algebraic Data TypesProceedings of the ACM on Programming Languages10.1145/36078587:ICFP(813-846)Online publication date: 31-Aug-2023
    • (2021)Towards size-dependent types for array programmingProceedings of the 7th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming10.1145/3460944.3464310(1-14)Online publication date: 17-Jun-2021
    • (2020)Featherweight goProceedings of the ACM on Programming Languages10.1145/34282174:OOPSLA(1-29)Online publication date: 13-Nov-2020
    • (2019)Inductive types deconstructed: the calculus of united constructionsProceedings of the 4th ACM SIGPLAN International Workshop on Type-Driven Development10.1145/3331554.3342607(52-63)Online publication date: 18-Aug-2019
    • (2018)Finitary polymorphism for optimizing type-directed compilationProceedings of the ACM on Programming Languages10.1145/32367762:ICFP(1-29)Online publication date: 30-Jul-2018
    • (2017)Specialization of Generic Array Accesses After InliningElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.241.4241(45-53)Online publication date: 7-Feb-2017
    • (2017)Computational complexity and induction for partial computable functions in type theoryReflections on the Foundations of Mathematics10.1017/9781316755983.009(164-181)Online publication date: 31-Mar-2017
    • (2015)Automating ad hoc data representation transformationsACM SIGPLAN Notices10.1145/2858965.281427150:10(801-820)Online publication date: 23-Oct-2015
    • (2015)Automating ad hoc data representation transformationsProceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications10.1145/2814270.2814271(801-820)Online publication date: 23-Oct-2015
    • (2015)Vector Parallelism in JavaScriptProceedings of the 2015 International Conference on Parallel Architecture and Compilation (PACT)10.1109/PACT.2015.33(407-418)Online publication date: 18-Oct-2015
    • 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