Sources & References
Purpose: Comprehensive bibliography for all theoretical frameworks, patterns, and concepts covered in this codex. Organized by topic area for easy research and further study.
Last Updated: 2026-01-07
Table of Contents
- Category Theory & Type Theory
- Functional Programming
- Concurrency & Parallelism
- Software Architecture & Design Patterns
- Domain-Driven Design
- Advanced Mathematics for Programming
- Complex Systems & Emergence
- Evolutionary Computation & Genetic Algorithms
- Programming Language Theory
- Distributed Systems
- Online Resources & Documentation
- Quick References
Category Theory & Type Theory
Foundational Books
Category Theory for Programmers by Bartosz Milewski
- URL: https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
- Free online book with video lectures
- Best introduction to category theory for software engineers
- Covers: functors, natural transformations, monads, Yoneda lemma, Kan extensions
Categories for the Working Mathematician by Saunders Mac Lane
- ISBN: 978-0387984032
- Springer Graduate Texts in Mathematics
- The definitive graduate-level textbook on category theory
- Comprehensive coverage of limits, adjunctions, monoidal categories
Basic Category Theory by Tom Leinster
- arXiv: https://arxiv.org/abs/1612.09375
- Cambridge Studies in Advanced Mathematics
- Accessible introduction with programming-relevant examples
Conceptual Mathematics: A First Introduction to Categories by F. William Lawvere, Stephen H. Schanuel
- ISBN: 978-0521719162
- Cambridge University Press
- Gentle introduction emphasizing intuition over formalism
Academic Papers
Notions of Computation and Monads by Eugenio Moggi (1991)
- DOI: 10.1016/0890-5401(91)90052-4
- Information and Computation, Vol 93, Issue 1
- Foundational paper on monads for programming language semantics
Applicative Programming with Effects by Conor McBride, Ross Paterson (2008)
- Journal of Functional Programming, Vol 18, Issue 1
- DOI: 10.1017/S0956796807006326
- Introduces applicative functors
Composing Monads by Mark P. Jones, Luc Duponcheel (1993)
- Research Report YALEU/DCS/RR-1004
- Yale University Department of Computer Science
- Foundational work on monad transformers
Comonads for User Interfaces by Phil Freeman (2016)
- Blog: https://blog.functorial.com/posts/2016-08-07-Comonads-As-Spaces.html
- Practical application of comonads to UI programming
Profunctor Optics: Modular Data Accessors by Matthew Pickering, Jeremy Gibbons, Nicolas Wu (2017)
- arXiv: https://arxiv.org/abs/1703.10857
- Unified framework for lenses, prisms, traversals
Type Theory
Types and Programming Languages by Benjamin C. Pierce
- ISBN: 978-0262162098
- MIT Press
- Comprehensive introduction to type systems
Practical Foundations for Programming Languages by Robert Harper
- ISBN: 978-1107150300
- Cambridge University Press
- Graduate-level programming language theory
Homotopy Type Theory: Univalent Foundations of Mathematics (2013)
- URL: https://homotopytypetheory.org/book/
- Free online book from the Univalent Foundations Program
- Basis for “Homotopy-Theoretic Refactoring” pattern
Functional Programming
Books
Functional Programming in Scala by Paul Chiusano, Rúnar Bjarnason
- ISBN: 978-1617290657
- Manning Publications
- Comprehensive FP principles
Purely Functional Data Structures by Chris Okasaki
- ISBN: 978-0521663502
- Cambridge University Press
- Immutable data structures
Learn You a Haskell for Great Good! by Miran Lipovača
- URL: http://learnyouahaskell.com/
- Free online book
Real World Haskell by Bryan O’Sullivan, Don Stewart, John Goerzen
- URL: http://book.realworldhaskell.org/
- Free online book
Concurrency & Parallelism
Books
The Art of Multiprocessor Programming by Maurice Herlihy, Nir Shavit
- ISBN: 978-0124159501
- Morgan Kaufmann, 2nd Edition (2020)
- Comprehensive coverage of concurrent algorithms
Programming Rust by Jim Blandy, Jason Orendorff, Leonora F. S. Tindall
- ISBN: 978-1492052593
- O’Reilly Media, 2nd Edition (2021)
- Chapter on concurrency
Rust Atomics and Locks by Mara Bos
- ISBN: 978-1098119447
- O’Reilly Media (2023)
- PRIMARY REFERENCE for rust-concurrency appendix
- Memory ordering, atomic operations
Java Concurrency in Practice by Brian Goetz et al.
- ISBN: 978-0321349606
- Addison-Wesley (2006)
- Classic text on concurrent programming
Papers
C11 Standard: Memory Model and Atomic Operations
- ISO/IEC 9899:2011
- Defines memory ordering semantics
Threads Cannot Be Implemented as a Library by Hans-J. Boehm (2005)
- PLDI ‘05
- DOI: 10.1145/1065010.1065042
Wait-Free Synchronization by Maurice Herlihy (1991)
- ACM TOPLAS
- DOI: 10.1145/114005.102808
Linearizability: A Correctness Condition for Concurrent Objects by Maurice Herlihy, Jeannette Wing (1990)
- ACM TOPLAS
- DOI: 10.1145/78969.78972
Rust Documentation
Rustonomicon: The Dark Arts of Unsafe Rust
- URL: https://doc.rust-lang.org/nomicon/
- Memory model, atomics
Rust Atomic Ordering Documentation
- URL: https://doc.rust-lang.org/std/sync/atomic/enum.Ordering.html
- Memory ordering semantics
Software Architecture & Design Patterns
Classic Texts
Design Patterns: Elements of Reusable Object-Oriented Software by Gang of Four
- ISBN: 978-0201633610
- Addison-Wesley (1994)
- The foundational design patterns book
Patterns of Enterprise Application Architecture by Martin Fowler
- ISBN: 978-0321127420
- Addison-Wesley (2002)
Enterprise Integration Patterns by Gregor Hohpe, Bobby Woolf
- ISBN: 978-0321200686
- Addison-Wesley (2003)
- Essential for event-driven architectures
Clean Architecture by Robert C. Martin
- ISBN: 978-0134494166
- Prentice Hall (2017)
- Hexagonal architecture, ports and adapters
Hexagonal Architecture
Hexagonal Architecture by Alistair Cockburn (2005)
- URL: https://alistair.cockburn.us/hexagonal-architecture/
- Original article introducing the pattern
Growing Object-Oriented Software, Guided by Tests by Steve Freeman, Nat Pryce
- ISBN: 978-0321503627
- Addison-Wesley (2009)
Reactive & Event-Driven
Reactive Design Patterns by Roland Kuhn, Brian Hanafee, Jamie Allen
- ISBN: 978-1617291807
- Manning Publications (2017)
Designing Data-Intensive Applications by Martin Kleppmann
- ISBN: 978-1449373320
- O’Reilly Media (2017)
- Essential reading for modern architectures
Domain-Driven Design
Books
Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans
- ISBN: 978-0321125215
- Addison-Wesley (2003)
- The original DDD book
Implementing Domain-Driven Design by Vaughn Vernon
- ISBN: 978-0321834577
- Addison-Wesley (2013)
- Practical implementation guide
Domain Modeling Made Functional by Scott Wlaschin
- ISBN: 978-1680502541
- Pragmatic Bookshelf (2018)
- DDD with functional programming
Advanced Mathematics for Programming
Category Theory (Mathematical)
Category Theory by Steve Awodey
- ISBN: 978-0199237180
- Oxford Logic Guides
Category Theory in Context by Emily Riehl
- ISBN: 978-0486820804
- Dover Publications
Algebraic Topology
Algebraic Topology by Allen Hatcher
- ISBN: 978-0521795401
- Cambridge University Press
- Free PDF: https://pi.math.cornell.edu/~hatcher/AT/ATpage.html
- Basis for “Homological Debugging” pattern
Topology by James Munkres
- ISBN: 978-0131816299
- Pearson, 2nd Edition
Differential Geometry
Introduction to Smooth Manifolds by John Lee
- ISBN: 978-1441999818
- Springer Graduate Texts in Mathematics
- Foundation for “Differential Code Evolution”
Sheaf Theory
Sheaves in Geometry and Logic by Saunders Mac Lane, Ieke Moerdijk
- ISBN: 978-0387977102
- Springer
- Basis for “Sheaf-Theoretic Distributed Systems”
An Invitation to Applied Category Theory by Brendan Fong, David Spivak
- ISBN: 978-1108711821
- Cambridge University Press
- Free PDF: https://arxiv.org/abs/1803.05316
Operad Theory
Operads in Algebra, Topology and Physics by Martin Markl, Steve Shnider, Jim Stasheff
- ISBN: 978-0821843628
- American Mathematical Society
- Foundation for “Operadic UI Composition”
Quantum Probability
Quantum Theory: Concepts and Methods by Asher Peres
- ISBN: 978-0792336327
- Springer
Quantum Computation and Quantum Information by Michael A. Nielsen, Isaac L. Chuang
- ISBN: 978-1107002173
- Cambridge University Press
- Standard quantum computing textbook
Complex Systems & Emergence
Books
The Nature of Code by Daniel Shiffman
- URL: https://natureofcode.com/
- Free online book with Processing examples
- PRIMARY INSPIRATION for software-as-life.md
- Vectors, forces, autonomous agents, cellular automata, genetic algorithms
Complexity: A Guided Tour by Melanie Mitchell
- ISBN: 978-0199798100
- Oxford University Press
Emergence: From Chaos to Order by John H. Holland
- ISBN: 978-0738201429
- Basic Books
Gödel, Escher, Bach: An Eternal Golden Braid by Douglas Hofstadter
- ISBN: 978-0465026562
- Basic Books
- Pulitzer Prize winner
A New Kind of Science by Stephen Wolfram
- ISBN: 978-1579550080
- Wolfram Media
The Algorithmic Beauty of Plants by Przemyslaw Prusinkiewicz, Aristid Lindenmayer
- ISBN: 978-0387946764
- Springer
- Free PDF: http://algorithmicbotany.org/papers/#abop
Papers
More Is Different by P.W. Anderson (1972)
- Science, Vol 177, Issue 4047
- DOI: 10.1126/science.177.4047.393
- Foundational paper on emergence
The Architecture of Complexity by Herbert A. Simon (1962)
- Proceedings of the American Philosophical Society
Evolutionary Computation & Genetic Algorithms
Books
An Introduction to Genetic Algorithms by Melanie Mitchell
- ISBN: 978-0262631853
- MIT Press
Genetic Programming by John R. Koza
- ISBN: 978-0262111706
- MIT Press
Adaptation in Natural and Artificial Systems by John H. Holland
- ISBN: 978-0262082136
- MIT Press (1992 edition)
- Original work on genetic algorithms
Programming Language Theory
Books
Programming Language Pragmatics by Michael L. Scott
- ISBN: 978-0124104099
- Morgan Kaufmann, 4th Edition
Essentials of Programming Languages by Daniel P. Friedman, Mitchell Wand
- ISBN: 978-0262062794
- MIT Press, 3rd Edition
Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman
- ISBN: 978-0262510871
- MIT Press, 2nd Edition
- Free online: https://mitpress.mit.edu/sites/default/files/sicp/index.html
Distributed Systems
Books
Designing Data-Intensive Applications by Martin Kleppmann
- ISBN: 978-1449373320
- O’Reilly Media (2017)
- Essential reading
Distributed Systems by Maarten van Steen, Andrew S. Tanenbaum
- ISBN: 978-1543057386
- 3rd Edition (2017)
Database Internals by Alex Petrov
- ISBN: 978-1492040347
- O’Reilly Media (2019)
Consensus Papers
Paxos Made Simple by Leslie Lamport (2001)
- ACM SIGACT News
In Search of an Understandable Consensus Algorithm (Raft) by Diego Ongaro, John Ousterhout (2014)
- USENIX ATC ‘14
- URL: https://raft.github.io/
CAP Twelve Years Later by Eric Brewer (2012)
- IEEE Computer, Vol 45, Issue 2
Online Resources & Documentation
Interactive Learning
3Blue1Brown by Grant Sanderson
- YouTube: https://www.youtube.com/c/3blue1brown
- Visual explanations of mathematics
Category Theory for Programmers Video Series by Bartosz Milewski
- YouTube playlist of video lectures
Documentation
Rust Language Documentation
TypeScript Handbook
PHP Documentation
Blogs & Communities
Lambda the Ultimate
- URL: http://lambda-the-ultimate.org/
- Programming language theory blog
InfoQ
- URL: https://www.infoq.com/
- Software architecture, distributed systems
Academic Resources
arXiv Computer Science
- URL: https://arxiv.org/archive/cs
- Preprints of computer science papers
ACM Digital Library
- URL: https://dl.acm.org/
IEEE Xplore
Quick References
Existing References (from original file)
Wikipedia References
- Category Theory
- Monad (functional programming)
- Concurrent computing
- Memory model (programming)
- Design Patterns
- Domain-driven design
- Cellular automaton
- Genetic algorithm
- CAP theorem
Direct Inspirations for This Codex
The Nature of Code by Daniel Shiffman
- PRIMARY INSPIRATION for software-as-life.md
- Chapters referenced:
- Vectors & Forces → Physics section
- Oscillation → Cause and Effect
- Particle Systems → Emergence
- Autonomous Agents → Boids flocking
- Cellular Automata → Conway’s Life, emergence
- Genetic Algorithms → Evolution section
Category Theory for Programmers by Bartosz Milewski
- PRIMARY INSPIRATION for category theory appendices
- Bridge between mathematics and programming
Homotopy Type Theory Book
- INSPIRATION for Homotopy-Theoretic Refactoring
- Programs as spaces, refactorings as paths
Rust Atomics and Locks by Mara Bos
- PRIMARY REFERENCE for rust-concurrency appendix
Citation Examples
Book
Milewski, B. (2019). Category Theory for Programmers. Available online: https://bartoszmilewski.com/
Paper
Moggi, E. (1991). “Notions of Computation and Monads.” Information and Computation, Vol 93, Issue 1, pp. 55-92.
Online
Shiffman, D. (2024). The Nature of Code. https://natureofcode.com/. Accessed: 2026-01-07
Version History
v1.0 (2026-01-07):
- Initial compilation
- 100+ sources across all codex topics
- Organized by subject area
- Preserved existing references
End of Sources Document
These sources represent decades of accumulated knowledge in computer science, mathematics, and software engineering.