







PROGRAMS WITH COMMON SENSE

quint-co/quint
An executable specification language with delightful tooling based on the temporal logic of actions (TLA)
Coeffects: Context-aware programming languages
Interactive essay that explains theory of coeffects and lets you type-check and run sample programs.
The semantics of clear, a specification language
This paper gives a semantics for the Clear language for specifying problems and programs, described by Burstall and Goguen in 1977. A blend of denotational semantics with categorical ideas is used.

Practical Foundations for Programming Languages
A Coming Revolution in Metaprogramming | Will Crichton
A single programming language is no longer enough. I predict that soon, the best programmers will fluently move between languages and the best languages will interoperate well with others. This interoperability will likely stem from strong metaprogramming facilities. I examine how we might build a programmable compiler and look at recent work toward that end.

Defining the common primitive — Tonk
Our beta test results have shown that Tonk's system for small software was one of many use cases, and that there is a common primitive between them all. A tonk space is data at a link, with its structure, views and rules. People, agents and systems read and write it with the permissions in the link.

Programming Language Foundations in Agda – Table of Contents
This book is an introduction to programming language theory using the proof assistant Agda.
What Kind of Programming is Natural Language Programming?
In previous posts I’ve written about Natural Language Programming, Dijkstra’s Ghost – the End of The Symbolic Supremacy and Ephemeral Editable Specifications (aka Extract, Edit, A…

AFFiNE — Open-Source Knowledge Base Software
AFFiNE is the open-source Notion & Miro alternative — combining docs, whiteboards, databases, and AI in one local-first workspace. Free for teams.

Introduction
The Temper programming language for solving problems once via ubiquitous libraries.
A Pattern Language for Interfaces | Notion
System → Programs → Apps

GATlab: Modeling and Programming with Generalized Algebraic Theories
Categories and categorical structures are increasingly recognized as useful abstractions for modeling in science and engineering. To uniformly implement category-theoretic mathematical models in software, we introduce GATlab, a domain-specific language for algebraic specification embedded in a technical programming language. GATlab is based on generalized algebraic theories (GATs), a logical system extending algebraic theories with dependent types so as to encompass category theory. Using GATlab, the programmer can specify generalized algebraic theories and their models, including both free models, based on symbolic expressions, and computational models, defined by arbitrary code in the host language. Moreover, the programmer can define maps between theories and use them to declaratively migrate models of one theory to models of another. In short, GATlab aims to provide a unified environment for both computer algebra and software interface design with generalized algebraic theories. In this paper, we describe the design, implementation, and applications of GATlab.
