Andrew Coppin wrote:
Hmm, interesting. Applicative and Traversable are two classes I've never used and don't really understand the purpose of.

Their main purpose is to avoid the list bias so prevalent from the Lispish side of FP. Namely, there are many different kinds of collections which can be traversed or folded in ways similar to lists, the Foldable and Traversable classes give a common interface for all those collections thereby removing the excuse of using lists because they have a nicer/more-FP interface than Set, Map, Sequence,...

More abstractly, they capture essential properties of concrete functors which represent containers. So for folks who think of functors as (only) being containers, these are the methods they expect to have.


I have no idea what hsc2hs is.

One of the libraries for facilitating bindings between C and Haskell. Edward Yang is giving a general discussion[0] of the many libraries for C--Haskell binding and how they compare.


I keep hearing finger trees mentioned, but only in connection to papers that I can't access.

Check out Data.Sequence[1] and Data.FingerTree[2] for canonical examples. There's also Edward Kmett's Data.Rope[3] (not to be confused with Pierre-Etienne Meunier's Data.Rope[3']). Also, see apfelmus's post [4] about finger trees and monoids for a more general perspective.


[0] http://blog.ezyang.com/2010/06/the-haskell-preprocessor-hierarchy/
[1] http://hackage.haskell.org/package/containers
[2] http://hackage.haskell.org/package/fingertree
[3] http://hackage.haskell.org/package/rope
[3'] http://hackage.haskell.org/package/Data-Rope
[4] http://apfelmus.nfshost.com/articles/monoid-fingertree.html

--
Live well,
~wren
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to