
19 May
2009
19 May
'09
6:14 p.m.
I've seen the following language used: - "computations" - "actions" - "effects" - "context" (For example, a functor is a context, and fmap applies a function to an object in that context without changing the context.) One words that seem to come up in Haskell are "algorithm" and "procedure." For example, a monad is sometimes called a "computation" or an "effect", but I've not seen it called an "algorithm." Can someone elaborate on these terms and why they are used? What is the difference between a computation and an algorithm? The word "effect" has a fairly obvious meaning (like an IO side-effect) but I suspect there's more to it. Why is the word "context" important, and when it is more appropriate than "container"? thanks, Mike