English
Related papers

Related papers: Tail Modulo Cons, OCaml, and Relational Separation…

200 papers

OCaml function calls consume space on the system stack. Operating systems set default limits on the stack space which are much lower than the available memory. If a program runs out of stack space, they get the dreaded "Stack Overflow"…

Programming Languages · Computer Science 2021-02-22 Frédéric Bour , Basile Clément , Gabriel Scherer

Tail recursive functions allow for a wider range of optimisations than general recursive functions. For this reason, much research has gone into the transformation and optimisation of this family of functions, in particular those written in…

Programming Languages · Computer Science 2023-09-12 Joachim Tilsted Kristensen , Robin Kaarsgaard , Michael Kirkedal Thomsen

We present modular implicits, an extension to the OCaml language for ad-hoc polymorphism inspired by Scala implicits and modular type classes. Modular implicits are based on type-directed implicit module parameters, and elaborate…

Programming Languages · Computer Science 2015-12-08 Leo White , Frédéric Bour , Jeremy Yallop

Mechanized verification of liveness properties for infinite programs with effects and nondeterminism is challenging. Existing temporal reasoning frameworks operate at the level of models such as traces and automata. Reasoning happens at a…

Programming Languages · Computer Science 2025-08-22 Eleftherios Ioannidis , Yannick Zakowski , Steve Zdancewic , Sebastian Angel

Effect handlers have been gathering momentum as a mechanism for modular programming with user-defined effects. Effect handlers allow for non-local control flow mechanisms such as generators, async/await, lightweight threads and coroutines…

Programming Languages · Computer Science 2021-04-02 KC Sivaramakrishnan , Stephen Dolan , Leo White , Tom Kelly , Sadiq Jaffer , Anil Madhavapeddy

We develop synthetic notions of oracle computability and Turing reducibility in the Calculus of Inductive Constructions (CIC), the constructive type theory underlying the Coq proof assistant. As usual in synthetic approaches, we employ a…

Logic in Computer Science · Computer Science 2023-07-31 Yannick Forster , Dominik Kirst , Niklas Mück

In earlier work, we developed a modular approach for automatic complexity analysis of integer programs. However, these integer programs do not allow non-tail recursive calls or subprocedures. In this paper, we consider integer programs with…

Logic in Computer Science · Computer Science 2026-01-07 Nils Lommen , Jürgen Giesl

Program transformations are widely used in synthesis, optimization, and maintenance of software. Correctness of program transformations depends on preservation of some important properties of the input program. By regarding programs as…

Logic in Computer Science · Computer Science 2012-09-25 Aditya Kanade , Amitabha Sanyal , Uday P. Khedker

Large Multimodal Models (LMMs) have achieved remarkable success in vision-language tasks, yet their vast parameter counts are often underutilized during both training and inference. In this work, we embrace the idea of looping back to move…

Machine Learning · Computer Science 2026-02-11 Ruihan Xu , Yuting Gao , Lan Wang , Jianing Li , Weihao Chen , Qingpei Guo , Ming Yang , Shiliang Zhang

Distributed systems are critical to reliable and scalable computing; however, they are complicated in nature and prone to bugs. To modularly manage this complexity, network middleware has been traditionally built in layered stacks of…

Programming Languages · Computer Science 2020-04-06 Jeremiah Griffin , Mohsen Lesani , Narges Shadab , Xizhe Yin

We report on implementing graph grammars for intelligence analysis in OCaml. Graph grammars are represented as elements of an algebraic data type in OCaml. In addition to algebraic data types, we use other concepts from functional…

Programming Languages · Computer Science 2016-06-06 Rod Moten , Kemafor Anyanwu-Ogan , Sahibi Miranshah

OCaml is an industrial-strength, multi-paradigm programming language, widely used in industry and academia. OCaml is also one of the few modern managed system programming languages to lack support for shared memory parallel programming.…

Programming Languages · Computer Science 2020-07-03 KC Sivaramakrishnan , Stephen Dolan , Leo White , Sadiq Jaffer , Tom Kelly , Anmol Sahoo , Sudha Parimala , Atul Dhiman , Anil Madhavapeddy

Primitive recursion is a mature, well-understood topic in the theory and practice of programming. Yet its dual, primitive corecursion, is underappreciated and still seen as exotic. We aim to put them both on equal footing by giving a…

Programming Languages · Computer Science 2021-03-16 Paul Downen , Zena M. Ariola

We propose an operationally-based deductive proof method for program equivalence. It is based on encoding the language semantics as logically constrained term rewriting systems (LCTRSs) and the two programs as terms. The main feature of our…

Logic in Computer Science · Computer Science 2020-01-28 Ştefan Ciobâcă , Dorel Lucanu , Andrei Sebastian Buruiană

Length generalization, the ability to solve problems of longer sequences than those observed during training, poses a core challenge of Transformer-based large language models (LLM). Although existing studies have predominantly focused on…

Computation and Language · Computer Science 2026-01-29 Zhouqi Hua , Wenwei Zhang , Chengqi Lyu , Yuzhe Gu , Songyang Gao , Kuikun Liu , Dahua Lin , Kai Chen

Existential types are reconstructed in terms of small reflective subuniverses and dependent sums. The folklore decomposition detailed here gives rise to a particularly simple account of first-class modules as a mode of use of traditional…

Programming Languages · Computer Science 2022-10-04 Jonathan Sterling

This paper formalizes and proves correct a compilation scheme for mutually-recursive definitions in call-by-value functional languages. This scheme supports a wider range of recursive definitions than previous methods. We formalize our…

Programming Languages · Computer Science 2010-02-01 Tom Hirschowitz , Xavier Leroy , J. B. Wells

The reasoning capabilities of the recent LLMs enable them to execute external function calls to overcome their inherent limitations, such as knowledge cutoffs, poor arithmetic skills, or lack of access to private data. This development has…

Computation and Language · Computer Science 2024-06-06 Sehoon Kim , Suhong Moon , Ryan Tabrizi , Nicholas Lee , Michael W. Mahoney , Kurt Keutzer , Amir Gholami

Linear type systems have a long and storied history, but not a clear path forward to integrate with existing languages such as OCaml or Haskell. In this paper, we study a linear type system designed with two crucial properties in mind:…

Programming Languages · Computer Science 2017-11-09 Jean-Philippe Bernardy , Mathieu Boespflug , Ryan R. Newton , Simon Peyton Jones , Arnaud Spiwack

The efficiency of large language models (LLMs) is fundamentally limited by their sequential, token-by-token generation process. We argue that overcoming this bottleneck requires a new design axis for LLM scaling: increasing the semantic…

Computation and Language · Computer Science 2025-11-03 Chenze Shao , Darren Li , Fandong Meng , Jie Zhou
‹ Prev 1 2 3 10 Next ›