Hi,
Please take a look at this video http://videoarch1.s-inf.de/FP.2005-SS-Giesl.(COt).HD_Videoaufzeichnung/2005-SS-FP.U09.2005-07-06.HDV.avi

Here Monad's are explained as "something" that helps making your program modular. The teacher gives an example implementation of an expression evaluator with and without monads. It takes a complete rewrite to incorporate changes in the program without monads where as only minor tweaks are required for the implementation with monads - also, its easier to identify the location where change needs to be done and the change is isolated.

And the flow is pretty nice - as in, people will not doze off :)

Regards,
Kashyap

On Tue, Aug 3, 2010 at 10:04 PM, Colin Paul Adams <colin@colina.demon.co.uk> wrote:
>>>>> "Alexander" == Alexander Solla <ajs@2piix.com> writes:

   Alexander> On Aug 3, 2010, at 2:51 PM, aditya siram wrote:

> I am looking for suggestions on how to introduce the concept and its
   >> implications. I'd also like to include a section on why monads
   >> exist and why we don't really see them outside of Haskell.

   Alexander> Start with functors (things that attach
   Alexander> values/functions/functors to values in an algebra).  Move
   Alexander> on to applicative functors (functors that can interpret
   Alexander> the thing that is getting things attached to it).  Move
   Alexander> on to monads

Too late! The audience has already dozed off.

   Alexander> (applicative functors where you can
   Alexander> explicitly control the order of
   Alexander> evaluation/interpretation).


--
Colin Adams
Preston Lancashire
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



--
Regards,
Kashyap