English
Related papers

Related papers: Gradual Typing in an Open World

200 papers

Due to the rise of machine learning, Python is an increasingly popular programming language. Python, however, is dynamically typed. Dynamic typing has shown to have drawbacks when a project grows, while at the same time it improves…

Software Engineering · Computer Science 2019-12-03 Casper Boone , Niels de Bruin , Arjan Langerak , Fabian Stelmach

We describe an application of Prolog: a type checking tool for the Q functional language. Q is a terse vector processing language, a descendant of APL, which is getting more and more popular, especially in financial applications. Q is a…

Programming Languages · Computer Science 2011-12-19 János Csorba , Zsolt Zombori , Péter Szeredi

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

The R programming language is widely used in large-scale data analyses. It contains especially rich built-in support for dealing with vectors, arrays, and matrices. These operations feature prominently in the applications that form R's…

Programming Languages · Computer Science 2023-04-11 John Wrenn , Anjali Pal , Alexa VanHattum , Shriram Krishnamurthi

Writing parallel codes is difficult and exhibits a fundamental trade-off between abstraction and performance. The high level language abstractions designed to simplify the complexities of parallelism make certain assumptions that impacts…

Programming Languages · Computer Science 2020-10-28 Nick Brown , Ludovic Capelli , J. Mark Bull

Context Oriented Programming (COP) concerns the ability of programs to adapt to changes in their running environment. A number of programming languages endowed with COP constructs and features have been developed. However, some foundational…

Programming Languages · Computer Science 2013-02-27 Pierpaolo Degano , Gian-Luigi Ferrari , Letterio Galletta , Gianluca Mezzetti

This abstract aims at presenting an ongoing effort to apply a novel typing mechanism stemming from Implicit Computational Complexity (ICC), that tracks dependencies between variables in three different ways, at different stages of…

Computational Complexity · Computer Science 2022-05-26 Clément Aubert , Thomas Rubiano , Neea Rusch , Thomas Seiller

Gradually typed languages allow programmers to mix statically and dynamically typed code, enabling them to incrementally reap the benefits of static typing as they add type annotations to their code. However, this type migration process is…

Programming Languages · Computer Science 2021-09-14 Luna Phipps-Costin , Carolyn Jane Anderson , Michael Greenberg , Arjun Guha

A type system is introduced for a generic Object Oriented programming language in order to infer resource upper bounds. A sound andcomplete characterization of the set of polynomial time computable functions is obtained. As a consequence,…

Programming Languages · Computer Science 2018-02-20 Emmanuel Hainry , Romain Péchoux

Despite being the most popular programming language, Python has not yet received enough attention from the community. To the best of our knowledge, there is no general static analysis framework proposed to facilitate the implementation of…

Software Engineering · Computer Science 2022-02-25 Li Li , Jiawei Wang , Haowei Quan

Dynamic typing is an important feature of dynamic programming languages. Primitive operators such as those for performing arithmetic and comparisons typically operate on a wide variety of in put value types, and as such, must internally…

Programming Languages · Computer Science 2014-01-15 Maxime Chevalier-Boisvert , Marc Feeley

One of the most attractive features of untyped languages is the flexibility in term creation and manipulation. However, with such power comes the responsibility of ensuring the correctness of these operations. A solution is adding run-time…

Programming Languages · Computer Science 2017-10-17 Nataliia Stulova , José F. Morales , Manuel V. Hermenegildo

Python is one of the most commonly used programming languages in industry and education. Its English keywords and built-in functions/modules allow it to come close to pseudo-code in terms of its readability and ease of writing. However,…

Computation and Language · Computer Science 2025-04-17 Joshua Otten , Antonios Anastasopoulos , Kevin Moran

Benefits of static type systems are well-known: they offer guarantees that no type error will occur during runtime and, inherently, inferred types serve as documentation on how functions are called. On the other hand, many type systems have…

Programming Languages · Computer Science 2020-08-31 Isabel Wingen , Philipp Körner

Data engineers increasingly use domain-specific languages (DSLs) to generate the code for data pipelines. Such DSLs are often embedded in Python. Unfortunately, there are challenges in debugging the generation of data pipelines: an error in…

Programming Languages · Computer Science 2025-08-21 Tianyu Chen , Darshal Shetty , Jeremy G. Siek , Chao-Hong Chen , Weixi Ma , Arnaud Venet , Rocky Liu

Herman et al. pointed out that the insertion of run-time checks into a gradually typed program could hamper tail-call optimization and, as a result, worsen the space complexity of the program. To address the problem, they proposed a…

Programming Languages · Computer Science 2020-11-11 Yuya Tsuda , Atsushi Igarashi , Tomoya Tabuchi

There is a vast gap in the quality of IDE tooling between static languages like Java and dynamic languages like Python or JavaScript. Modern frameworks and libraries in these languages heavily use their dynamic capabilities to achieve the…

Programming Languages · Computer Science 2024-02-01 Franciszek Piszcz

Dynamically typed programming languages are popular in education and the software industry. While presenting a low barrier to entry, they suffer from run-time type errors and longer-term problems in code quality and maintainability.…

Human-Computer Interaction · Computer Science 2023-03-20 Shuai Fu , Tim Dwyer , Peter J. Stuckey , Jackson Wain , Jesse Linossier

Python's dynamic type system, while offering significant flexibility and expressiveness, poses substantial challenges for static analysis and automated tooling, particularly in unannotated or partially annotated codebases. Existing type…

Software Engineering · Computer Science 2026-04-08 Ali Aman , Muhammad Asaduzzaman , Shaowei Wang

Python is a popular dynamic programming language, evidenced by its ranking as the second most commonly used language on GitHub. However, its dynamic type system can lead to potential type errors, leading researchers to explore automatic…

Software Engineering · Computer Science 2023-07-19 Yun Peng , Chaozheng Wang , Wenxuan Wang , Cuiyun Gao , Michael R. Lyu