A brief overview of literate programming: the combination of a programming language where the code is embedded in the documentation.
2022-10-28
A concept coined by Donald Knuth.
Literate Programming combines programming language with documentation language by embedding code blocks in the documentation. The embedded code blocks as tangled, or compiled, into a file the target programming language understands.
Most developers write the documentation as comments (usually after the code has been written) in the source code. Literate Programming flips the paradigm so that the documentation informs the code. The documentation becomes the source of truth that leads to the code.
As a trivial example, I write my css
for my Obsidian Styles in a Markdown file (it's the Obsidian Styles source file!) and use a Python executable called md-tangle
to generate a css
file.
Here's an example gif of how that looks in practice.
In this gif, I demonstrate...
md-tangle
to generate minimal-plus.css
from the Obsidian Styles noteHey, I'm Chase. I help aspiring entrepreneurs and makers turn their ideas into digital products and apps.
Subscribe to my Newsletter
Every other week I publish the Curiously Crafted newsletter.
In it, I explore the intersection of curiosity and craft: the people who make stuff, what they make and the way they pursue the craft of making.