English
Related papers

Related papers: Unboxed data constructors -- or, how cpp decides a…

200 papers

Cryptic type error messages are a major obstacle to learning OCaml or other ML-based languages. In many cases, error messages cannot be interpreted without a sufficiently-precise model of the type inference algorithm. The problem of…

Programming Languages · Computer Science 2015-12-08 Arthur Charguéraud

Albeit being a central notion of every programming language, formally and modularly reasoning about iteration proves itself to be a non-trivial feat, specially in the context of higher-order iteration. In this paper, we present a generic…

Programming Languages · Computer Science 2025-06-26 Ion Chirica , Mário Pereira

Dynamically typed programming languages like R allow programmers to write generic, flexible and concise code and to interact with the language using an interactive Read-eval-print-loop (REPL). However, this flexibility has its price: As the…

Computation · Statistics 2021-01-14 Michel Lang

This paper presents a novel methodological framework for detecting and classifying latent constructs, including frames, narratives, and topics, from textual data using Open-Source Large Language Models (LLMs). The proposed hybrid approach…

Computation and Language · Computer Science 2025-04-01 Maël Kubli

Metaprogramming and effect handlers interact in unexpected, and sometimes undesirable, ways. One example is scope extrusion: the generation of ill-scoped code. Scope extrusion can either be preemptively prevented, via static type systems,…

Programming Languages · Computer Science 2026-01-27 Michael Lee , Ningning Xie , Oleg Kiselyov , Jeremy Yallop

Detecting design pattern instances in unfamiliar codebases remains a challenging yet essential task for improving software quality and maintainability. Traditional static analysis tools often struggle with the complexity, variability, and…

Software Engineering · Computer Science 2025-02-26 Christian Schindler , Andreas Rausch

We study the problem of disentangling locked processes via code refactoring. We identify and characterise a class of processes that is not lock-free; then we formalise an algorithm that statically detects potential locks and propose…

Programming Languages · Computer Science 2016-08-08 Adrian Francalanza , Marco Giunti , António Ravara

In a world where Machine Learning (ML) is increasingly deployed to support decision-making in critical domains, providing decision-makers with explainable, stable, and relevant inputs becomes fundamental. Understanding how machine learning…

Machine Learning · Computer Science 2024-08-07 Karol Capała , Paulina Tworek , Jose Sousa

Objective Caml is a famous dialect of the ML family languages. It is well-known for its performance as a compiled programming language, notably thanks to its incremental generational automatic memory collection. However, for historical…

Programming Languages · Computer Science 2020-06-11 Mathias Bourgoin , Benjamin Canou , Emmanuel Chailloux , Adrien Jonquet , Philippe Wang

Sound exhaustiveness checking of pattern-matching is an essential feature of functional programming languages, and OCaml supports it for GADTs. However this check is incomplete, in that it may fail to detect that a pattern can match no…

Programming Languages · Computer Science 2017-02-09 Jacques Garrigue , Jacques Le Normand

Large language models (LLMs) represent a new paradigm for processing unstructured data, with applications across an unprecedented range of domains. In this paper, we address, through two arguments, whether the development and application of…

Methodology · Statistics 2026-02-03 Weijie Su

Programs with control are usually modeled using lambda calculus extended with control operators. Instead of modifying lambda calculus, we consider a different model of computation. We introduce continuation calculus, or CC, a deterministic…

Logic in Computer Science · Computer Science 2013-09-06 Bram Geron , Herman Geuvers

Interprocedural flow analysis can be used to eliminate otherwise unnecessary heap allocated objects (unboxing), and in previous work we have shown how to do so while maintaining correctness with respect to the garbage collector. In this…

Programming Languages · Computer Science 2015-03-20 Neal Glew , Leaf Petersen

The Handbook of Combinatorial Designs catalogs many types of combinatorial designs, together with lists of open instances for which existence has not yet been determined. We develop a constructive protocol CPro1, which uses Large Language…

Artificial Intelligence · Computer Science 2025-01-30 Christopher D. Rosin

Designing programming languages that enable intuitive and safe manipulation of data structures is a critical research challenge. Conventional destructive memory operations using pointers are complex and prone to errors. Existing type…

Programming Languages · Computer Science 2026-01-21 Jin Sano , Naoki Yamamoto , Kazunori Ueda

The Damas-Hindley-Milner (ML) type system owes its success to principality, the property that every well-typed expression has a unique most general type. This makes inference predictable and efficient. Unfortunately, many extensions of ML…

Programming Languages · Computer Science 2026-05-04 Alistair O'Brien , Didier Rémy , Gabriel Scherer

We show how (well-established) type systems based on non-idempotent intersection types can be extended to characterize termination properties of functional programming languages with pattern matching features. To model such programming…

Programming Languages · Computer Science 2024-08-21 Sandra Alves , Delia Kesner , Miguel Ramos

This paper describes an automatic termination checker for a generic first-order call-by-value language in ML style. We use the fact that value are built from variants and tuples to keep some information about how arguments of recursive call…

Logic in Computer Science · Computer Science 2015-07-01 Hyvernat Pierre

We present a formal model of Checked C, a dialect of C that aims to enforce spatial memory safety. Our model pays particular attention to the semantics of dynamically sized, potentially null-terminated arrays. We formalize this model in…

Programming Languages · Computer Science 2022-02-01 Liyi Li , Yiyun Liu , Deena L. Postol , Leonidas Lampropoulos , David Van Horn , Michael Hicks

Recent advances in Transformer-based large language models (LLMs) have led to significant performance improvements across many tasks. These gains come with a drastic increase in the models' size, potentially leading to slow and costly use…

Computation and Language · Computer Science 2022-10-26 Tal Schuster , Adam Fisch , Jai Gupta , Mostafa Dehghani , Dara Bahri , Vinh Q. Tran , Yi Tay , Donald Metzler