Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [Caml-list] Future of labels
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Mattias Waldau <mattias.waldau@a...>
Subject: [Caml-list] How do I define prog1?
I would like to define a (prog1 a b) which first evaluates a, then b, and
returns the
value of a. (Would be nice if I could have arbitrary number of args.)

I defined it as

let prog1 a b = a

Works well in compiled code, first evaluates a, then b.
However bytecode first evaluates b, then a.

In this cases, call-by-name would be very nice.

One obvious solution is to write

let temp = a in
b;
temp

but that is much too clumsy.

/mattias


-------------------
To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr