Notes on The Manual

Quibbles on values

Section 6.2.1 seems to have omitted the base values boolean. Perhaps as values they are merely the variants “true” and “false”.

This page introduces values almost devoid of the notion of type. Remarkable, but they need type to describe an array in order to say that two elements of the same array must have the same type. I think section 6.2.4 could be pedantically read as requiring that two elements of different arrays have the same type.

It is philosophically peculiar that tuples and records have some of their syntax revealed whereas floats, integers, arrays, functions and objects are explained without reference to syntax. Also what is said about integers is somehow different from what is said about objects—as if they were different categories of value.

Quibbles on names

This is a welcome section that is absent in many language definitions. This would be a natural place to contrast the lexical scope of these sorts of names. I have not yet found any mention of the scope of a typeconstr-name which is different from such scopes found in several other languages. Scope issues in the OCaml documentation is sketchy.

The word “object” here in section 6.3 has a sense which is different from the sense in section 6.2.

Quote in section 6.3: “the usual static scoping rules for names”
Where do I find these rules?