skip to main content
10.1145/3241653.3241662acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Initialization patterns in Dotty

Published:17 September 2018Publication History

ABSTRACT

Safe object initialization is important to avoid a category of runtime errors in programming languages. In this paper, we provide a case study of the initialization patterns on the Dotty compiler. In particular, we find that calling dynamic-dispatching methods, the usage of closures and instantiating nested classes are important for initialization of Scala objects. Based on the study, we conclude that existing proposals for safe initialization are inadequate for Scala.

References

  1. Joseph Yossi Gil and Tali Shragai. 2009. Are We Ready for a Safer Construction Environment?. In European Conference on Object-Oriented Programming. Springer, 495-519. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Martin Odersky et al. 2013. Dotty Compiler: A Next Generation Compiler for Scala. https://web.archive.org/web/20170325001401/http://dotty.epfl.ch/.Google ScholarGoogle Scholar
  3. Xin Qi and Andrew C. Myers. 2009. Masked Types for Sound Object Initialization. In Proceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '09). ACM, 53-65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Alexander J Summers and Peter Müller. 2011. Freedom before commitment: a lightweight type system for object initialisation. In ACM SIGPLAN Notices, Vol. 46. ACM, 1013-1032. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Yoav Zibin, David Cunningham, Igor Peshansky, and Vijay Saraswat. 2012. Object initialization in X10. In European Conference on Object-Oriented Programming. Springer, 207-231. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Initialization patterns in Dotty

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        Scala 2018: Proceedings of the 9th ACM SIGPLAN International Symposium on Scala
        September 2018
        82 pages
        ISBN:9781450358361
        DOI:10.1145/3241653

        Copyright © 2018 ACM

        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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 17 September 2018

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate5of6submissions,83%

        Upcoming Conference

        PLDI '24
      • Article Metrics

        • Downloads (Last 12 months)9
        • Downloads (Last 6 weeks)1

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader