Lineage
coeval takes each of its ideas from earlier work. This page names the sources.
| Idea of coeval | Source |
|---|---|
| An evaluator gets its parts as documents | John Shutt, the Kernel language and the thesis of Shutt on fexprs: operatives get their operands without evaluation |
| An evaluator must not look inside its parts | Mitchell Wand, “The Theory of Fexprs is Trivial” (1998). A summary is in the article on fexprs. |
| Finite syntax, and meaning by observation | Turi and Plotkin, Towards a Mathematical Operational Semantics (1997): syntax is an algebra, behavior is a coalgebra |
| A program for the syntax, an interpreter for the behavior | The pair of a free monad and a cofree comonad, in this series on interpreters |
| Data that goes down and up a tree | Donald Knuth, Semantics of Context-Free Languages (1968): inherited and synthesized attributes |
| References sideways, and equations from an ancestor | Görel Hedin, reference attribute grammars, in JastAdd |
| A formula at a position, and dataflow | Uustalu and Vene, the comonadic view of dataflow and attribute grammars |
| Constraints go down, sizes go up | The layout of Flutter |
| A schedule is separate from the task | Mokhov, Mitchell and Peyton Jones, Build Systems à la Carte (2018) |
| Names for the results of earlier steps | The paths of the states of AWS Step Functions, and the outputs of the steps of GitHub Actions |
| New kinds against new operations | William Cook, On Understanding Data Abstraction, Revisited (2009) |
| A kind with aspects | The concepts and aspects of JetBrains MPS |