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

Finalize feature specification of strong mode #31228

Closed
3 of 4 tasks
anders-sandholm opened this issue Oct 26, 2017 · 10 comments
Closed
3 of 4 tasks

Finalize feature specification of strong mode #31228

anders-sandholm opened this issue Oct 26, 2017 · 10 comments
Assignees
Labels
area-language Dart language related items (some items might be better tracked at github.com/dart-lang/language). area-specification (deprecated) Deprecated: use area-language and a language- label. language-strong-mode-polish

Comments

@anders-sandholm
Copy link
Contributor

anders-sandholm commented Oct 26, 2017

My apologies if this issue already exists somewhere. If so, pls merge/close.

Would be great if we could use this as a meta issue to track what is still missing in order for us to have a complete feature specification for strong mode.

This will be useful for our teams implementing strong mode as well as for completing/expanding our co19 test suite.

@floitschG @leafpetersen @eernstg @lrhn @munificent

  • New type rules and type system in the formal spec (e.g., sub-typing, ...) (eernst) informal spec by @leafpetersen underway
  • Capture "Ambiguities must be explicitly resolved" in a feature spec regarding sub-classing and class hierarchies (eernst) (informal spec underway)
  • Feature specification of type inference #?????? (eernst)
  • Optional new and const (including auto-const)

@eernstg edited the bullet list above to indicate that auto-const is now included rather than being discussed; the CL has been landed.

Note the following issues whose requests are subsumed by or at least overlapping the requests in this issue:

@anders-sandholm anders-sandholm added area-language Dart language related items (some items might be better tracked at github.com/dart-lang/language). area-specification (deprecated) Deprecated: use area-language and a language- label. language-strong-mode-polish labels Oct 26, 2017
@eernstg
Copy link
Member

eernstg commented Oct 26, 2017

I wrote a CL for extending dartLangSpec.tex with support for generic functions. An obvious next step would be to update all the subtype rules (which includes deleting all references to '<<'/'more specific than').

Apart from that, the most recent additions to the 'informal' directory were created in order to clarify various Dart 2 features, so they would serve as a source of additional topics to handle.

@anders-sandholm anders-sandholm changed the title Finalize specification of strong mode Finalize feature specification of strong mode Nov 29, 2017
@eernstg
Copy link
Member

eernstg commented Jan 25, 2018

Work is ongoing: Said CL about generic functions has been landed as 673d5f0. Feature spec about Dart 2 subtyping written by @leafpetersen (addressing the 'New type rules and..' item) is in this CL.

@eernstg eernstg added this to the 2.0-alpha2 milestone Feb 6, 2018
@eernstg
Copy link
Member

eernstg commented Feb 6, 2018

Added milestone for reaching the level where feature specs have stabilized, but the formal spec may not yet have been updated.

@eernstg
Copy link
Member

eernstg commented Feb 9, 2018

Wrote a proposed feature spec in this CL for the 'Ambiguities must be explicitly resolved' item.

@eernstg
Copy link
Member

eernstg commented Feb 9, 2018

This CL addresses the 'Optional new and const' item, may probably land as-is.

Edit: Said CL was landed as 6e3a274.

@eernstg
Copy link
Member

eernstg commented Feb 13, 2018

Updated the initial message by adding links to CLs aimed at closing bullet points in this issue.

@a-siva
Copy link
Contributor

a-siva commented Feb 16, 2018

Somebody needs to own this issue, the assignee field is blank.

@eernstg eernstg self-assigned this Feb 19, 2018
@eernstg
Copy link
Member

eernstg commented Feb 19, 2018

I've assigned myself at this point, but note that it's actually a 'Type: meta' issue (where there is often no assignee) and remaining work is: Land the subtyping feature spec (by @leafpetersen), clarify the situation on inference feature specs (@leafpetersen has written several documents in the area), review the feature spec proposal on conflict resolution (by @eernstg), and decide on the relationship between void and data flow (that is, choosing at most one of the above-mentioned CLs 3a, 3b).

Edit (Feb 20 2018): The language team decided to go with CL 3b above, and abandon 3a.

@dgrove
Copy link
Contributor

dgrove commented Mar 20, 2018

Moving to the "Dart 2 Stable" milestone

@dgrove dgrove modified the milestones: 2.0-alpha2, Dart2 Stable Mar 20, 2018
@leafpetersen leafpetersen removed this from the Dart2Stable milestone May 10, 2018
dart-bot pushed a commit that referenced this issue Oct 11, 2018
This feature specification is intended to resolve bullet item 2 in
the issue #31228.

A rendered version corresponding to patch set 16 is available at
https://gist.github.com/eernstg/a55c8000610a506bf0ca70b028d9f1eb.

Change-Id: I7d3e67bd7dd2d2cfc73fbd491bcfbea1814421e0
Reviewed-on: https://dart-review.googlesource.com/c/40080
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
@eernstg
Copy link
Member

eernstg commented Jan 8, 2019

Closing: All specification tasks requested here are complete except for inference, and that is handled in the individual issues mentioned above.

@eernstg eernstg closed this as completed Jan 8, 2019
lrhn pushed a commit to dart-lang/language that referenced this issue Sep 4, 2020
This feature specification is intended to resolve bullet item 2 in
the issue dart-lang/sdk#31228.

A rendered version corresponding to patch set 16 is available at
https://gist.github.com/eernstg/a55c8000610a506bf0ca70b028d9f1eb.

Change-Id: I7d3e67bd7dd2d2cfc73fbd491bcfbea1814421e0
Reviewed-on: https://dart-review.googlesource.com/c/40080
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-language Dart language related items (some items might be better tracked at github.com/dart-lang/language). area-specification (deprecated) Deprecated: use area-language and a language- label. language-strong-mode-polish
Projects
None yet
Development

No branches or pull requests

5 participants