English
Related papers

Related papers: Solver-based Gradual Type Migration

200 papers

Probabilistic programming languages have recently gained a lot of attention, in particular due to their applications in domains such as machine learning and differential privacy. To establish invariants of interest, many such languages…

Programming Languages · Computer Science 2026-04-08 Wenjia Ye , Matías Toro , Federico Olmedo

Type migration is the process of adding types to untyped code to gain assurance at compile time. TypeScript and other gradual type systems facilitate type migration by allowing programmers to start with imprecise types and gradually…

Software Engineering · Computer Science 2023-07-12 Ming-Ho Yee , Arjun Guha

Harnessing the power of dependently typed languages can be difficult. Programmers must manually construct proofs to produce well-typed programs, which is not an easy task. In particular, migrating code to these languages is challenging.…

Programming Languages · Computer Science 2021-07-13 Joseph Eremondi , Ronald Garcia , Éric Tanter

Gradual typing combines static and dynamic typing in the same program. One would hope that the performance in a gradually typed language would range between that of a dynamically typed language and a statically typed language. Existing…

Programming Languages · Computer Science 2018-02-20 Andre Kuhlenschmidt , Deyaaeldeen Almahallawi , Jeremy G. Siek

Maintaining large code bases written in dynamically typed languages, such as JavaScript or Python, can be challenging due to the absence of type annotations: simple data compatibility errors proliferate, IDE support is limited, and APIs are…

Software Engineering · Computer Science 2020-03-09 Michael Pradel , Georgios Gousios , Jason Liu , Satish Chandra

Dependent types help programmers write highly reliable code. However, this reliability comes at a cost: it can be challenging to write new prototypes in (or migrate old code to) dependently-typed programming languages. Gradual typing makes…

Programming Languages · Computer Science 2019-08-23 Joseph Eremondi , Éric Tanter , Ronald Garcia

We present a gradually typed language, GrEff, with effects and handlers that supports migration from unchecked to checked effect typing. This serves as a simple model of the integration of an effect typing discipline with an existing…

Programming Languages · Computer Science 2023-04-06 Max S. New , Eric Giovannini , Daniel R. Licata

A long-standing shortcoming of statically typed functional languages is that type checking does not rule out pattern-matching failures (run-time match exceptions). Refinement types distinguish different values of datatypes; if a program…

Programming Languages · Computer Science 2020-09-22 Khurram A. Jafery , Jana Dunfield

When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of explicit type annotations in typical scripting languages forces programmers to must (re)discover critical pieces of design information…

Programming Languages · Computer Science 2011-06-15 Sam Tobin-Hochstadt , Matthias Felleisen

Gradual typing has gained popularity as a design choice for integrating static and dynamic typing within a single language. Several practical languages have adopted gradual typing to offer programmers the flexibility to annotate their…

Programming Languages · Computer Science 2026-03-09 Senxi Li , Feng Dai , Tetsuro Yamazaki , Shigeru Chiba

Modern languages are equipped with static type checking/inference that helps programmers to keep a clean programming style and to reduce errors. However, the ever-growing size of programs and their continuous evolution require building fast…

Programming Languages · Computer Science 2018-11-28 Matteo Busi , Pierpaolo Degano , Letterio Galletta

The study presents the outcomes of research and experimental validation in the domain of automated codebase migration, with a focus on addressing challenges in transitioning SQL-based systems. The proposed method for migration essentially…

Software Engineering · Computer Science 2026-02-06 Oleg Grynets , Vasyl Lyashkevych , Dmytro Baran , Maksym Orliansky , Taras Zelenyy , Markiian Leshchyshyn

Gradually typed languages are designed to support both dynamically typed and statically typed programming styles while preserving the benefits of each. While existing gradual type soundness theorems for these languages aim to show that…

Programming Languages · Computer Science 2018-11-07 Max S. New , Daniel R. Licata , Amal Ahmed

Despite a growing body of work at the intersection of deep learning and formal languages, there has been relatively little systematic exploration of transformer models for reasoning about typed lambda calculi. This is an interesting area of…

Programming Languages · Computer Science 2023-04-21 Brando Miranda , Avi Shinnar , Vasily Pestun , Barry Trager

We present a new approach to the type inference problem for dynamic languages. Our goal is to combine \emph{logical} constraints, that is, deterministic information from a type system, with \emph{natural} constraints, that is, uncertain…

Programming Languages · Computer Science 2021-03-30 Irene Vlassi Pandi , Earl T. Barr , Andrew D. Gordon , Charles Sutton

Context: A Legacy system can be defined as a system that significantly resists modification and evolution. According to the literature, there are two main strategies to migrate a legacy system: (a) to replace the legacy system by a new one,…

Software Engineering · Computer Science 2022-10-04 Bruno Góis Mateus , Matias Martinez , Christophe Kolski

Gradual typing combines static and dynamic typing in the same language, offering the benefits of both to programmers. Static typing provides error detection and strong guarantees while dynamic typing enables rapid prototyping and flexible…

Programming Languages · Computer Science 2016-10-27 Michael M. Vitousek , Jeremy G. Siek

With the advancement of automated software engineering, research focus is increasingly shifting toward practical tasks reflecting the day-to-day work of software engineers. Among these tasks, software migration, a critical process of…

Software Engineering · Computer Science 2026-04-29 Ryo Fujii , Makoto Morishita , Kazuki Yano , Jun Suzuki

Gradual typing is an approach to integrating static and dynamic typing within the same language, and puts the programmer in control of which regions of code are type checked at compile-time and which are type checked at run-time. In this…

Programming Languages · Computer Science 2019-09-16 Matteo Cimini

Compilers for statically typed functional programming languages are notorious for generating confusing type error messages. When the compiler detects a type error, it typically reports the program location where the type checking failed as…

Programming Languages · Computer Science 2015-08-28 Zvonimir Pavlinovic , Tim King , Thomas Wies
‹ Prev 1 2 3 10 Next ›