Funktionsargumente sind keine Funktionsfarben
Function Arguments Are Not Function Colors
In seinem Essay widerlegt der Autor die These, dass Funktionsargumente wie Go's context.Context eine Art Funktionsfarbe darstellen. Er definiert Farben anhand der Form des Abhängigkeitsgraphen: Eine Farbe zwingt alle Aufrufer im Call-Stack zur Änderung, während normale Parameteränderungen gekapselt werden können. Anhand von Go, JavaScript und Haskell zeigt er, dass Async nicht immer eine Farbe ist und dass Sprachen wie Haskell partielle Farben erlauben. Der Beitrag bietet ein klares Kriterium zur Unterscheidung und argumentiert, dass die meisten Parameteränderungen lokal bleiben.
Eine Farbänderung entkommt dieser Kapselung: Alle Funktionen darüber im Stack müssen ihre Anforderungen erfüllen.