From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr
X-Spam-Level: *
X-Spam-Status: No, score=1.6 required=5.0 tests=AWL,DNS_FROM_RFC_POST,
SPF_NEUTRAL autolearn=disabled version=3.1.3
Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105])
by yquem.inria.fr (Postfix) with ESMTP id A82F5BBAF
for ; Mon, 21 Jul 2008 23:28:38 +0200 (CEST)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AnMAAHychEjRVcisfGdsb2JhbACSBUMBAQsDBAYHEQOXVIRl
X-IronPort-AV: E=Sophos;i="4.31,225,1215381600";
d="scan'208";a="27547999"
Received: from wf-out-1314.google.com ([209.85.200.172])
by mail4-smtp-sop.national.inria.fr with ESMTP; 21 Jul 2008 23:28:37 +0200
Received: by wf-out-1314.google.com with SMTP id 24so1253076wfg.15
for ; Mon, 21 Jul 2008 14:28:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=domainkey-signature:received:received:message-id:date:from:to
:subject:mime-version:content-type:content-transfer-encoding
:content-disposition;
bh=QLoeK/9CzcxZFE9Jg28cdEqM1OEBBngx//+kJFYfzu4=;
b=XwA0j3heqMyEMYAcFa02Nxfx9t9a9Ree+yvug/tRRXFqj70kxdJFMiYf9/K6JrXZ0H
/QIhxS9nLK+KszaYQpuEfB+3+vXsyjW1CpZnh93QyGETzN16B48hZH3KyrtbQwY6KEil
apFyExXDualonFTRaDfJthqogrbIek/C4Cowg=
DomainKey-Signature: a=rsa-sha1; c=nofws;
d=gmail.com; s=gamma;
h=message-id:date:from:to:subject:mime-version:content-type
:content-transfer-encoding:content-disposition;
b=Qf3ULwJVOIE4JHtzH6xOuZCdYC5GxSYCEBUhucDyxHXDpXTrx/+P9edAGETqVqQZ3z
KoH27AhHw+yKq9V88x1ejcMGqGJ/gIRty8aC1ujxpExde10QnL5hPYw9NRNwXh6ZIjjK
ppzzHqI3hDAfXEEscTs7Fa5LtCe6cBpL2LKtY=
Received: by 10.142.88.4 with SMTP id l4mr1525963wfb.238.1216675716251;
Mon, 21 Jul 2008 14:28:36 -0700 (PDT)
Received: by 10.143.19.18 with HTTP; Mon, 21 Jul 2008 14:28:36 -0700 (PDT)
Message-ID: <4b5157c30807211428r19ef9865n6a65e81ac2f5fe31@mail.gmail.com>
Date: Mon, 21 Jul 2008 23:28:36 +0200
From: "Paolo Donadeo"
To: "caml-list caml-list"
Subject: Disappointment
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-Spam: no; 0.00; monads:01 monads:01 vaguely:01 haskell:01 wikipedia:01 wiki:01 univ-orleans:01 lifo:01 aroused:98 blog:98 wrote:01 arnaud:01 abstract:01 strings:01 algorithm:01
I'm disappointed with myself and my incredibly low IQ. Late this
evening I decided -- and this is the third time -- to be enlightened
by the concept of monad.
I like functional programming, but monads [1] must be too little to be
grabbed by my mind. This time the interest in monads was aroused by
the interesting article of David Teller, Arnaud Spiwack and Till
Varoquaux [2] about the error monad, but for using the library they
wrote I need at least some knowledge about monads and the do-notation.
I tried with some tutorials found around, but I still cannot catch the
point: what the hell is a monad?
I ask you all: can anyone make me a practical example, something
involving strings, files, the network, an image or sound processing
algorithm, something vaguely real? Not abstract mathematical
structures, beautiful algebraic properties and general statements,
please: the net is full of such tutorials, especially Haskell fan
sites ;-)
Thanks in advance for your patience.
[1] http://en.wikipedia.org/wiki/Monad_(symbol)
[2] http://www.univ-orleans.fr/lifo/Members/David.Teller/publications/ml2008.pdf
--
Ing. Paolo Donadeo
Studio Associato 4Sigma
Website: http://www.4sigma.it
Personal website: http://www.donadeo.net/blog
~
~
:wq