Hi, Please take a look at this video http://videoarch1.s-inf.de/FP.2005-SS-Giesl.(COt).HD_Videoaufzeichnung/2005-... 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