computational semanticist. into modular synths and rum. aaronstevenwhite.io
Version control, structured merge, and CRDTs
Patch theory and structured-merge VCS (Roundy Darcs, Mimram-Di Giusto categorical patches, Angiuli-Morehouse-Licata-Harper homotopical patch theory, JDime, GumTree, Schürr triple graph grammars, Git); CRDTs and local-first sync (Shapiro et al., Kleppmann JSON-CRDT, Cambria 2020/2021, Kleppmann Local-First, Designing Data-Intensive Applications); content-addressed storage and distributed databases (Merkle, Dynamo, Cassandra, Dremel, PRISM).
21 cards
1mo
Algebraic data, bidirectional transformations, and structured merge
An annotated bibliography across five adjacent lines of research: 1. schemas as algebraic theories; 2. bidirectional lenses and profunctor optics; 3. format-preserving parsing and unparsing; 4. structured-merge version control; and 5. data exchange + cross-protocol translation
130 cards
2mo
Parsing, structured data, and schema languages
Parser generators and incremental parsing (tree-sitter, packrat, Spoofax, Wagner-Graham); format-preserving round-tripping (Augeas, BiYacc, resugaring, de Jonge-Visser layout preservation); wire-format and configuration-language specs (ATProto Lexicon, FHIR, GraphQL, OpenAPI, JSON Schema, Protocol Buffers, Avro, Parquet, MessagePack, WebAssembly, CUE, Dhall, Nickel, Starlark).
24 cards
2mo
Algebraic and categorical databases
Schemas as finitely-presented categories or generalised algebraic theories; instances as functors; data exchange, integration, and migration with categorical foundations. From Codd's relational model through Spivak's Σ⊣Δ⊣Π adjoint triple, CQL/AQL, ACSets, ologs, and Lu's multi-model framework, plus the Burstall-Goguen / Sannella-Tarlecki institutional structured-specification tradition that informs them.
18 cards
2mo
Lenses and bidirectional programming
The lens / bidirectional-transformation tradition: Foster combinators, Boomerang, symmetric and edit lenses (Hofmann-Pierce-Wagner), delta lenses (Diskin), parametric bidirectionalisation (Voigtländer), point-free algebraic reasoning (Mu-Hu-Takeichi, Pacheco-Cunha), profunctor optics in functional programming (van Laarhoven, Pickering-Gibbons-Wu, kmett, generic-lens, Boisseau-Gibbons), and the QVT/MDE bx perspective (Stevens, Czarnecki).
30 cards
2mo

www.moment.dev
Lies I was Told About Collaborative Editing, Part 2: Why we don't use Yjs / Moment devlog
idiolect.dev
idiolect

panproto.dev
panproto | schematic version control

doi.org
Specification of graph translators with triple graph grammars

doi.org
Fine-grained and accurate source code differencing | Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering

doi.org
Structured merge with auto-tuning: balancing precision and performance
idiolect.dev
idiolect

panproto.dev
panproto | schematic version control
github.com
bazelbuild/starlark
nickel-lang.org
Nickel
dhall-lang.org
The Dhall configuration language

cuelang.org
CUE

doi.org
A formulation of the simple theory of types | The Journal of Symbolic Logic | Cambridge Core
doi.org
Principal type-schemes for functional programs | Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages

doi.org
Internal type theory
prl.khoury.northeastern.edu
www.cs.cmu.edu
Practical Foundations for Programming Languages
doi.org
The Principal Type-Scheme of an Object in Combinatory Logic on JSTOR

panproto.dev
panproto | schematic version control
doi.org
Foundations of Algebraic Specification and Formal Software Development

doi.org
Institutions: abstract model theory for specification and programming | Journal of the ACM

doi.org
The semantics of clear, a specification language
dl.acm.org
Structured planning and debugging | Proceedings of the 5th international joint conference on Artificial intelligence - Volume 2
dash.harvard.edu
Functional Query Languages with Categorical Types

idiolect.dev
fieldwork
github.com
GitHub - idiolect-dev/idiolect: Mutual intelligibility for schema idiolects.
idiolect.dev
Introduction - idiolect
idiolect.dev
idiolect

panproto.dev
protolab
github.com
GitHub - panproto/panproto: One engine for schematic version control within and across any schema language.