Skip to content
Tech News
← Back to articles

Essay Argues Function Coloring Isn't the Same as Ordinary Parameters

read original get The Go Programming Language (Donovan & Kernighan) → more articles
GoKawiil Brief

A programming-theory essay pushes back on the claim that any threaded function argument, such as Go's context.Context, qualifies as a 'function color' like async/await. The author argues that if every parameter counted as a color, the concept wouldn't have needed inventing decades after functions themselves existed, and proposes analyzing coloring instead as a question of how a change to one function propagates through the call graph to its callers.

Why It Matters

GoKawiil's interpretation of the reporting above, not reported fact.

The function-color debate shapes how language designers think about async/await, effects systems, and API ergonomics, so getting the definition right affects future language design choices. Conflating ordinary parameter-passing with true coloring could muddy arguments used to justify or criticize language features like async syntax.

Key Takeaways
Worth a Look

The Go Programming Language (Donovan & Kernighan) — The article digs into Go's context.Context and how arguments thread through call graphs — exactly the kind of design detail this book explains from the ground up. Donovan and Kernighan's classic is a great desk reference for reasoning about Go's concurrency and API conventions.

See The Go Programming Language (Donovan & Kernighan) on Amazon → Affiliate link — we may earn a commission on purchases, at no extra cost to you. Product picked by AI based on this article; it is not a tested recommendation.

Source: jerf.org, 2026-09-08

Published there as: “Function Arguments Are Not Function Colors”

Read the original report → The summary and analysis above are GoKawiil's own, written from reporting by the source above. Facts and quotes belong to the original publisher.