Browse thread
[Caml-list] Strange syntax behavior
-
John Goerzen
- Jon Harrop
- Kenneth Knowles
- Christophe TROESTLER
- skaller
- Hendrik Tews
- Richard Jones
[
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: | 2004-06-01 (17:43) |
From: | Kenneth Knowles <kknowles@b...> |
Subject: | Re: [Caml-list] Strange syntax behavior |
On Tue, Jun 01, 2004 at 12:13:54PM -0500, John Goerzen wrote: > In the case of if...then...else, the else clause appears to consume only > the first statement following. With try..with, the with clause appears > to consume everything it possibly can, despite even attempts to stop > that with a begin..end clause. You'll need (try raise Not_found with Not_found -> p "exc"); p "done";; I'd guess the reason the precedence is such is to require as few parentheses as possible. Most uses of try or match are not in a sequence of expressions, while many if-then-else expressions are. Essentially, matching constructs and if constructs are not analogous. Examples with clear indentation: if true then p "yes" else p "no"; p "done" if true then p "yes" else ( p "no"; p "done" ) try raise Not_found with | Not_found -> p "exc"; p "done" (try raise Not_found with | Not_found -> p "exec"); p "done" Kenn ------------------- 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