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

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: skaller <skaller@u...>
Subject: RE: [Caml-list] laziness
On Mon, 2004-09-06 at 19:07, Jason Smith wrote:

> The compiler should optimize it out. There shouldn't be any need for using 
> explicit print statements.

Yes but the original issue is that the programmer
is seeing an expression they expect to be evaluated
and it isn't being evaluated -- so there is a bug
somewhere. So your point is kind of backwards --
the compiler may well optimise it away, but the programmer
is actually looking for evidence that it *isn't*
optimised away.

In an eager language, no conclusions can be drawn
from a debugging output - you still don't know
if the returned value is used or not.

In a lazy language, debugging output indicates
the code *is* being used and hence not dead,
and lack of output means it isn't, at least
in one particular environment. You might
investigate further and discover the result
is only used in an unreachable branch of a match,
so the code really is dead: that function argument
will never be used (so you can remove it,
and also the unreachable branch).


-- 
John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net



-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners