Blog.
Practical explanations of PFCL. The formal specifications live at /totality, /purity, and /effects-as-data; posts here explain what those specifications mean and why they are what they are.
-
3 July 2026
Why every PFCL function terminates
Most languages treat termination as the programmer's problem. PFCL enforces it at load time — if the catalog loads, every composed function in it terminates. Fenced recursion, witnessed exceptions, one honest escape hatch, and verdicts a third-party consumer reproduces locally.
Read the post → · formal spec at /totality
-
8 June 2026
Why I made the module system a hash map
Functions don't live in libraries or packages. They live in a content-addressed catalog of plain YAML — identity is the SHA-256 of the typed source body, names are aliases to hashes, and there is no import, no package manager, no versioning. The reasoning behind that choice.