English
Related papers

Related papers: Python Type Hints are Turing Complete

200 papers

Graphs are a generalized concept that encompasses more complex data structures than trees, such as difference lists, doubly-linked lists, skip lists, and leaf-linked trees. Normally, these structures are handled with destructive assignments…

Programming Languages · Computer Science 2022-09-13 Jin Sano , Naoki Yamamoto , Kazunori Ueda

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 give a new formulation of Turing reducibility in terms of higher modalities, inspired by an embedding of the Turing degrees in the lattice of subtoposes of the effective topos discovered by Hyland. In this definition, higher modalities…

Logic · Mathematics 2024-06-11 Andrew W Swan

Traits allow decomposing programs into smaller parts and mixins are a form of composition that resemble multiple inheritance. Unfortunately, in the presence of traits, programming languages like Scala give up on subtyping relation between…

Programming Languages · Computer Science 2014-07-16 Asankhaya Sharma

We initiate the computability-theoretic study of ringed spaces and schemes. In particular, we show that any Turing degree may occur as the least degree of an isomorphic copy of a structure of these kinds. We also show that these structures…

Logic · Mathematics 2011-11-10 Wesley Calvert , Valentina Harizanov , Alexandra Shlapentokh

This paper presents Gemini, a functional programming language for hardware description that provides features such as parametric polymorphism, recursive datatypes, higher-order functions, and type inference for higher expressivity compared…

Programming Languages · Computer Science 2019-11-12 Aditya Srinivasan , Andrew D. Hilton

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

The world has seen the emergence of machines based on pretrained models, transformers, also known as generative artificial intelligences for their ability to produce various types of content, including text, images, audio, and synthetic…

Artificial Intelligence · Computer Science 2024-10-10 Bernardo Gonçalves

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

A generic computation of a subset $A$ of $\mathbb{N}$ is a computation which correctly computes most of the bits of $A$, but which potentially does not halt on all inputs. The motivation for this concept is derived from complexity theory,…

Logic · Mathematics 2014-02-18 Gregory Igusa

A new scheme for proving pseudoidentities from a given set {\Sigma} of pseudoidentities, which is clearly sound, is also shown to be complete in many instances, such as when {\Sigma} defines a locally finite variety, a pseudovariety of…

Group Theory · Mathematics 2019-03-18 Jorge Almeida , Ondřej Klíma

We evaluate an automatic hint generator for CS1 programming assignments powered by GPT-4, a large language model. This system provides natural language guidance about how students can improve their incorrect solutions to short programming…

Computers and Society · Computer Science 2024-06-11 Laryn Qi , J. D. Zamfirescu-Pereira , Taehan Kim , Björn Hartmann , John DeNero , Narges Norouzi

An increasing number of scientific applications are making use of irregular data access patterns. An important class of such patterns involve subscripted-subscripts, wherein an array value appears in the index expression of another array.…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-15 Akshay Bhosale , Rudolf Eigenmann

Runtime verification (RV) now scales for testing thousands of open-source Java projects, helping find hundreds of bugs. The popular Python ecosystem could use such benefits. But, today's Python RV systems are limited to a domain or…

Software Engineering · Computer Science 2025-09-09 Zhuohang Shen , Mohammed Yaseen , Denini Silva , Kevin Guan , Junho Lee , Marcelo d'Amorim , Owolabi Legunsen

Program reductions are used widely to simplify reasoning about the correctness of concurrent and distributed programs. In this paper, we propose a general approach to proof simplification of concurrent programs based on exploring generic…

Programming Languages · Computer Science 2019-11-01 Azadeh Farzan , Anthony Vandikas

Large reasoning models achieve high accuracy through extended chain-of-thought but generate 5--8 more tokens than necessary, applying verbose reasoning uniformly regardless of problem difficulty. We propose Hint Tuning, a data-efficient…

Computation and Language · Computer Science 2026-05-12 Siqi Fan , Minghao Li , Xiaoqian Ma , Xiusheng Huang , Zhuo Chen , Bowen Qin , Liujie Zhang , Shuo Shang , Weihang Chen

This study highlights the transparency and accuracy of GenAI's inductive thematic analysis, particularly using GPT-4 Turbo API integrated within a stepwise prompt-based Python script. This approach ensured a traceable and systematic coding…

Human-Computer Interaction · Computer Science 2025-03-25 Matthew Nyaaba , Min SungEun , Mary Abiswin Apam , Kwame Owoahene Acheampong , Emmanuel Dwamena

Decompilers are widely used by security researchers and developers to reverse engineer executable code. While modern decompilers are adept at recovering instructions, control flow, and function boundaries, some useful information from the…

Cryptography and Security · Computer Science 2024-07-04 Harrison Green , Edward J. Schwartz , Claire Le Goues , Bogdan Vasilescu

The problem of determining whether or not any program terminates was shown to be undecidable by Turing, but recent advances in the area have allowed this information to be determined for a large class of programs. The classic method for…

Logic in Computer Science · Computer Science 2020-08-10 G. W. Hamilton

For many compiled languages, source-level types are erased very early in the compilation process. As a result, further compiler passes may convert type-safe source into type-unsafe machine code. Type-unsafe idioms in the original source and…

Programming Languages · Computer Science 2016-03-22 Matthew Noonan , Alexey Loginov , David Cok