Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Undocumented features in 4.02.2 #6912

Closed
vicuna opened this issue Jun 22, 2015 · 9 comments
Closed

Undocumented features in 4.02.2 #6912

vicuna opened this issue Jun 22, 2015 · 9 comments

Comments

@vicuna
Copy link

vicuna commented Jun 22, 2015

Original bug ID: 6912
Reporter: @Octachron
Status: closed (set by @alainfrisch on 2015-12-14T16:41:13Z)
Resolution: fixed
Priority: normal
Severity: major
Target version: 4.03.0+dev / +beta1
Category: documentation
Tags: junior_job

Bug description

It seems that some of the user facing changes introduced in 4.02.2 have not been documented in the manual. Particularly, I could not find any documentation for

  • the new #-prefixed operators
  • the new nonrec keyword
  • the changes in attribute syntax
@vicuna
Copy link
Author

vicuna commented Jun 22, 2015

Comment author: @gasche

As always, patches here or pull-requests on
https://github.com/ocaml/ocaml-manual
are warmly welcome.

@vicuna
Copy link
Author

vicuna commented Jun 22, 2015

Comment author: @c-cube

Also, the change in attributes syntax is breaking code. Should this be in a separate bug report? I understand a new syntax can be introduced, but forbidding the old syntax in a minor version should not happen.

@vicuna
Copy link
Author

vicuna commented Jun 22, 2015

Comment author: @gasche

As already pointed out on caml-list,
https://sympa.inria.fr/sympa/arc/caml-list/2015-06/msg00115.html
the attributes syntax change was asked for and supported by today ppx users (the one that gave feedback anyway, including ppx_deriving's developer), so I don't think the "should not happen" is fair here -- people also complain when known-to-be-suboptimal choices are kept forever for backward-compatibility reasons.

I'm not aware of any plans to restore the old syntax: the people that participated to the discussion seemed to consider it was worse than the 4.02.2 one. If you want to restart the discussion, feel free to open a new bug report, or (even better I think) participate to the discussion in
#152

@vicuna
Copy link
Author

vicuna commented Jun 23, 2015

Comment author: @diml

I added a small description of nonrec (rev 16186) and updated attributes placement (rev 16185)

@vicuna
Copy link
Author

vicuna commented Jul 11, 2015

Comment author: @Octachron

I have a look at the description of the nonrec keyword, and I find the wording a little confusing

In a set of definitions, references in the type equation,
representation or constraint to one of the type constructor name being
defined is considered as recursive, unless "type" is followed by
"nonrec".

First, shouldn't the "is" be an "are" here?
Another point, I wonder if the "the type equation, representation or constraint" enumeration could not be replaced by "the right-hand side of definitions" since the notions of type equation, representation or constraint are only described later in the text?

Lastly, It may make sense to move the paragraph after the paragraph describing simple type definitions.

@vicuna
Copy link
Author

vicuna commented Jul 13, 2015

Comment author: @diml

octachron, can you submit a pull-request on github?

@vicuna
Copy link
Author

vicuna commented Jul 13, 2015

Comment author: @Octachron

Certainly ocaml/ocaml-manual#11.

@vicuna
Copy link
Author

vicuna commented Dec 11, 2015

Comment author: @alainfrisch

Bumping Severity so that we don't forget to check that the doc has been updated.

@vicuna
Copy link
Author

vicuna commented Dec 14, 2015

Comment author: @alainfrisch

"#-prefixed operators" have been documented in commit 1c396b9.

New placement rules for attributes, in commit 861a0db. Fixed in commit 74ac42c (attributes on record fields can also be put after the semi-colon).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant