English
Related papers

Related papers: Simple, Decidable Type Inference with Subtyping

200 papers

In the theory of programming languages, type inference is the process of inferring the type of an expression automatically, often making use of information from the context in which the expression appears. Such mechanisms turn out to be…

Logic in Computer Science · Computer Science 2012-05-10 Jeremy Avigad

We present a type inference algorithm for lambda-terms in Elementary Affine Logic using linear constraints. We prove that the algorithm is correct and complete.

Logic in Computer Science · Computer Science 2007-05-23 Paolo Coppola , Simone Martini

We previously developed a polymorphic type system and a type checker for a multithreaded lock-based polymorphic typed assembly language (MIL) that ensures that well-typed programs do not encounter race conditions. This paper extends such…

Programming Languages · Computer Science 2010-02-05 Vasco T. Vasconcelos , Francisco Martins , Tiago Cogumbreiro

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

Partial code usually involves non-fully-qualified type names (non-FQNs) and undeclared receiving objects. Resolving the FQNs of these non-FQN types and undeclared receiving objects (referred to as type inference) is the prerequisite to…

Software Engineering · Computer Science 2022-08-29 Qing Huang , Zhiqiang Yuan , Zhenchang Xing , Xiwei Xu , Liming Zhu , Qinghua Lu

This paper studies the inference about linear functionals of high-dimensional low-rank matrices. While most existing inference methods would require consistent estimation of the true rank, our procedure is robust to rank misspecification,…

Econometrics · Economics 2024-10-21 Jungjun Choi , Hyukjun Kwon , Yuan Liao

In this paper we describe how to leverage higher-order unification to type check a dependently typed language with meta-variables. The literature usually presents the unification algorithm as a standalone component, however the need to…

Programming Languages · Computer Science 2016-10-03 Francesco Mazzoli , Andreas Abel

We use machine learning to classify examples of braids (or flat braids) as trivial or non-trivial. Our ML takes form of supervised learning using neural networks (multilayer perceptrons). When they achieve good results in classification, we…

Geometric Topology · Mathematics 2023-07-25 Alexei Lisitsa , Mateo Salles , Alexei Vernitski

We address the problem of local type inference for a language based on System F with context-free session types. We present an algorithm that leverages the bidirectional type checking approach to propagate type information, enabling first…

Programming Languages · Computer Science 2025-05-28 Bernardo Almeida , Andreia Mordido , Vasco T. Vasconcelos

As gradual typing becomes increasingly popular in languages like Python and TypeScript, there is a growing need to infer type annotations automatically. While type annotations help with tasks like code completion and static error catching,…

Programming Languages · Computer Science 2020-05-06 Jiayi Wei , Maruth Goyal , Greg Durrett , Isil Dillig

Refinement types sharpen systems of simple and dependent types by offering expressive means to more precisely classify well-typed terms. We present a system of refinement types for LF in the style of recent formulations where only canonical…

Programming Languages · Computer Science 2015-07-01 William Lovas , Frank Pfenning

One of the big challenges in the development of probabilistic relational (or probabilistic logical) modeling and learning frameworks is the design of inference techniques that operate on the level of the abstract model representation…

Artificial Intelligence · Computer Science 2020-02-19 Manfred Jaeger

Pluggable type systems allow programmers to extend the type system of a programming language to enforce semantic properties defined by the programmer. Pluggable type systems are difficult to deploy in legacy codebases because they require…

Software Engineering · Computer Science 2025-10-06 Kazi Amanul Islam Siddiqui , Martin Kellogg

Inferring the types of API elements in incomplete code snippets (e.g., those on Q&A forums) is a prepositive step required to work with the code snippets. Existing type inference methods can be mainly categorized as constraint-based or…

Software Engineering · Computer Science 2024-02-16 Zhixiang Chen , Anji Li , Neng Zhang , Jianguo Chen , Yuan Huang , Zibin Zheng

Type theories with higher-order subtyping or singleton types are examples of systems where computation rules for variables are affected by type information in the context. A complication for these systems is that bounds declared in the…

Logic in Computer Science · Computer Science 2011-01-25 Adriana Compagnoni , Healfdene Goguen

System F, the polymorphic lambda calculus, features the principle of impredicativity: polymorphic types may be (explicitly) instantiated at other types, enabling many powerful idioms such as Church encoding and data abstraction.…

Programming Languages · Computer Science 2022-03-04 Henry Mercer , Cameron Ramsay , Neel Krishnaswami

In this paper, we propose a deep invertible hybrid model which integrates discriminative and generative learning at a latent space level for semi-supervised few-shot classification. Various tasks for classifying new species from image data…

Computer Vision and Pattern Recognition · Computer Science 2021-05-25 Yusuke Ohtsubo , Tetsu Matsukawa , Einoshin Suzuki

Featherweight Generic Go (FGG) is a minimal core calculus modeling the essential features of the programming language Go. It includes support for overloaded methods, interface types, structural subtyping and generics. The most…

Programming Languages · Computer Science 2023-08-08 Martin Sulzmann , Stefan Wehr

Type-level programming is an increasingly popular way to obtain additional type safety. Unfortunately, it remains a second-class citizen in the majority of industrially-used programming languages. We propose a new dependently-typed system…

Programming Languages · Computer Science 2020-11-17 Georg Stefan Schmid , Olivier Blanvillain , Jad Hamza , Viktor Kunčak

A type assignment system for lambda-calculus enjoys the principal typing property if every typable term M has a special typing, called principal, from which all typings for M can be obtained via suitable operations. The existence of…

Logic in Computer Science · Computer Science 2026-03-05 Daniele Pautasso , Simona Ronchi Della Rocca