Message from discussion
Typed Racket vs. Haskell
Received: by 10.224.42.68 with SMTP id r4mr903453qae.4.1348002118861;
Tue, 18 Sep 2012 14:01:58 -0700 (PDT)
X-BeenThere: racket-users@googlegroups.com
Received: by 10.224.201.194 with SMTP id fb2ls1026123qab.3.gmail; Tue, 18 Sep
2012 14:01:58 -0700 (PDT)
Received: by 10.224.27.14 with SMTP id g14mr818834qac.1.1348002118738;
Tue, 18 Sep 2012 14:01:58 -0700 (PDT)
Received: by 10.224.27.14 with SMTP id g14mr818832qac.1.1348002118718;
Tue, 18 Sep 2012 14:01:58 -0700 (PDT)
Return-Path: <users-boun...@racket-lang.org>
Received: from champlain.ccs.neu.edu (champlain.ccs.neu.edu. [129.10.115.116])
by gmr-mx.google.com with ESMTPS id mx3si299174qcb.3.2012.09.18.14.01.58
(version=TLSv1/SSLv3 cipher=OTHER);
Tue, 18 Sep 2012 14:01:58 -0700 (PDT)
Received-SPF: neutral (google.com: 129.10.115.116 is neither permitted nor denied by domain of users-boun...@racket-lang.org) client-ip=129.10.115.116;
Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 129.10.115.116 is neither permitted nor denied by domain of users-boun...@racket-lang.org) smtp.mail=users-boun...@racket-lang.org
Received: from champlain.ccs.neu.edu (localhost.localdomain [127.0.0.1])
by champlain.ccs.neu.edu (8.14.4/8.14.4) with ESMTP id q8IL0RGo032688;
Tue, 18 Sep 2012 17:00:29 -0400
Received: from mail-ob0-f174.google.com (mail-ob0-f174.google.com
[209.85.214.174])
by champlain.ccs.neu.edu (8.14.4/8.14.4) with ESMTP id q8IL0KpF032665
for <us...@lists.racket-lang.org>; Tue, 18 Sep 2012 17:00:21 -0400
Received: by obc16 with SMTP id 16so107808obc.33
for <us...@lists.racket-lang.org>; Tue, 18 Sep 2012 14:00:20 -0700 (PDT)
d=google.com; s=20120113;
h=x-forwarded-to:x-forwarded-for:delivered-to:received-spf
:dkim-signature:mime-version:in-reply-to:references:from:date
:message-id:subject:to:content-type:x-gm-message-state;
bh=H5b/SF4ClwbHCi0yXsskWBMMRzvfBMBpgIEKUrNNLjw=;
b=oU3ctLkXtREPKBEBVdCnhC2iG2SW951rvKMArTZzvUTL5aWgOgIjQwRHWNwqrq4gc3
DULTTRel2eRZxWcPucCKSvX3reNPLIBMgnLbZvZx3RgARSLWylVtMwr9EXo2/EtFkg0p
1X+KGYkHDOJ/e/ZelcZeFOncNZSfKhK70oEvHWnCirvqiKXjJhH6WdshG8Xg0E1KsVs1
UdgS5DuZS6/3QAw1Zb13U5ctEpO9J/cze1C7IJQYh2MlKKYGqdtAOsbfq8SqzyoJFJvh
f3/O/pVfNc79n1ZVcb6DrlQ0RnYh+JYudgnIEHs03n2NeFRq4lmxB4khmbsQCu1QYqhQ
36BQ==
Received: by 10.60.25.131 with SMTP id c3mr1471749oeg.50.1348002020565;
Tue, 18 Sep 2012 14:00:20 -0700 (PDT)
X-Forwarded-To: us...@lists.racket-lang.org
X-Forwarded-For: us...@plt-scheme.org us...@lists.racket-lang.org
Delivered-To: us...@racket-lang.org
Received: by 10.76.13.162 with SMTP id i2csp84850oac;
Tue, 18 Sep 2012 14:00:20 -0700 (PDT)
Received: by 10.50.212.3 with SMTP id ng3mr1046812igc.58.1348002020104;
Tue, 18 Sep 2012 14:00:20 -0700 (PDT)
Received: from mail-ie0-f173.google.com (mail-ie0-f173.google.com
[209.85.223.173])
by mx.google.com with ESMTPS id hh5si952214igc.68.2012.09.18.14.00.19
(version=TLSv1/SSLv3 cipher=OTHER);
Tue, 18 Sep 2012 14:00:20 -0700 (PDT)
Received-SPF: pass (google.com: domain of rao...@gmail.com designates
209.85.223.173 as permitted sender) client-ip=209.85.223.173;
Received: by iebc10 with SMTP id c10so409270ieb.4
for <us...@racket-lang.org>; Tue, 18 Sep 2012 14:00:19 -0700 (PDT)
Received: by 10.50.207.36 with SMTP id lt4mr1037898igc.66.1348002019766; Tue,
18 Sep 2012 14:00:19 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.168.1 with HTTP; Tue, 18 Sep 2012 13:59:59 -0700 (PDT)
In-Reply-To: <5058DF50.6080...@ccs.neu.edu>
References: <58500.77.105.186.199.1347982242.squir...@lavabit.com>
<C2D9BD24-3FE9-400B-8EA0-AF0F15C82...@brinckerhoff.org>
<87sjaf6wyv.wl%stamo...@ccs.neu.edu>
<25375.77.105.186.199.1347998909.squir...@lavabit.com>
<5058DF50.6080...@ccs.neu.edu>
From: Raoul Duke <rao...@gmail.com>
Date: Tue, 18 Sep 2012 13:59:59 -0700
Message-ID: <CAJ7XQb5FJxYPxO8CWbCFzggTYdWqv7SFbb2j8zXB=oin7O+...@mail.gmail.com>
To: us...@racket-lang.org
X-Gm-Message-State: ALoCoQmWzFUqTX5tHOjl6Wd/cYEpgx4In97i/+lofXbUSsJN9JNQNfp/pBtDT7Sc2hFgm0bP9kL5
X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM,
RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
champlain.ccs.neu.edu
Subject: Re: [racket] Typed Racket vs. Haskell
X-BeenThere: us...@racket-lang.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Racket Users <users.racket-lang.org>
List-Unsubscribe: <http://lists.racket-lang.org/users/options>,
<mailto:users-requ...@racket-lang.org?subject=unsubscribe>
List-Archive: <http://lists.racket-lang.org/users/archive/>
List-Post: <mailto:us...@racket-lang.org>
List-Help: <mailto:users-requ...@racket-lang.org?subject=help>
List-Subscribe: <http://lists.racket-lang.org/users/listinfo>,
<mailto:users-requ...@racket-lang.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: users-boun...@racket-lang.org
Errors-To: users-boun...@racket-lang.org
> No, by "types first" I think John and Vincent are talking about a conceptual
> order. I would phrase it a little more subtly: an ML (or Haskell)
> programmer writes their types, then their programs (as you must); a TR
> programmer thinks about their data, writes down a program, then writes down
> the types (describing the data) they had in mind in the first place (and
> often were written down as comments).
i don't fully grok this but i'd guess there are other things going on as well.
i'm not sure what you mean by "as you must" since ml/haskell have type
inference.
i think it could be more that in non T Racket, you *cannot* use types
to do the work, so you have to "manually" do it with predicates.
whereas in typed languages, presumably you *want* to make use of the
types, because then you are getting static checking e.g. that you've
tested all constructors or whatever (not sure if/how that in
particular would work in ml/haskell, but in e.g. haxe the switch will
warn you if you miss a case).
?
____________________
Racket Users list:
http://lists.racket-lang.org/users