-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Document abstract format of type-related trees #230
Conversation
Patch has passed first testings and has been assigned to be reviewed |
Hi, We still have not decided when to include documentation of types and When reviewing the patch we found several issues that have now been A few minor issues/questions/suggestions follow. opaque or type attribute. A_i is a "type variable". A type variable is spec or callback. Callback Mod:F is unsupported (sys_pre_expand no Type clauses. "unbounded fun type clause" should be replaced by just Type guards. There should be a def of "type guard sequence", a "If G is a type definition...". This is also a constraint, not a Types. "If G is a type definition Name :: Type." Suggestion: "If G is "If T is a variable V". Should be "is a type variable". Maybe there map_field_assoc. Before be46e45 this was a five-tuple {type, LINE, "record field type <<>>". Should be "binary type". <<_:B, :*U>>. Unless Kostis thinks otherwise the Reference Manual fun((...) -> Ret). Seems to be wrong. Record fields. "does not contain |
Thanks for the review, will look at your remarks later. |
It was put back by error on a conflict hiccup when introducing named funs.
I am not sure what to make of this comment, given that nowhere it is said that _ is a variable. The underscore is only mentioned under patterns, as the universal pattern. |
But I did forget to document the _ alias for any(), though. |
It is indeed unsupported, but rules are too and they are still documented there. I don't think it's a good thing to not mention them. |
Why would you not call it a type definition? It defines something that can be exported, like a function definition. |
I meant that it is not a type union that explicitly includes 'undefined' as part of its alternatives. I find mentioning that it needs to be a syntactic mention the clearest way to convey this. Could you suggest an alternate wording? |
I amended following some of your remarks and commented the others. |
Hi,
I don't follow your argument. Why should we document something that is I cannot see where rules (':-') are documented. If they are documented
I see you removed all occurrences of "bounded". That was not what I
I see you've added a definition of type guard sequence. Using the name The refman uses "constraints" rather than "type guard sequence". It
Note that my comment was about the second clause of "Type guards", not
"T is type that is not a type union that explicitly includes Since the patch is indented for 18.0 (if we decide to include it...) Best regards |
I disagree, it's weird to have both "fun type clause" and "bounded fun type clause", either qualify both or qualify none.
I disagree, there is no mention of syntax in this, one could believe that referencing foo:bar() "explicitly includes 'undefined'".
I have no idea what you are talking about with user_type, but I sure do want that patch to be included in 18.0, because I think it's long overdue that we document that part of Erlang. |
About |
Thanks for the info. Robert just told me that he doesn't need ':-' for erlog, so ':-' can be removed from the scanner as well as the parser (in 18.0). |
Patch has passed first testings and has been assigned to be reviewed I am a script, I am not human |
Ping? |
Merged to master, commit 8e49f7 (it will take a few days for the commit to appear on Github). Formatting of types in Syntax Tools has been put off due to lack of time. |
No description provided.