[Haskell-beginners] "computation", "action"

Michael P Mossey mpm at alumni.caltech.edu
Tue May 19 18:14:12 EDT 2009


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


More information about the Beginners mailing list