English
Related papers

Related papers: Structural Induction Principles for Functional Pro…

200 papers

An introductory formal languages course exposes advanced undergraduate and early graduate students to automata theory, grammars, constructive proofs, computability, and decidability. Programming students find these topics to be challenging…

Formal Languages and Automata Theory · Computer Science 2014-12-17 Marco T. Morazán , Rosario Antunez

Destination-passing style programming introduces destinations, which represent the address of a write-once memory cell. These destinations can be passed as function parameters, allowing the caller to control memory management: the callee…

Programming Languages · Computer Science 2026-01-14 Thomas Bagrel

Structural kernels are a flexible learning paradigm that has been widely used in Natural Language Processing. However, the problem of model selection in kernel-based methods is usually overlooked. Previous approaches mostly rely on setting…

Computation and Language · Computer Science 2015-08-11 Daniel Beck , Trevor Cohn , Christian Hardmeier , Lucia Specia

Model-driven engineering is the automatic production of software artefacts from abstract models of structure and functionality. By targeting a specific class of system, it is possible to automate aspects of the development process, using…

Software Engineering · Computer Science 2013-01-03 Chen-Wei Wang , Jim Davies

Type classes are a popular tool for implementing generic algorithms and data structures without loss of efficiency, bridging the gap between parametric and ad-hoc polymorphism. Since their initial development in Haskell, they now feature…

Programming Languages · Computer Science 2025-03-03 Dimi Racordon , Eugene Flesselle , Cao Nguyen Pham

Although deep learning models have been successfully applied to a variety of tasks, due to the millions of parameters, they are becoming increasingly opaque and complex. In order to establish trust for their widespread commercial use, it is…

Machine Learning · Computer Science 2018-11-13 Tanmayee Narendra , Anush Sankaran , Deepak Vijaykeerthy , Senthil Mani

We introduce Refinement Reflection, a new framework for building SMT-based deductive verifiers. The key idea is to reflect the code implementing a user-defined function into the function's (output) refinement type. As a consequence, at uses…

Programming Languages · Computer Science 2019-07-16 Niki Vazou , Anish Tondwalkar , Vikraman Choudhury , Ryan G. Scott , Ryan R. Newton , Philip Wadler , Ranjit Jhala

We consider the problem of classifying business process instances based on structural features derived from event logs. The main motivation is to provide machine learning based techniques with quick response times for interactive computer…

Machine Learning · Computer Science 2018-05-18 Markku Hinkka , Teemu Lehto , Keijo Heljanko , Alexander Jung

Linear constraints are the linear counterpart of Haskell's class constraints. Linearly typed parameters allow the programmer to control resources such as file handles and manually managed memory as linear arguments. Indeed, a linear type…

Programming Languages · Computer Science 2026-04-24 Arnaud Spiwack , Csongor Kiss , Jean-Philippe Bernardy , Nicolas Wu , Richard A. Eisenberg

In the logic programming paradigm, a program is defined by a set of methods, each of which can be executed when specific conditions are met during the current state of an execution. The semantics of these programs can be elegantly…

Logic in Computer Science · Computer Science 2024-10-02 Matteo Acclavio , Roberto Maieli

We show how security type systems from the literature of language-based noninterference can be represented more directly as predicates defined by structural recursion on the programs. In this context, we show how our uniform syntactic…

Cryptography and Security · Computer Science 2013-08-16 Andrei Popescu

Linear Programs (LP) are celebrated widely, particularly so in machine learning where they have allowed for effectively solving probabilistic inference tasks or imposing structure on end-to-end learning systems. Their potential might seem…

Artificial Intelligence · Computer Science 2022-03-30 Matej Zečević , Florian Peter Busch , Devendra Singh Dhami , Kristian Kersting

Grammar induction is the task of learning a grammar from a set of examples. Recently, neural networks have been shown to be powerful learning machines that can identify patterns in streams of data. In this work we investigate their…

Computation and Language · Computer Science 2018-06-27 Mor Cohen , Avi Caciularu , Idan Rejwan , Jonathan Berant

In call-by-value languages, some mutually-recursive value definitions can be safely evaluated to build recursive functions or cyclic data structures, but some definitions (let rec x = x + 1) contain vicious circles and their evaluation…

Programming Languages · Computer Science 2020-12-24 Alban Reynaud , Gabriel Scherer , Jeremy Yallop

Probabilistic programming languages (PPLs) allow programmers to construct statistical models and then simulate data or perform inference over them. Many PPLs restrict models to a particular instance of simulation or inference, limiting…

Programming Languages · Computer Science 2024-12-24 Minh Nguyen , Roly Perera , Meng Wang , Nicolas Wu

Native type systems are those in which type constructors are derived from term constructors, as well as the constructors of predicate logic and intuitionistic type theory. We present a method to construct native type systems for a broad…

Logic in Computer Science · Computer Science 2022-11-04 Christian Williams , Michael Stay

Using standard domain-theoretic fixed-points, we present an approach for defining recursive functions that are formulated in monadic style. The method works both in the simple option monad and the state-exception monad of Isabelle/HOL's…

Logic in Computer Science · Computer Science 2010-12-23 Alexander Krauss

We give a new characterization of the class of rational string functions from formal language theory using order-preserving interpretations with respect to a very weak monadic programming language. This refines the known characterization of…

Logic in Computer Science · Computer Science 2023-02-08 Siddharth Bhaskar , Jane Chandlee , Adam Jardine

Several practical tools for automatically verifying functional programs (e.g., Liquid Haskell and Leon for Scala programs) rely on a heuristic based on unrolling recursive function definitions followed by quantifier-free reasoning using SMT…

Logic in Computer Science · Computer Science 2026-05-25 Adithya Murali , Lucas Peña , Ranjit Jhala , P. Madhusudan

Refinement type checkers are a powerful way to reason about functional programs. For example, one can prove properties of a slow, specification implementation, porting the proofs to an optimized implementation that behaves the same. Without…

Programming Languages · Computer Science 2022-07-20 Niki Vazou , Michael Greenberg