From: Martin Chabr <martin_chabr@yahoo.de>
To: Brian Hurt <bhurt@spnz.org>
Cc: caml-list@inria.fr
Subject: Ant: [Caml-list] Efficiency of let/and
Date: Mon, 26 Sep 2005 06:32:40 +0200 (CEST) [thread overview]
Message-ID: <20050926043240.24009.qmail@web26809.mail.ukl.yahoo.com> (raw)
In-Reply-To: <Pine.LNX.4.63.0509250826470.9226@localhost.localdomain>
As it appears to me, there is no semantic difference
between both alternatives. It can be shown with two
dependent expressions y = 1 and z = y + 2:
# let y = 1 in
let z = y + 2 in
z;;
- : int = 3
# let y = 1
and z = y + 2 in
z;;
- : int = 3
The order is important in both cases:
# let z = y + 2 in
let y = x + 1 in
z;;
Characters 8-9:
let z = y + 2 in
^
Unbound value y
# let z = y + 2
and y = 1 in
z;;
Characters 8-9:
let z = y + 2
^
Unbound value y
So the "and"-form depends on the order as well and I
think the syntactic difference can be just used for
documentation. A good idea, by the way.
I hope this helps
Martin
--- Brian Hurt <bhurt@spnz.org> schrieb:
>
> Say I have two variables I want to set- variable a
> to the value expr1 and
> variable b to the value expr2. The two expressions
> are pure (no side
> effects), and neither one depends upon the other
> (neither expr1 nor expr2
> contain either a or b as a value), so they can be
> evaluated in either
> order or in parallel with no harm. With expressions
> like these, I've
> gotten into the habit of using let/and to express
> the parallelism, that is
> I go:
>
> let a = expr1
> and b = expr2
> in
> ...
>
> rather than:
> let a = expr1 in
> let b = expr2 in
>
> So my question is: is there any value (other than
> the documentation value)
> in doing this?
>
> Just wondering.
>
> Brian
>
> _______________________________________________
> Caml-list mailing list. Subscription management:
>
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list:
> http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de
next prev parent reply other threads:[~2005-09-26 4:32 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-25 13:31 Brian Hurt
2005-09-25 14:47 ` [Caml-list] " Jon Harrop
2005-09-26 4:32 ` Martin Chabr [this message]
2005-09-26 5:24 ` Ant: " Fernando Alegre
2005-09-26 5:56 ` William Lovas
2005-09-26 7:17 ` Bill Wood
2005-09-26 20:59 ` Ant: " Martin Chabr
2005-09-26 13:22 ` Brian Hurt
2005-09-26 16:05 ` Ant: " Stefan Monnier
2005-09-26 16:30 ` [Caml-list] " Brian Hurt
2005-09-27 5:52 ` skaller
2005-09-27 13:06 ` Brian Hurt
2005-09-27 13:24 ` Alan Falloon
2005-09-27 15:24 ` Stefan Monnier
2005-09-27 16:11 ` Brian Hurt
2005-09-27 5:32 ` skaller
2005-09-27 15:21 ` Stefan Monnier
2005-09-26 17:04 ` Ant: [Caml-list] " Mackenzie Straight
2005-09-26 17:05 ` Marius Nita
2005-09-26 17:36 ` David McClain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050926043240.24009.qmail@web26809.mail.ukl.yahoo.com \
--to=martin_chabr@yahoo.de \
--cc=bhurt@spnz.org \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox