1. 4
  1.  

  2. 2

    I’m not sure the argument here is actually convincing as to why I should use trees. So a List is a kind of binary tree, ok. But that doesn’t tell me if always viewing it as a tree is actually what I want. If the answer is: parallelism then fine, but what am I giving up for the parallelism win? I like the idea of a tree being my base structure but I’m not convinced it’s the right choice yet.

    1. 1

      Best for me to just link:

      https://github.com/bitemyapp/learnhaskell/blob/master/dialogues.md#magma-parallelism-free-monoid

      The thread of thought began with Guy Steele’s talk here: http://vimeo.com/6624203

      Edward’s comment in my link is not to be missed.

      See the rest of the thread here: http://www.reddit.com/r/haskell/comments/2corq6/algebraic_terraforming_trees_from_magma/

      Also: https://hackage.haskell.org/package/reducers

      I don’t think anybody’s advocating that languages flip their standard libs around. In the case of Haskell, it’s normal to have parallel universe Prelude'ish APIs wrapped around different sets of assumptions.

      Cf. String/Text/ByteString, []/Map/Set/HashMap/HashSet