it seems to me that Chapter 23 of the manual could be improved to make it friendlier a wider range of readers. But first I need to know if I understand correctly:
Suppose you define
let*. Is this true that
let* x = a in b where
b is an expression that may contain
x is equivalent to
(let*) a (fun x -> b) ?
If so, is there a reason why this is not mentioned in the chapter?
Then, one could also mention that the behavior of the “normal” let can be obtained by
let (let<) x f = f x
Yes, your understanding is correct, except for one thing called let generalization, which the
let< does not have.
The exact rule is more complex due to
and operators. The 5.1 manual will contain more information:
thanks! indeed the new version of the manual (in that PR) is much clearer on that point