Skip to content

Change published spec to dotnet/csharpstandard #27789

Closed
dotnet/csharplang
#5815
@BillWagner

Description

@BillWagner

The ECMA version of C# 6 can replace the Microsoft spec in dotnet/csharplang. In February, we should remove the /spec folder from dotnet/csharplang (after updating links in proposals and LDM notes).

Progress on C# 6 standard:

The ECMA committee is down to [6 issues](https://github.com/dotnet/csharpstandard/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22C%23+6%22 left on C# 6. The only feature remaining is “Better Betterness”. That hasn’t made it into the Microsoft C# 6 spec. We believe the C# 6 ECMA draft can replace the Microsoft C# 6 spec, without losing any information. The Microsoft and ECMA specs have been merged.

Note that the ECMA version includes 6 chapters before “Lexical Structure” that are required from ECMA / ISO. The latest ECMA version also removes the “Introduction” chapter as unnecessary.

Publishing new drafts:

  • Make the change to publish the C# spec on docs using the ECMA C# 6.0 draft.
  • Add the detailed table of contents to docs for easier navigation.

Retire the /spec folder in csharplang

Once ECMA version is published on docs, we should remove the /spec folder contents from the dotnet/csharplang repo.

  • LDM proposals would reference the corresponding sections in the dotnet/csharpstandard repo.
  • The current contents should be replaced with placeholders that point to the dotnet/csharpstandard repo. That way, external links (Stack Overflow, blogs, etc) would resolve to content that points to the new location rather than return a 404 status. These links would all point to the draft-v6 branch. That feels correct, in that any existing links would be to that version of the spec.

Future updates

As the ECMA committee creates draft for later versions of the C# spec, we anticipate that we'll stop publishing the features specs on docs.microsoft.com, but we won't remove those from the dotnet/csharplang repo. The feature specs have design considerations that won't be included in the standard, so they remain useful. However, most readers of the spec would benefit more from a cohesive view of the latest completed standard.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions