Description
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 thedraft-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.
- ID: 362f3e73-a902-45e6-382d-328a4552a235
- Version Independent ID: d4253465-4bfc-e473-f745-0d5e1ff4e76c
- Content: Introduction - C# language specification
- Content Source: spec/introduction.md
- Product: dotnet-csharp
- Technology: csharp-spec
- GitHub Login: @dotnet-bot
- Microsoft Alias: wiwagn