中文
相关论文

相关论文: Gradual Typing in an Open World

200 篇论文

This paper presents the first implementation of session types in a dynamically-typed language - Python. Communication safety of the whole system is guaranteed at runtime by monitors that check the execution traces comply with an associated…

编程语言 · 计算机科学 2013-12-11 Rumyana Neykova

Predictive models are fundamental to engineering reliable software systems. However, designing conservative, computable approximations for the behavior of programs (static analyses) remains a difficult and error-prone process for modern…

编程语言 · 计算机科学 2011-05-10 David Van Horn , Matthew Might

Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed programming languages, in order to improve type safety, programmer productivity, or performance. In such cases, type system developers must…

编程语言 · 计算机科学 2016-05-05 Esben Andreasen , Colin S. Gordon , Satish Chandra , Manu Sridharan , Frank Tip , Koushik Sen

Elixir is a dynamically-typed functional language running on the Erlang Virtual Machine, designed for building scalable and maintainable applications. Its characteristics have earned it a surging adoption by hundreds of industrial actors…

编程语言 · 计算机科学 2024-01-01 Giuseppe Castagna , Guillaume Duboc , José Valim

Bidirectional typing combines two modes of typing: type checking, which checks that a program satisfies a known type, and type synthesis, which determines a type from the program. Using checking enables bidirectional typing to support…

编程语言 · 计算机科学 2022-03-21 Jana Dunfield , Neel Krishnaswami

Recently, dynamically typed languages, such as Python, have gained unprecedented popularity. Although these languages alleviate the need for mandatory type annotations, types still play a critical role in program understanding and…

编程语言 · 计算机科学 2022-02-08 Ibrahim Abdelaziz , Julian Dolby , Kavitha Srinivas

Dynamic languages, such as Python and Javascript, trade static typing for developer flexibility and productivity. Lack of static typing can cause run-time exceptions and is a major factor for weak IDE support. To alleviate these issues, PEP…

机器学习 · 计算机科学 2022-01-20 Amir M. Mir , Evaldas Latoskinas , Sebastian Proksch , Georgios Gousios

Many object-oriented dynamic languages allow programmers to _extract methods_ from objects and treat them as functions. This allows for flexible programming patterns, but presents challenges for type systems. In particular, a simple…

编程语言 · 计算机科学 2021-11-23 Yuquan Fu , Sam Tobin-Hochstadt

We formalize a new type system for Elixir, a dynamically typed functional programming language of growing popularity that runs on the Erlang virtual machine. Our system combines gradual typing with semantic subtyping to enable precise,…

编程语言 · 计算机科学 2025-09-30 Giuseppe Castagna , Guillaume Duboc

We introduce a novel approach for testing static typing implementations based on the concept of API-driven program synthesis. The idea is to synthesize type-intensive but small and well-typed programs by leveraging and combining application…

编程语言 · 计算机科学 2023-11-09 Thodoris Sotiropoulos , Stefanos Chaliasos , Zhendong Su

Python is a widely adopted programming language, valued for its simplicity and flexibility. However, its dynamic type system poses significant challenges for automated refactoring - an essential practice in software evolution aimed at…

软件工程 · 计算机科学 2025-11-20 Jonhnanthan Oliveira , Rohit Gheyi , Márcio Ribeiro , Alessandro Garcia

Linguine is a natural-language-inspired programming language that enables users to write programs in a fluent, controlled subset of English while preserving formal semantics. The language introduces anaphoric constructs, such as pronoun…

编程语言 · 计算机科学 2025-06-11 Lifan Hu

We present gradual type theory, a logic and type theory for call-by-name gradual typing. We define the central constructions of gradual typing (the dynamic type, type casts and type error) in a novel way, by universal properties relative to…

编程语言 · 计算机科学 2023-06-22 Max S. New , Daniel R. Licata

Automated unit test generation is an established research field that has so far focused on statically-typed programming languages. The lack of type information in dynamically-typed programming languages, such as Python, inhibits test…

软件工程 · 计算机科学 2025-07-03 Lukas Krodinger , Stephan Lukasczyk , Gordon Fraser

Python is a popular high-level general-purpose programming language also heavily used by the scientific community. It supports a variety of different programming paradigms and is preferred by many for its ease of use. With the vision of…

编程语言 · 计算机科学 2021-09-08 Maximilian A. Köhl

To efficiently execute dynamically typed languages, many language implementations have adopted a two-tier architecture. The first tier aims for low-latency startup times and collects dynamic profiles, such as the dynamic types of variables.…

编程语言 · 计算机科学 2020-10-07 Olivier Flückiger , Andreas Wälchli , Sebastián Krynski , Jan Vitek

Environmental noise (e.g.heat, ionized particles, etc.) causes transient faults in hardware, which lead to corruption of stored values. Mission-critical devices require such faults to be mitigated by fault-tolerance --- a combination of…

密码学与安全 · 计算机科学 2014-10-28 Filippo Del Tedesco , David Sands , Alejandro Russo

Strategy languages enable programmers to compose rewrite rules into strategies and control their application. This is useful in programming languages, e.g., for describing program transformations compositionally, but also in automated…

编程语言 · 计算机科学 2023-04-28 Rongxiao Fu , Ornela Dardha , Michel Steuwer

This is the manual of Cyan, a prototype-based object-oriented language. Cyan supports gradual typing (both static and dynamic typing), single inheritance, anonymous functions, generic prototypes with concepts, non-nullable types, partially…

编程语言 · 计算机科学 2025-07-01 José de Oliveira Guimarães

Erlang's dynamic typing discipline can lead to runtime errors that persist even after process restarts. Some of these runtime errors could be prevented through static type checking. While Erlang provides a type specification language, the…

编程语言 · 计算机科学 2026-03-24 Albert Schimpf , Stefan Wehr , Annette Bieniusa