







Document languages like Markdown, LaTeX, PHP, and Liquid are widely used to generate digital documents like PDFs and web pages. Document languages often come with programming features like variables and macros to help authors write complex documents. However, these document programming features are often designed or implemented in problematic ways, especially by the standards of a modern programming language. For example:
A Core Calculus for Documents: Or, Lambda: The Ultimate Document
These papers may differ in formatting from the versions that appear in print. They are made available only to support the rapid dissemination of results; the printed versions, not these, should be considered definitive. The copyrights belong to their respective owners.
Markdown | Codecademy
Markdown is a lightweight markup language for creating formatted text using a plain-text editor.

Docs as Code: The Best Guide for Technical Writers
Recently, my work has involved writing a lot of documentation and. Doing this has introduced me to...

Typst: a possible LaTeX replacement
Typst is a program for document typesetting. It is especially well-suited to technical material [...]
Why You Shouldn’t Use “Markdown” for Documentation
“Markdown” is the most commonly used lightweight markup language on the internet. It is great for a subset of tasks, mainly blog posts and commenting. However, lately it has been adopted by the tec...

Why You Shouldn’t Use “Markdown” for Documentation
“Markdown” is the most commonly used lightweight markup language on the internet. It is great for a subset of tasks, mainly blog posts and commenting. However, lately it has been adopted by the tec...

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…

The HotJava Browser: A White Paper
Browsers allow people to treat the data spread across the Internet as a cohesive whole. Web browsers integrate the function of fetching the data with figuring out what it is and displaying it. One of the most important file types browsers understand is the hypertext markup language (HTML). HTML allows text data objects to embed simple formatting information and references to other objects.
Denicek: Computational Substrate for Document-Oriented End-User Programming
As part of the Digital Library's transition to Open Access, new features for researchers are available in the Premium Edition. Click here to learn more.

Textile Markup Language Documentation
The official documentation for Textile Markup Language - A humane web text generator.

A break from programming languages
This is a blog post I have been considering writing for a long time.
Gleam programming language
Discover a friendly language for scalable, type-safe systems. Gleam comes with compiler, build tool, formatter, editor integrations, and package manager all built in.

Elements of Programming
After ten years in print, our publisher decided against further printings and reverted the rights to us. Elements of Programming is now available in two forms: a free PDF and a no-markup paperback.
Spec-driven development: Using Markdown as a programming language when building with AI
I coded my latest app entirely in Markdown and let GitHub Copilot compile it into Go. This resulted in cleaner specs and faster iteration.

Arturo programming language
Arturo programming language: Simple, expressive & portable programming language for efficient scripting
Factor programming language
The Factor programming language is a concatenative, stack-based programming language with high-level features including dynamic types, extensible syntax, macros, and garbage collection. On a practical side, Factor has a full-featured library, supports many different platforms, and has been extensively documented.