Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Brian Rogoff <bpr@best.com>
To: John Max Skaller <skaller@ozemail.com.au>
Cc: David McClain <dmcclain1@mindspring.com>, caml-list@inria.fr
Subject: Re: [Caml-list] Evaluation Order
Date: Sun, 10 Jun 2001 09:47:25 -0700 (PDT)	[thread overview]
Message-ID: <Pine.BSF.4.21.0106100935390.29219-100000@shell5.ba.best.com> (raw)
In-Reply-To: <3B237A77.E345823F@ozemail.com.au>

On Sun, 10 Jun 2001, John Max Skaller wrote:
> Brian Rogoff wrote:
> 
> [Evaluation order]
> 
> > The original arguments about optimizations
> > and parallelism don't seem to have borne fruit, so it would be good to fix
> > this.
> 
> The question is whether we really want to encourage such
> an obvious flouting of referential transparency as being
> able to depend on the order of evaluation of the arguments
> of the infix integer addition operator.

Well, OCaml isn't referentially transparent, and it is strict to begin
with. I agree that it would be awful if my argument was only about the
order of evaluation of (+).

> Perhaps binding record fields left to right makes sense,

And tuples, and (::), and ... 

Why not make the default correspond to everyone's intuition?

> but making evaluation order explicit by
> 
> 	let a = f() in
> 	let b = g() in
> 	a + b
> 
> seems to be good style to me (you only need to know that
> Ocaml is an eager language).

I agree completely. I even shove in prints to debug purely functional code 
(shame on me!) by adding "let _ = prerr_endline ... in" in such constructs.  
I also rarely use "and" when there are no dependencies (I see that kind of 
code) and only use it when there is a recursive definition.

> You could also run into problems if you used some syntactic sugar such
> as by using ocamlp4: the visible ordering mightn't be the final one
> unless the p4 macros took special care to ensure this.

Hmmm, I wonder if this is a problem for MetaML, which is a macro-like
system based on SML? Any users on the list care to comment? As a
digression, macros and generic functions seem to be one of the few places 
left where Lisp has some advantage over ML (IMO of course). It would be 
nice to surpass Lisp completely one day...

-- Brian


-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


  reply	other threads:[~2001-06-10 16:47 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-06-09 15:59 David McClain
2001-06-09 20:17 ` Brian Rogoff
2001-06-09 23:12   ` David McClain
2001-06-09 23:28     ` David McClain
2001-06-10  1:04       ` Dave Mason
2001-06-10  2:25         ` David McClain
2001-06-11 13:03           ` Dave Mason
2001-06-12 17:55             ` John Max Skaller
2001-06-13 16:54               ` Frederick Smith
2001-06-13 21:43                 ` John Max Skaller
2001-06-10  1:06       ` Charles Martin
2001-06-10  2:27         ` David McClain
2001-06-10 11:18         ` Tore Lund
2001-06-10 13:11           ` Tore Lund
2001-06-10 14:31           ` John Max Skaller
2001-06-12 15:12             ` Pierre Weis
2001-06-10 10:40       ` Joerg Czeranski
2001-06-10 14:06       ` John Max Skaller
2001-06-11 12:59         ` Dave Mason
2001-06-12 17:34           ` John Max Skaller
2001-06-10 13:47   ` John Max Skaller
2001-06-10 16:47     ` Brian Rogoff [this message]
2001-06-10 17:27       ` Dave Mason
2001-06-12 16:10       ` John Max Skaller
2001-06-09 23:19 ` John Max Skaller
2001-06-10  2:44 David McClain
2001-06-10  2:48 ` Patrick M Doane
2001-06-10  5:51   ` David McClain
2001-06-10 17:59 Damien Doligez
2001-06-10 18:28 ` Dave Mason
2001-06-15 17:00 Manuel Fahndrich
2009-06-14 16:36 evaluation order Christophe Raffalli
2009-06-14 19:40 ` [Caml-list] " Jon Harrop
2009-06-14 21:12   ` Christophe Raffalli

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=Pine.BSF.4.21.0106100935390.29219-100000@shell5.ba.best.com \
    --to=bpr@best.com \
    --cc=caml-list@inria.fr \
    --cc=dmcclain1@mindspring.com \
    --cc=skaller@ozemail.com.au \
    /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