Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

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

but that is much too clumsy.


To unsubscribe, mail  Archives: