English
Related papers

Related papers: Type-Level Computations for Ruby Libraries

200 papers

Gradual typing enables developers to annotate types of their own choosing, offering a flexible middle ground between no type annotations and a fully statically typed language. As more and more code bases get type-annotated, static type…

Software Engineering · Computer Science 2024-01-15 Yiu Wai Chow , Luca Di Grazia , Michael Pradel

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…

Programming Languages · Computer Science 2023-11-09 Thodoris Sotiropoulos , Stefanos Chaliasos , Zhendong Su

We introduce a new compile-time notion of type subsumption based on type simulation. We show how to apply this static subsumption relation to support a more intuitive, object oriented approach to generic programming of reusable, high…

Programming Languages · Computer Science 2011-02-17 Wouter Kuijper , Michael Weber

As a scientific programming language, Julia strives for performance but also provides high-level productivity features. To avoid performance pathologies, Julia users are expected to adhere to a coding discipline that enables so-called type…

Programming Languages · Computer Science 2021-11-18 Artem Pelenitsyn , Julia Belyakova , Benjamin Chung , Ross Tate , Jan Vitek

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

Code review is a critical practice in software engineering, yet the growing scale and frequency of code patches in modern projects, together with the widespread adoption of AI code assistants, make manual review increasingly challenging.…

Software Engineering · Computer Science 2026-05-26 Bar Weiss , Antonio Abu-Nassar , Adi Sosnovich , Karen Yorav

Type annotations in Python enhance maintainability and error detection. However, generating these annotations manually is error prone and requires extra effort. Traditional automation approaches like static analysis, machine learning, and…

Programming Languages · Computer Science 2025-08-04 Varun Bharti , Shashwat Jha , Dhruv Kumar , Pankaj Jalote

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

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

A collaboration framework is a distributed system that serves as the data layer for a collaborative app. Conflict-free Replicated Data Types (CRDTs) are a promising theoretical technique for implementing collaboration frameworks. However,…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-10-17 Matthew Weidner , Huairui Qi , Maxime Kjaer , Ria Pradeep , Benito Geordie , Yicheng Zhang , Gregory Schare , Xuan Tang , Sicheng Xing , Heather Miller

Designing correct replicated data types (RDTs) is challenging because replicas evolve independently and must be merged while preserving application intent. A promising approach is correct-by-construction development in a proof-oriented…

Programming Languages · Computer Science 2026-03-31 Pranav Ramesh , Vimala Soundarapandian , KC Sivaramakrishnan

Relational databases (RDBs) are widely regarded as the gold standard for storing structured information. Consequently, predictive tasks leveraging this data format hold significant application promise. Recently, Relational Deep Learning…

Machine Learning · Computer Science 2025-12-15 Jakub Peleška , Gustav Šír

Type-preserving translations are effective rigorous tools in the study of core programming calculi. In this paper, we develop a new typed translation that connects sequential and concurrent calculi; it is governed by type systems that…

Programming Languages · Computer Science 2022-06-01 Joseph W. N. Paulus , Daniele Nantes-Sobrinho , Jorge A. Pérez

Refinement types -- types qualified with logical predicates -- have proven effective for lightweight verification in languages like Liquid Haskell, F*, and Dafny. However, in these systems refinements are either written in a separate…

Programming Languages · Computer Science 2026-05-12 Matt Bovel , Viktor Kunčak , Martin Odersky

Consumption of REST services has become a popular means of invoking code provided by third parties, particularly in web applications. Nowadays programmers of web applications can choose TypeScript over JavaScript to benefit from static type…

Software Engineering · Computer Science 2020-07-17 Nuno Burnay , Antónia Lopes , Vasco T. Vasconcelos

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

Python type annotations enable static type checking, but most code remains untyped because manual annotation is time-consuming and tedious. Past approaches to automatic type inference fall short: static methods struggle with dynamic…

Programming Languages · Computer Science 2026-03-12 Juan Altmayer Pizzorno , Emery D. Berger

Replicated data types (RDTs) are data structures that permit concurrent modification of multiple, potentially geo-distributed, replicas without coordination between them. RDTs are designed in such a way that conflicting operations are…

Programming Languages · Computer Science 2022-03-29 Vimala Soundarapandian , Adharsh Kamath , Kartik Nagar , KC Sivaramakrishnan

Recent constraint logic programming (CLP) languages, such as HAL and Mercury, require type, mode and determinism declarations for predicates. This information allows the generation of efficient target code and the detection of many errors…

Programming Languages · Computer Science 2010-09-03 Maria Garcia de la Banda , Warwick Harvey , Kim Marriott , Peter J. Stuckey , Bart Demoen

Unstructured data is pervasive, but analytical queries demand structured representations, creating a significant extraction challenge. Existing methods like RAG lack schema awareness and struggle with cross-document alignment, leading to…

Databases · Computer Science 2025-11-05 Daren Chao , Kaiwen Chen , Naiqing Guan , Nick Koudas