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

Jason Dusek jason.dusek at gmail.com
Tue May 19 19:27:00 EDT 2009


2009/05/19 Michael P Mossey <mpm at alumni.caltech.edu>:
> For example, a monad is sometimes called a "computation" or an
> "effect", but I've not seen it called an "algorithm."

  There is a difference between a monad and monadic value --
  just as there is a difference between "List" as a structure
  and a particular list as an instantiation of that structure.

> Can someone elaborate on these terms and why they are used?
> What is the difference between a computation and an algorithm?

  This is a little like saying, what is the difference between
  an algorithm and a program? The term "algorithm" denotes not
  only a sequence of instructions to perform but also a solution
  (in a well-defined sense) to a particular problem. A
  computation is probably anything whatever that warms the
  computer.

> The word "effect" has a fairly obvious meaning (like an IO
> side-effect) but I suspect there's more to it.

  I believe the usual aphorism is "Monads sequence effects.".

--
Jason Dusek


More information about the Beginners mailing list