Chapter on binding operators


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:

  1. 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) ?

  2. 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