@inproceedings{1b261a07473d46998c65c97dba1584ce,
title = "Putting Gradual Types to Work",
abstract = "In this paper, we describe our experience incorporating gradual types in a statically typed functional language with Hindley-Milner style type inference. Where most gradually typed systems aim to improve static checking in a dynamically typed language, we approach it from the opposite perspective and promote dynamic checking in a statically typed language. Our approach provides a glimpse into how languages like SML and OCaml might handle gradual typing. We discuss our implementation and challenges faced—specifically how gradual typing rules apply to our representation of composite and recursive types. We review the various implementations that add dynamic typing to a statically typed language in order to highlight the different ways of mixing static and dynamic typing and examine possible inspirations while maintaining the gradual nature of our type system. This paper also discusses our motivation for adding gradual types to our language, and the practical benefits of doing so in our industrial setting.",
keywords = "Functional programming, Gradual typing, Type inference",
author = "Bhargav Shivkumar and Enrique Naudon and Lukasz Ziarek",
note = "Publisher Copyright: {\textcopyright} 2021, Bloomberg Finance LP.; 23rd International Symposium on Practical Aspects of Declarative Languages, PADL 2021 ; Conference date: 18-01-2021 Through 19-01-2021",
year = "2021",
doi = "10.1007/978-3-030-67438-0\_4",
language = "English",
isbn = "9783030674373",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Science and Business Media Deutschland GmbH",
pages = "54--70",
editor = "Morales, \{Jos{\'e} F.\} and Dominic Orchard",
booktitle = "Practical Aspects of Declarative Languages - 23rd International Symposium, PADL 2021, Proceedings",
address = "Germany",
}