Browse thread
RE: [Caml-list] laziness
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Nicolas Cannasse <warplayer@f...> |
| Subject: | Re: [Caml-list] laziness |
> Doesn't laziness often indicate a bug in the code? ie. You've > written an expression in the program, but that expression is never > used. This is dead code, right? Hence a bug? Laziness can be useful in some cases (eg : enums in ExtLib) and I use it for example in a typing algorithm where you need to duplicate big objects type for unification but you're not sure in advance which field(s) will be unified, so you delay it when they get accessed. It's kind of internet browser cache. Evaluated part of a program can depends on several kind of inputs, and is undecidable. Then you cannot make automated assertion about what part will never be evaluated in the general case (although this can be done in specific cases). However what you can do is automated flow analysis to check which part of your program are not accessible through some entry points : this is interesting for dead code removal and test coverage but can be tricky to do in OCaml. Regards, Nicolas Cannasse ------------------- 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