English
Related papers

Related papers: Live Functional Programming with Typed Holes

200 papers

Free monads (and their variants) have become a popular general-purpose tool for representing the semantics of effectful programs in proof assistants. These data structures support the compositional definition of semantics parameterized by…

Programming Languages · Computer Science 2022-07-28 Yao Li , Stephanie Weirich

This paper describes a simpler way for programmers to reason about the correctness of their code. The study of semantics of logic programs has shown strong links between the model theoretic semantics (truth and falsity of atoms in the…

Logic in Computer Science · Computer Science 2014-11-17 Lee Naish

While functional programming is an efficient way to express complex software, functional programming languages have a steep learning curve. Haskell can be challenging to learn for students who were only introduced to imperative programming.…

Programming Languages · Computer Science 2019-06-28 Boldizsár Németh , Eunjong Choi , Erina Makihara , Hajimu Iida

We describe an application of Prolog: a type checking tool for the Q functional language. Q is a terse vector processing language, a descendant of APL, which is getting more and more popular, especially in financial applications. Q is a…

Programming Languages · Computer Science 2011-12-19 János Csorba , Zsolt Zombori , Péter Szeredi

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

We present a type theory combining both linearity and dependency by stratifying typing rules into a level for logics and a level for programs. The distinction between logics and programs decouples their semantics, allowing the type system…

Programming Languages · Computer Science 2025-10-08 Qiancheng Fu , Hongwei Xi

User defined recursive types are a fundamental feature of modern functional programming languages like Haskell, Clean, and the ML family of languages. Properties of programs defined by recursion on the structure of recursive types are…

Programming Languages · Computer Science 2013-12-11 James Caldwell

LF is a dependent type theory in which many other formal systems can be conveniently embedded. However, correct use of LF relies on nontrivial metatheoretic developments such as proofs of correctness of decision procedures for LF's…

Logic in Computer Science · Computer Science 2010-05-04 Christian Urban , James Cheney , Stefan Berghofer

Datalog has become a popular language for writing static analyses. Because Datalog is very limited, some implementations of Datalog for static analysis have extended it with new language features. However, even with these features it is…

Programming Languages · Computer Science 2018-09-18 Aaron Bembenek , Stephen Chong

Highly interactive development environments (HIDEs) enable uninterrupted development flow through continuous program evolution and rapid hypothesis checking. However, traditional testing approaches -- typically executed separately via CLI…

Software Engineering · Computer Science 2025-08-05 Andrew Tropin

Software fuzzing has become a cornerstone in automated vulnerability discovery, yet existing mutation strategies often lack semantic awareness, leading to redundant test cases and slow exploration of deep program states. In this work, I…

Cryptography and Security · Computer Science 2025-11-07 Shiyin Lin

We extend a semantic verification framework for hybrid systems with the Isabelle/HOL proof assistant by an algebraic model for hybrid program stores, a shallow expression model for hybrid programs and their correctness specifications, and…

Logic in Computer Science · Computer Science 2021-06-14 Simon Foster , Jonathan Julián Huerta y Munive , Mario Gleirscher , Georg Struth

We consider a zero-shot semantic parsing task: parsing instructions into compositional logical forms, in domains that were not seen during training. We present a new dataset with 1,390 examples from 7 application domains (e.g. a calendar or…

Computation and Language · Computer Science 2019-11-21 Ofer Givoli , Roi Reichart

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

Flow-sensitive type systems offer an elegant way to ensure memory-safety in programming languages. Unfortunately, their adoption in new or existing languages is often hindered by a painful effort to implement or integrate them into…

Programming Languages · Computer Science 2021-06-24 Dimitri Racordon , Aurélien Coet , Didier Buchs

Automatically generating formal specifications including loop invariants, preconditions, and postconditions for legacy code is critical for program understanding, reuse and verification. However, the inherent complexity of control and data…

Software Engineering · Computer Science 2026-01-21 Fanpeng Yang , Xu Ma , Shuling Wang , Xiong Xu , Qinxiang Cao , Naijun Zhan , Xiaofeng Li , Bin Gu

Traditionally, in linearly typed languages, consuming a linear resource is synonymous with its syntactic occurrence in the program. However, under the lens of non-strict evaluation, linearity can be further understood semantically, where a…

Programming Languages · Computer Science 2025-11-26 Rodrigo Mesquita , Bernardo Toninho

Debugging lazy functional programs poses serious challenges. In support of the "stop, examine, and resume" debugging style of imperative languages, some debugging tools abandon lazy evaluation. Other debuggers preserve laziness but present…

Programming Languages · Computer Science 2011-08-25 Stephen Chang , John Clements , Eli Barzilay , Matthias Felleisen

Large scale real number computation is an essential ingredient in several modern mathematical proofs. Because such lengthy computations cannot be verified by hand, some mathematicians want to use software proof assistants to verify the…

Numerical Analysis · Mathematics 2025-10-20 Russell O'Connor

Production software oftentimes suffers from the issue of performance inefficiencies caused by inappropriate use of data structures, programming abstractions, and conservative compiler optimizations. It is desirable to avoid unnecessary…

Machine Learning · Computer Science 2020-11-20 Yixin Guo , Pengcheng Li , Yingwei Luo , Xiaolin Wang , Zhenlin Wang
‹ Prev 1 4 5 6 7 8 10 Next ›