Effect Systems vs. Print Debugging: A Pragmatic Solution
A discussion of how the Flix type and effect system supports print-debugging. "Every lie we tell incurs a debt to the truth. Sooner or later, that debt is paid." — Valery Legasov (Jared Harris, Chernobyl 2019) Lying to a type system works the same way: the truth eventually comes out. In memory-safe languages, that usually means as a runtime error (e.g. a ClassCastException , a TypeError: foo is not a function , and so on). In memory-unsafe languages, the consequences can be more dire: corrupt