1. 4

  2. 2

    I don’t know why they call C++ strict and Haskell lazy, it’s the wrong way round.

    Well, have you tried asking? Are these words defined anywhere? Who used them first?

    1. 4

      Are these words defined anywhere?

      Yep: https://en.wikipedia.org/wiki/Lazy_evaluation https://en.wikipedia.org/wiki/Strict_programming_language

      I think its just the author not knowing the history behind the terms.

      1. 10

        I read it as the author arguing more of a perspective thing than seriously arguing the terms should be renamed. I don’t think he misunderstands why Haskell’s evaluation order is called “lazy” (because it doesn’t evaluate arguments until they’re needed), but he’s arguing that if you look at it from the perspective of the outside function, the Haskell-style evaluation strategy is one where that function is “eager” to execute, because it starts evaluating to the extent it can, even before all its inputs are ready, instead of “lazily” waiting until all the input is batched up and ready to go before it starts doing anything.

        Not sure it’s all that useful to think of it that way either, but I think this is mainly an argument about metaphors.