







Here's a rather cool trick we noticed during a recent discussion in the NUS PLSE Lab.1
Finite-Choice Logic Programming | Proceedings of the ACM on Programming Languages
Logic programming, as exemplified by datalog, defines the meaning of a program as its unique smallest model: the deductive closure of its inference rules. However, many problems call for an enumeration of models that vary along some set of choices while ...


A modal analysis of staged computation | Journal of the ACM
We show that a type system based on the intuitionistic modal logic S4 provides an expressive framework for specifying and analyzing computation stages in the context of typed λ-calculi and functional languages. We directly demonstrate the sense in which ...

Structured CoT: Shorter Reasoning with a Grammar File
Constrain only the think block with a tiny grammar. On Qwen3.6 coding evals, explicit reasoning gets 22x-43x shorter without losing pass@1 in these runs.
Packrat parsing: | Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
For decades we have been using Chomsky's generative system of grammars, particularly context-free grammars (CFGs) and regular expressions (REs), to express the syntax of programming languages and protocols. The power of generative grammars to express ...

Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem: ACM Transactions on Programming Languages and Systems: Vol 29, No 3
We propose a novel approach to the view-update problem for tree-structured data: a domain-specific programming language in which all expressions denote bidirectional transformations on trees. In one direction, these transformations---dubbed lenses---map ...

Delta Lenses over Inductive Types
Existing bidirectional languages are either state-based or operation-based, depending on whether they represent updates as mere states or as sequences of edit operations.In-between both worlds are delta-based frameworks, where updates are represented using alignment relationships between states.In this paper, we formalize delta lenses over inductive types using dependent type theory and develop a point-free delta lens language with an explicit separation of shape and data.In contrast with the already known issue of data alignment, we identify the new problem of shape alignment and solve it by lifting standard recursion patterns such as folds and unfolds to delta lenses that use alignment to infer meaningful shape updates.
Darcs | Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
We at Binghamton intend, at least for ourselves (and I believe Alberta at least expressed this interest) to abstract whatever we have that we feel we would be proud enough to make available to other people in printed form. We would hope by somewhere in ...

Datalog
Datalog is a declarative logic programming language. While it is syntactically a subset of Prolog, Datalog generally uses a bottom-up rather than top-down evaluation model. This difference yields significantly different behavior and properties from Prolog. It is often used as a query language for deductive databases. Datalog has been applied to problems in data integration, networking, program analysis, and more.
schildep/verified-3d-mesh-intersection
Formally verified 3D mesh intersection - trust 93 lines of spec, not 1000+ lines of AI-written code
Satisfiability Modulo Theories: A Beginner’s Tutorial — Satisfiability Modulo Theories: A Beginner's Tutorial documentation
Great minds have long dreamed of creating machines that can function as general-purpose problem solvers. Satisfiability modulo theories (SMT) has emerged as one pragmatic realization of this dream, providing significant expressive power and automation. This tutorial is a beginner’s guide to SMT. It includes an overview of SMT and its formal foundations, a catalog of the main theories used in SMT solvers, and illustrations of how to obtain models and proofs. Throughout the tutorial, examples and exercises are provided as hands-on activities for the reader. They can be run using either Python or the SMT-LIB language, using either the cvc5 or the z3 SMT solver.

The Case for Software Craftsmanship in the Era of Vibes

One Developer, Two Dozen Agents, Zero Alignment
AI assisted coding (by Ronen Tamari) — Semble

AURI for Developers | AI-Native AppSec Platform | Endor La
We Got Claude to Fine-Tune an Open Source LLM
AI* and coding (by あ) — Semble
Where there is emerging technology, there are creative technologists playing in the space between art and tech 🌻💻🧑🎨 Turns out play and…
It was a huge honor to present the opening keynote address at #SIGIR2026 and to talk about the need for IR to resist uncritical adoption of…
CSDL | IEEE Computer Society

Informatics of the Oppressed
Reflective design

Algorithmic Monocultures in Hiring - Stanford Digital Economy Lab
Semble Multi-User Graph Explorer