Yes I think that showing the Maybe and List implementation of monads is
essential. They're practical and in a lot of ways they represent two
completely different types of computation demonstrating the flexibility of
the Monad abstraction. Thanks for that suggestion.
-deech
On Mon, Aug 9, 2010 at
aditya siram wrote:
Thanks all for you suggestions!
Upon further reflection I realized that my audience is more pragmatic than
theoretical. Instead of emphasizing how monads are constructed and the monad
laws I think I want to dive right into the most common and useful monads.
From my vantage po
On Fri, Aug 6, 2010 at 5:58 PM, Alex Stangl wrote:
> On Fri, Aug 06, 2010 at 10:17:26AM -0500, aditya siram wrote:
>> >From my vantage point they are (in no particular order) : Reader, Writer,
>> State, IO, ST, STM, Parsec (have I missed any?) and of course the
>> transformer versions. I am debati
On 6 August 2010 20:47, David Sankel wrote:
> There have been some clever things done with monads aside from #1 and #2.
> Parsec is one, but it seems applicative functors are a better match for the
> parsing domain.
Monadic bind is very, very handy for parsing, giving you context
sensitive parsi
It might be a little late at this point, but here's my take on monads:
In most imperative languages sequencing of statements is a feature that
is hard-coded into the language to act in a certain way, e.g. to have a
particular implicit state (the global state plus possibly the fields
available fro
On Fri, Aug 6, 2010 at 11:17 AM, aditya siram wrote:
> I'm still a little iffy on why the monad concept isn't used in other
> languages.
The greatest feat that monads have accomplished, in my opinion, is providing
the right mathematical abstraction for declaring side-effect and stateful
computat
On Fri, Aug 6, 2010 at 9:17 AM, aditya siram wrote:
>
> Upon further reflection I realized that my audience is more pragmatic than
> theoretical. Instead of emphasizing how monads are constructed and the monad
> laws I think I want to dive right into the most common and useful monads.
> From my
At version 2 Parsec was an amalgamation of a state and error monad -
by amalgamation I mean the data types and Monad instance encoded the
combination directly, it wasn't made from transformers. Version 3 of
Parsec complicates things a quite a bit.
If you're addressing Perl programmers, you could t
On Fri, Aug 06, 2010 at 10:17:26AM -0500, aditya siram wrote:
> >From my vantage point they are (in no particular order) : Reader, Writer,
> State, IO, ST, STM, Parsec (have I missed any?) and of course the
> transformer versions. I am debating whether or not to add [] to the bunch.
Not sure how m
Thanks all for you suggestions!
Upon further reflection I realized that my audience is more pragmatic than
theoretical. Instead of emphasizing how monads are constructed and the monad
laws I think I want to dive right into the most common and useful monads.
>From my vantage point they are (in no pa
For me, the following two things did the magic, so I'll suggest them:
1.
Writing a recursive function that takes a binary tree and returns the
same tree, but with its leaves enumerated. Each function call takes the
tree and the counter and returns the resulting tree and the new counter
value.
On 3 Aug 2010, at 23:51, aditya siram wrote:
I am doing an "Intro To Monads" talk in September [1]. The audience
consists of experienced non-Haskell developers but they will be
familiar with basic functional concepts (closures, first-class
functions etc.).
I am looking for suggestions on
Hi,
aditya siram wrote:
For example in the beginning it was useful for me to think of monads
(and typeclasses really) as approximating Java interfaces.
Type classes are somewhat parallel to Java interfaces, but Monad is a
*specific* type class, so it should be somewhat parallel to a *specific
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 wit
> "Alexander" == Alexander Solla 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 o
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.
Start with functors (things that attach values/func
Today I read this fantastic blog post:
You Could Have Invented Monads! (And Maybe You Already Have.)
http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html
You most probably have seen the post by now, but I just wanted to remind it,
just in case.
Best,
On 3 August 2010 22:51, adi
On Aug 3, 2010, at 4:44 PM, aditya siram wrote:
Thanks for reminding me. Although I wonder if there is a difference between
drawing metaphors (monads are burritos etc.) and drawing parallels.
Since they are experienced developers, your audience will want to know how to
use monads to solve prob
Thanks for reminding me. Although I wonder if there is a difference between
drawing metaphors (monads are burritos etc.) and drawing parallels. For
example in the beginning it was useful for me to think of monads (and
typeclasses really) as approximating Java interfaces. Now this parallel dies
pret
On Tue, Aug 3, 2010 at 2:51 PM, aditya siram wrote:
> I am doing an "Intro To Monads" talk in September [1].
> ...what would you stay away from.
Some things to stay away from:
http://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
(Though I secretly harbou
Hi all,
I am doing an "Intro To Monads" talk in September [1]. The audience consists
of experienced non-Haskell developers but they will be familiar with basic
functional concepts (closures, first-class functions etc.).
I am looking for suggestions on how to introduce the concept and its
implicati
21 matches
Mail list logo