English
Related papers

Related papers: Revisiting Occurrence Typing

200 papers

We propose a novel method for inferring refinement types of higher-order functional programs. The main advantage of the proposed method is that it can infer maximally preferred (i.e., Pareto optimal) refinement types with respect to a…

Programming Languages · Computer Science 2015-05-19 Kodai Hashimoto , Hiroshi Unno

We (re)define session types as projections of process behaviors with respect to the communication channels they use. In this setting, we give session types a semantics based on fair testing. The outcome is a unified theory of behavioral…

Programming Languages · Computer Science 2009-12-01 Luca Padovani

We present a type-theoretic framework for reasoning about incorrectness in functional programs that interact with effectful, opaque library APIs. Our approach centers on traces -- temporally-ordered sequences of library API invocations --…

Programming Languages · Computer Science 2025-09-03 Yongwei Yuan , Zhe Zhou , Julia Belyakova , Benjamin Delaware , Suresh Jagannathan

ReScript introduces a strongly typed language that targets JavaScript, as an alternative to gradually typed languages, such as TypeScript. In this paper, we present a type system for data-flow analysis for a subset of the ReScript language,…

Programming Languages · Computer Science 2024-08-23 Nicky Ask Lund , Hans Hüttel

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…

Machine Learning · Computer Science 2022-01-20 Amir M. Mir , Evaldas Latoskinas , Sebastian Proksch , Georgios Gousios

We present an approach for a lightweight datatype-generic programming in Objective Caml programming language aimed at better code reuse. We show, that a large class of transformations usually expressed via recursive functions with pattern…

Programming Languages · Computer Science 2018-02-07 Dmitri Boulytchev

Strictness analysis is critical to efficient implementation of languages with non-strict evaluation, mitigating much of the performance overhead of laziness. However, reasoning about strictness at the source level can be challenging and…

Programming Languages · Computer Science 2026-01-12 Daniel Sainati , Joseph W. Cutler , Benjamin C. Pierce , Stephanie Weirich

In functional programming languages, generalized algebraic data types (GADTs) are very useful as the unnecessary pattern matching over them can be ruled out by the failure of unification of type arguments. In dependent type systems, this is…

Programming Languages · Computer Science 2021-07-07 Tesla Zhang

State of the art optimisation passes for dependently typed languages can help erase the redundant information typical of invariant-rich data structures and programs. These automated processes do not dramatically change the structure of the…

Programming Languages · Computer Science 2023-01-06 Guillaume Allais

Static type errors are a common stumbling block for newcomers to typed functional languages. We present a dynamic approach to explaining type errors by generating counterexample witness inputs that illustrate how an ill-typed program goes…

Programming Languages · Computer Science 2018-03-20 Eric L Seidel , Ranjit Jhala , Westley Weimer

Transient gradual typing imposes run-time type tests that typically cause a linear slowdown in programs' performance. This performance impact discourages the use of type annotations because adding types to a program makes the program…

Programming Languages · Computer Science 2019-02-19 Richard Roberts , Stefan Marr , Michael Homer , James Noble

This paper presents and extends our type theoretical framework for a compositional treatment of natural language semantics with some lexical features like coercions (e.g. of a town into a football club) and copredication (e.g. on a town as…

Logic in Computer Science · Computer Science 2013-05-06 Christian Retoré

Today's probabilistic language generators fall short when it comes to producing coherent and fluent text despite the fact that the underlying models perform well under standard metrics, e.g., perplexity. This discrepancy has puzzled the…

Computation and Language · Computer Science 2025-06-06 Clara Meister , Tiago Pimentel , Gian Wiher , Ryan Cotterell

Formal verification methods for concurrent systems cannot always be scaled-down or tailored in order to be applied on specific subsystems. We address such an issue in a MultiParty Session Types setting by devising a partial type assignment…

Logic in Computer Science · Computer Science 2024-10-02 Franco Barbanera , Mariangiola Dezani-Ciancaglini , Ugo de'Liguoro

Recurrence equations have played a central role in static cost analysis, where they can be viewed as abstractions of programs and used to infer resource usage information without actually running the programs with concrete data. Such…

Programming Languages · Computer Science 2024-09-02 Louis Rustenholz , Pedro Lopez-Garcia , José F. Morales , Manuel V. Hermenegildo

A standard form of analysis for linguistic typology is the universal implication. These implications state facts about the range of extant languages, such as ``if objects come after verbs, then adjectives come after nouns.'' Such…

Computation and Language · Computer Science 2009-07-07 Hal Daumé , Lyle Campbell

The use of methods borrowed from statistics and physics to analyze written texts has allowed the discovery of unprecedent patterns of human behavior and cognition by establishing links between models features and language structure. While…

Computation and Language · Computer Science 2016-07-07 Diego R. Amancio

Open-ended text generation tasks, such as dialogue generation and story completion, require models to generate a coherent continuation given limited preceding context. The open-ended nature of these tasks brings new challenges to the neural…

Computation and Language · Computer Science 2022-04-21 Qintong Li , Piji Li , Wei Bi , Zhaochun Ren , Yuxuan Lai , Lingpeng Kong

Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its applicability to a variety of type systems, its error reporting, and its ease of implementation. Following…

Programming Languages · Computer Science 2020-09-22 Jana Dunfield , Neelakantan R. Krishnaswami

Session types are widely used as abstractions of asynchronous message passing systems. Refinement for such abstractions is crucial as it allows improvements of a given component without compromising its compatibility with the rest of the…

Programming Languages · Computer Science 2024-10-09 Mario Bravetti , Julien Lange , Gianluigi Zavattaro
‹ Prev 1 8 9 10 Next ›