[
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: | Andre Nathan <andre@s...> |
| Subject: | Revised syntax scope (3.10 vs. 3.11) |
Hello
I've found the following difference of behavior between OCaml 3.10 and
3.11. The code below
<:expr<
do {
let a = "foo" in
print_endline a;
print_endline a
}
>>
when run through camlp4o becomes, in 3.10,
let a = "foo" in (print_endline a; print_endline a)
while in 3.11 it becomes
((let a = "foo" in print_endline a); print_endline a)
which causes `a' to become out of scope in the second print_endline.
Is the behavior of 3.11 the correct one? I had to move the binding
of `a' out of the do block so that this works in both versions.
Thanks,
Andre