[Haskell-cafe] Explaining monads

Kim-Ee Yeoh a.biurvOir4 at asuhan.com
Tue Aug 14 03:50:22 EDT 2007

Ronald Guida wrote:
> Here is the brief explanation I came up with:
>  > Arrows and monads are abstract data types used to construct Domain
>  > Specific Embedded Languages (DSELs) within Haskel.  A simple arrow
>  > provides a closed DSEL.  A monad is a special type of arrow that
>  > creates an open DSEL by allowing users to embed arbitrary Haskel
>  > within it.
> Is this an accurate explanation?  I hate to feed a fire, but is
> "Domain Specific Embedded Language" a well-defined phrase, or is it
> just another example of linguistic cruft?

Neither. It's the latest buzzword, joining the likes of AOP and
Generics. Haskell has an opportunity to ride the DSEL bandwagon,
and like most such opportunities it can take her where she don't
want to go.

Ronald Guida wrote:
> Also, is this a /useful/ explanation, or have I simply hidden the
> complexity by invoking the concepts of ADTs and DSELs?

It certainly has a nice spin. I've nominated you to the Monad
Marketing Team already.

View this message in context: http://www.nabble.com/Explaining-monads-tf4244948.html#a12140216
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

More information about the Haskell-Cafe mailing list