In a sense, kinda? The function colour problem is that you can't call an async API from a non-async caller without modifying the entire call chain (or blocking the full thread). In async/await languages the conflict comes from changing the return types; the syntax is orthogonal.
Maybe in practice some properties of code are better off being whole-program than represented as types, even if they're less modular or harder to check.
Also thanks for the reference, I haven't touched Haskell in ages; I'm more of an F# and OCaml guy.
I think in the US that would colloquially be called an:
Outdoor mall
Mall alone being the 80s style indoor walkable variety. A 'strip mall' usually a single (often deformed to some degree) line of stores along a sidewalk next to a huge parking lot, also often with an island restaurant or small store that wants to stand out closer to the street edge of said lot.
Sometimes. “Mall” alone generally refers to a big indoor shopping space with many distinct stores; I'd probably call the outdoor version an... “outdoor mall”.
It's right there in the header, "Without boats, dreams dry up."
The full quote is "In civilizations without boats, dreams dry up, espionage takes the place of adventure and the police take the place of pirates," from his work "Of Other Spaces, Heterotopias."
I think this workflow is interesting and the title unfortunately clickbait-ish. We can read about things we find interesting without claiming X is better.
Impure actions use the IO monad like always in Haskell: https://hackage.haskell.org/package/base-4.21.0.0/docs/Contr... (or the higher-level async library)
I suppose an extreme version of the function coloring argument could be that all types are colors.