Both explicit polymorphic annotations and the polymorphic syntax of locally abstract types are extensions.
http://caml.inria.fr/pub/docs/manual-ocaml/extn.html
See subsections 7.12 and 7.13.
Jacques Garrigue
On 2013 Oct 25, at 13:44 , Jacques Le Normand <rathereasy@gmail.com> wrote:I'm surprised noone has pointed out the new type annotation syntax:let id : type s. s -> s = fun x -> xI like that syntax, I think.I suppose that "id : type s. s -> s = fun x -> x" is a let-bindingand that "id : type s. s -> s" is a pattern,but I cannot get the syntax at http://caml.inria.fr/pub/docs/manual-ocaml/patterns.htmlto produce "id : type s. s -> s”.