Extending Dylan's type system for better type inference and error detection

Hannes Mehnert

    Publikation: Konference artikel i Proceeding eller bog/rapport kapitelKonferencebidrag i proceedingsForskningpeer review

    Abstract

    Whereas dynamic typing enables rapid prototyping and easy experimentation, static typing provides early error detection and better compile time optimization. Gradual typing [26] provides the best of both worlds. This paper shows how to define and implement gradual typing in Dylan, traditionally a dynamically typed language. Dylan poses several special challenges for gradual typing, such as multiple return values, variable-arity methods and generic functions (multiple dispatch).

    In this paper Dylan is extended with function types and parametric polymorphism. We implemented the type system and aunification-based type inference algorithm in the mainstream Dylan compiler. As case study we use the Dylan standard library (roughly 32000 lines of code), which witnesses that the implementation generates faster code with fewer errors. Some previously undiscovered errors in the Dylan library were revealed.
    OriginalsprogEngelsk
    TitelILC '10 Proceedings of the 2010 international conference on Lisp
    Antal sider10
    UdgivelsesstedReno/Tahoe, Nevada, USA
    ForlagAssociation for Computing Machinery
    Publikationsdato2010
    Sider1-10
    ISBN (Trykt)978-1-4503-0470-2
    DOI
    StatusUdgivet - 2010

    Emneord

    • dynamic typing
    • static typing
    • gradual typing
    • Dylan programming language
    • parametric polymorphism
    • type inference
    • type system
    • multiple dispatch
    • unification-based algorithm
    • compiler optimization

    Fingeraftryk

    Dyk ned i forskningsemnerne om 'Extending Dylan's type system for better type inference and error detection'. Sammen danner de et unikt fingeraftryk.

    Citationsformater