caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
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


  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;
as well as URLs for NNTP newsgroup(s).