Witnessing Purity, Constancy and Mutability

Loading...
Thumbnail Image

Date

Authors

Lippmeier, Ben

Journal Title

Journal ISSN

Volume Title

Publisher

Springer

Abstract

Restricting destructive update to values of a distinguished reference type prevents functions from being polymorphic in the mutability of their arguments. This restriction makes it easier to reason about program behaviour during transformation, but the lack of polymorphism reduces the expressiveness of the language. We present a System-F style core language that uses dependently kinded proof witnesses to encode information about the mutability of values and the purity of computations. We support mixed strict and lazy evaluation, and use our type system to ensure that only computations without visible side effects are suspended.

Description

Citation

Source

Book Title

Programming Languages and Systems (ETAPS 2009)

Entity type

Access Statement

License Rights

Restricted until

2037-12-31