
"I have not written this complaint until now because I have been waiting
for unmistakable evidence, a smoking gun, a red hand so caught that you
cannot explain away,"
It's not a murder trial! The number-one nice thing about the Haskell
community is that they _thoroughly_ listen to people. I think you'd get a
similarly informative discussion, sending just the second half of this
email.
That said, 2 points:
On Sat, Dec 24, 2011 at 1:49 PM, Dan Doel
[...] I think it's good to be clear on all these specifics, and people could do with a better recognition of the difference between (non-)strict and (lazy)eager (hint: you can have an eager, non-strict language). [...]
+1. I'm pretty sure _none_ of the Haskell texts have a definitive comparison of strict, non-strict, lazy, and eager. The Haskell Wiki has this (and only this) to say about Eager Evaluation: "Eager evaluation is an implementation of the strict semantics as can be found in OCaml and usually in imperative languages. A kind of opposite is lazy evaluation." [0] We can do better. On the other hand: I'd _strongly_ argue against "making up our minds" about definitions within the Haskell community. Most of these concepts aren't Haskell-specific. An example of something to avoid is our definitions of "concurrency" and "parallellism." We as a community have specific, good definitions of each term. [1] So does the Erlang community. [2] Yet the definitions don't have anything to do with each other, which makes talking across communities more difficult. amindfv / Tom [0] http://www.haskell.org/haskellwiki/Eager_evaluation [1] http://learnyousomeerlang.com/the-hitchhikers-guide-to-concurrency#dont-pani..., paragraph 4 [2] http://book.realworldhaskell.org/read/concurrent-and-multicore-programming.h..., "Defining concurrency and parallelism"