skip to main content
10.1145/2489837.2489845acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
research-article

Scalad: an interactive type-level debugger

Published:02 July 2013Publication History

ABSTRACT

Dealing with statically-typed languages and their complex type systems is problematic for programmers of all levels. Resolving confusing type errors is a time consuming and not always successful process.

In this tool demonstration we give an overview of Scalad, an interactive tool that can explain decisions made by the existing typechecker of a multi-paradigm programming language by visualizing the whole process in the form of a proof tree. The tool works for both type correct and incorrect programs, making it suitable for educational purposes as well as debugging. We provide examples on how the tool can be used to understand typing puzzles. The debugger comes with an expandable search mechanism that can precisely guide users in finding answers to the typechecking problems and improve exploration time.

References

  1. {Boustani and Hage(2011)} N. Boustani and J. Hage. Improving type error messages for generic java. Higher Order Symbol. Comput., June 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. {Chitil(2001)} O. Chitil. Compositional explanation of types and algorithmic debugging of type errors. In ICFP, pages 193--204, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. {Heeren et al.(2003)Heeren, Leijen, and van IJzendoorn} B. Heeren, D. Leijen, and A. van IJzendoorn. Helium, for learning haskell. In Haskell, pages 62--71, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. {Jun et al.(2002)Jun, Michaelson, and Trinder} Y. Jun, G. Michaelson, and P. Trinder. Explaining polymorphic types. The Computer Journal, 45:2002, 2002.Google ScholarGoogle Scholar
  5. {Odersky et al.(1999)Odersky, Sulzmann, and Wehr} M. Odersky, M. Sulzmann, and M. Wehr. Type inference with constrained types. TAPOS, 5(1):35--55, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. {Oliveira et al.(2010)Oliveira, Moors, and Odersky} B. C. Oliveira, A. Moors, and M. Odersky. Type classes as objects and implicits. In OOPSLA, pages 341--360, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. {Plociniczak and Odersky(2012)} H. Plociniczak and M. Odersky. Implementing a type debugger for scala. In APPLC, 2012.Google ScholarGoogle Scholar
  8. {Stuckey and Sulzmann(2005)} P. J. Stuckey and M. Sulzmann. A theory of overloading. ACM Trans. Program. Lang. Syst., 27:1216--1269, November 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. {Sulzmann(2002)} M. Sulzmann. An overview of the chameleon system. In APLAS, pages 16--30, 2002.Google ScholarGoogle Scholar

Index Terms

  1. Scalad: an interactive type-level debugger

      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 Other conferences
        SCALA '13: Proceedings of the 4th Workshop on Scala
        July 2013
        84 pages
        ISBN:9781450320641
        DOI:10.1145/2489837

        Copyright © 2013 Copyright is held by the owner/author(s)

        Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 2 July 2013

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        SCALA '13 Paper Acceptance Rate12of22submissions,55%Overall Acceptance Rate12of22submissions,55%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader