• Open Access IconOpen Access
  • Cite Icon83
  • https://doi.org/10.1007/s10990-011-9066-zCopy DOI Icon

Space-efficient gradual typing

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Gradual type systems offer a smooth continuum between static and dynamic typing by permitting the free mixture of typed and untyped code. The runtime systems for these languages, and other languages with hybrid type checking, typically enforce function types by dynamically generating function proxies. This approach can result in unbounded growth in the number of proxies, however, which drastically impacts space efficiency and destroys tail recursion. We present a semantics for gradual typing that is based on coercions instead of function proxies, and which combines adjacent coercions at runtime to limit their space consumption. We prove bounds on the space consumed by coercions as well as soundness of the type system, demonstrating that programmers can safely mix typing disciplines without incurring unreasonable overheads. Our approach also detects certain errors earlier than prior work.

Similar Papers
  • Research Article
  • Citations9

Consistent Subtyping for All

  • Nov 21, 2019
  • ACM Transactions on Programming Languages and Systems
  • Ningning Xie +3
  • PDF
  • Book Chapter
  • Citations19

Consistent Subtyping for All

  • Jan 01, 2018
  • Ningning Xie +2
  • Conference Article
  • Citations66

Gradual typing for first-class classes

  • Oct 19, 2012
  • Asumu Takikawa +4
  • Research Article
  • Citations49

The ins and outs of gradual type inference

  • Jan 18, 2012
  • ACM SIGPLAN Notices
  • Aseem Rastogi +2
  • Research Article
  • Citations106

Design and evaluation of gradual typing for python

  • Oct 14, 2014
  • ACM SIGPLAN Notices
  • Michael M Vitousek +3
  • PDF
  • Research Article
  • Citations23

Collapsible contracts: fixing a pathology of gradual typing

  • Oct 24, 2018
  • Proceedings of the ACM on Programming Languages
  • Daniel Feltey +4
  • Conference Article
  • Citations4

Application optimization when using gradual typing

  • Jul 26, 2011
  • Esteban Allende +1
  • PDF
  • Research Article
  • Citations5

Migrating gradual types

  • Jan 01, 2022
  • Journal of Functional Programming
  • John Peter Campora +3
  • Conference Article
  • Citations5

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

  • Oct 19, 2010
  • Hannes Mehnert
  • Conference Article
  • Citations28

Interpretations of the gradually-typed lambda calculus

  • Sep 09, 2012
  • Jeremy G Siek +1
  • Dissertation
  • Citations1

Deep and shallow types

  • Jan 01, 2020
  • Ben Greenman
  • PDF
  • Research Article
  • Citations12

Abstracting gradual typing moving forward: precise and space-efficient

  • Jan 04, 2021
  • Proceedings of the ACM on Programming Languages
  • Felipe Bañados Schwerter +3
  • Research Article
  • Citations5

Static vs. dynamic type systems

  • Oct 24, 2011
  • ACM SIGPLAN Notices
  • Andreas Stuchlik +1
  • Conference Article
  • Citations14

An empirical investigation of the effects of type systems and code completion on API usability using TypeScript and JavaScript in MS visual studio

  • Oct 21, 2015
  • Lars Fischer +1
  • PDF
  • Research Article
  • Citations2

Gradual Typing for Effect Handlers

  • Oct 16, 2023
  • Proceedings of the ACM on Programming Languages
  • Max S New +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.