Message from discussion
Tutorial: Haskell for the Evil Genius
Received: by 10.180.75.8 with SMTP id y8mr129234wiv.4.1347666525640;
Fri, 14 Sep 2012 16:48:45 -0700 (PDT)
X-BeenThere: haskell-cafe@googlegroups.com
Received: by 10.180.79.101 with SMTP id i5ls532547wix.2.canary; Fri, 14 Sep
2012 16:48:45 -0700 (PDT)
Received: by 10.180.103.37 with SMTP id ft5mr953955wib.0.1347666525507;
Fri, 14 Sep 2012 16:48:45 -0700 (PDT)
Received: by 10.180.103.37 with SMTP id ft5mr953954wib.0.1347666525468;
Fri, 14 Sep 2012 16:48:45 -0700 (PDT)
Return-Path: <haskell-cafe-boun...@haskell.org>
Received: from lambda.haskell.org (lambda.haskell.org. [2a01:4f8:121:6::10])
by gmr-mx.google.com with ESMTPS id em7si171461wib.2.2012.09.14.16.48.45
(version=TLSv1/SSLv3 cipher=OTHER);
Fri, 14 Sep 2012 16:48:45 -0700 (PDT)
Received-SPF: pass (google.com: best guess record for domain of haskell-cafe-boun...@haskell.org designates 2a01:4f8:121:6::10 as permitted sender) client-ip=2a01:4f8:121:6::10;
Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of haskell-cafe-boun...@haskell.org designates 2a01:4f8:121:6::10 as permitted sender) smtp.mail=haskell-cafe-boun...@haskell.org; dkim=neutral (body hash did not verify) header...@gmail.com
Received: from localhost ([127.0.0.1] helo=lambda.haskell.org)
by lambda.haskell.org with esmtp (Exim 4.69)
(envelope-from <haskell-cafe-boun...@haskell.org>)
id 1TCfc7-0002fl-Pi; Sat, 15 Sep 2012 01:47:59 +0200
Received: from mail-ob0-f179.google.com ([209.85.214.179])
by lambda.haskell.org with esmtp (Exim 4.69)
(envelope-from <alex.so...@gmail.com>) id 1TCfc5-0002fI-P8
for haskell-c...@haskell.org; Sat, 15 Sep 2012 01:47:57 +0200
Received: by obbeh20 with SMTP id eh20so7730645obb.24
for <haskell-c...@haskell.org>; Fri, 14 Sep 2012 16:47:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:cc:content-type;
bh=cW2O9X/nXAGKfNEzREjQHHYPI7OTRIct2cOQKVesiq0=;
b=zsNEZPeaRAIna0freJloqOW/dgh41sg66tMQ9NYqFx7XBFLE4CmG1wPIV/7nqu8kXs
WjsPAOcn3DRRZRXCAszwyre2kHhTjou9ejq1wm3/pat2ujHnIjkAxHjq8fG7clWqvVSC
ziDbIe9Omz0RvEjpUfBbKQDcstFXCvXrWD5XaqfmdZsGYPolNNg8Z4/Aoqkz3K8htXHp
1D+rl5d+Dl1Hy05gwnIiZ+3sb2H7tOg5AQMDvb5YMDPS9BfCV6d13RfoufHZceLr8Uf6
fdnU3mtckVlnIANhdwAeQPgFPIOj1Rl2SL7qYIzHIyrW4a/79C2uqLlC+Rzt3P8EliuG
LBRg==
MIME-Version: 1.0
Received: by 10.182.152.36 with SMTP id uv4mr5773266obb.81.1347666471633; Fri,
14 Sep 2012 16:47:51 -0700 (PDT)
Received: by 10.182.44.197 with HTTP; Fri, 14 Sep 2012 16:47:51 -0700 (PDT)
In-Reply-To: <CAHXt_SU7QdxnRguvxuwrDmrRKaNCHpOnegPnxuFRufS-3Ai...@mail.gmail.com>
References: <CAHXt_SUjQLpekyAymJPa2DsYxfO0za3wTr8nsvEgAk26RmZ...@mail.gmail.com>
<20120914175022.GA38...@scout.stangl.us>
<CAHXt_SU7QdxnRguvxuwrDmrRKaNCHpOnegPnxuFRufS-3Ai...@mail.gmail.com>
Date: Fri, 14 Sep 2012 16:47:51 -0700
Message-ID: <CAO0Ooq0L1PzMhJczYbQjjR8p8kLoRGXmtuyQcnpZJVO3OBt...@mail.gmail.com>
From: Alexander Solla <alex.so...@gmail.com>
To: Andrew Pennebaker <andrew.penneba...@gmail.com>
Cc: Haskell Cafe <haskell-c...@haskell.org>
Subject: Re: [Haskell-cafe] Tutorial: Haskell for the Evil Genius
X-BeenThere: haskell-c...@haskell.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: The Haskell Cafe <haskell-cafe.haskell.org>
List-Unsubscribe: <http://www.haskell.org/mailman/options/haskell-cafe>,
<mailto:haskell-cafe-requ...@haskell.org?subject=unsubscribe>
List-Archive: <http://www.haskell.org/pipermail/haskell-cafe>
List-Post: <mailto:haskell-c...@haskell.org>
List-Help: <mailto:haskell-cafe-requ...@haskell.org?subject=help>
List-Subscribe: <http://www.haskell.org/mailman/listinfo/haskell-cafe>,
<mailto:haskell-cafe-requ...@haskell.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7696675096398973664=="
Sender: haskell-cafe-boun...@haskell.org
Errors-To: haskell-cafe-boun...@haskell.org
--===============7696675096398973664==
Content-Type: multipart/alternative; boundary=f46d044472f351432604c9b20d10
--f46d044472f351432604c9b20d10
Content-Type: text/plain; charset=ISO-8859-1
On Fri, Sep 14, 2012 at 2:18 PM, Andrew Pennebaker <
andrew.penneba...@gmail.com> wrote:
> A summary of the changes I've included so far:
>
> Noted and reflected... I'm trying to convey to an audience largely
> composed of Java and C++ fanatics how Haskell records are much better than
> OOP, how GADTs are more intuitive, robust, ... OOP doesn't even compare!
> That's what I'm trying to get across in that bit. And it's hard to do this
> in just a few sentences, especially when the reader isn't even familiar
> with GADTs in the first place.
>
But, Haskell records aren't better than OOP.
I am not trying to be controversial here -- Haskell records would
"naturally" implement prototype-based OOP, like JavaScript uses, if they
(Haskell records) weren't so useless. This is basically why "lenses" were
designed (i.e., to make consistent syntax for getters and setters)
--f46d044472f351432604c9b20d10
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<br><br><div class=3D"gmail_quote">On Fri, Sep 14, 2012 at 2:18 PM, Andrew =
Pennebaker <span dir=3D"ltr"><<a href=3D"mailto:andrew.pennebaker@gmail.=
com" target=3D"_blank">andrew.penneba...@gmail.com</a>></span> wrote:<br=
><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1=
px #ccc solid;padding-left:1ex">
<div class=3D"gmail_quote"><div>A summary of the changes I've included =
so far:</div><div class=3D"im"><br></div><div>Noted and reflected... I'=
m trying to convey to an audience largely composed of Java and C++ fanatics=
how Haskell records are much better than OOP, how GADTs are more intuitive=
, robust, ... OOP doesn't even compare! That's what I'm trying =
to get across in that bit. And it's hard to do this in just a few sente=
nces, especially when the reader isn't even familiar with GADTs in the =
first place.</div>
</div></blockquote><div><br></div><div>But, Haskell records aren't bett=
er than OOP.</div><div><br></div><div>I am not trying to be controversial h=
ere -- Haskell records would "naturally" implement prototype-base=
d OOP, like JavaScript uses, if they (Haskell records) weren't so usele=
ss. =A0This is basically why "lenses" were designed (i.e., to mak=
e consistent syntax for getters and setters)</div>
</div>
--f46d044472f351432604c9b20d10--
--===============7696675096398973664==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Haskell-Cafe mailing list
Haskell-C...@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
--===============7696675096398973664==--