csharplang/meetings/2017
2017-05-30 16:58:13 -07:00
..
CLR-2017-03-23.md Add meeting notes for 2017-03-23 CLR behavior for default methods (#407) 2017-04-04 17:47:46 -07:00
LDM-2017-01-10.md Move design meeting notes into subfolders by year 2017-01-31 10:38:26 -08:00
LDM-2017-01-11.md Move design meeting notes into subfolders by year 2017-01-31 10:38:26 -08:00
LDM-2017-01-17.md Small fixes to LDM notes (#383) 2017-04-04 15:17:33 -07:00
LDM-2017-01-18.md Move design meeting notes into subfolders by year 2017-01-31 10:38:26 -08:00
LDM-2017-02-14.md Add upcoming meetings 2017-02-09 10:54:08 -08:00
LDM-2017-02-15.md Add upcoming meetings 2017-02-09 10:54:08 -08:00
LDM-2017-02-21.md Small fixes to LDM notes (#383) 2017-04-04 15:17:33 -07:00
LDM-2017-02-22.md Small fixes to LDM notes (#383) 2017-04-04 15:17:33 -07:00
LDM-2017-02-28.md Small fixes to LDM notes (#383) 2017-04-04 15:17:33 -07:00
LDM-2017-03-01.md Add design notes 2017-03-27 09:50:15 -07:00
LDM-2017-03-07.md Finish more notes 2017-04-05 17:19:42 -07:00
LDM-2017-03-08.md Add design notes 2017-05-30 15:56:12 -07:00
LDM-2017-03-15.md Add design notes 2017-05-30 15:56:12 -07:00
LDM-2017-03-21.md Fix formatting 2017-05-30 16:58:13 -07:00
LDM-2017-03-28.md Add meeting notes 2017-04-14 15:52:56 -07:00
LDM-2017-03-29.md Add design notes 2017-04-05 16:03:55 -07:00
LDM-2017-04-05.md Add design notes 2017-04-05 16:03:55 -07:00
LDM-2017-04-11.md Update meeting note 2017-04-14 15:53:46 -07:00
LDM-2017-04-18.md Add design notes 2017-04-19 17:14:50 -07:00
LDM-2017-04-19.md Add design notes 2017-04-19 17:14:50 -07:00
LDM-2017-05-16.md Add design notes 2017-05-30 15:56:12 -07:00
LDM-2017-05-17.md Add design notes 2017-05-30 15:56:12 -07:00
LDM-2017-05-26.md Add design notes 2017-05-30 15:56:12 -07:00
README.md Fix formatting 2017-05-30 16:56:33 -07:00

C# Language Design Notes for 2017

Overview of meetings and agendas for 2017

Jan 10, 2017

C# Language Design Notes for Jan 10, 2017

  1. Discriminated unions via "closed" types

Jan 11, 2017

C# Language Design Notes for Jan 11, 2017

  1. Language aspects of compiler intrinsics

Jan 17, 2017

C# Language Design Notes for Jan 17, 2017

  1. Constant pattern semantics: which equality exactly?
  2. Extension methods on tuples: should tuple conversions apply?

Jan 18, 2017

C# Language Design Notes for Jan 18, 2017

  1. Async streams (visit from Oren Novotny)

Feb 21, 2017

C# Language Design Notes for Feb 21, 2017

We triaged some of the championed features, to give them a tentative milestone and ensure they had a champion.

As part of this we revisited potential 7.1 features and pushed several out.

  1. Implicit interface implementation in Visual Basic (VB 16)
  2. Delegate and enum constraints (C# X.X)
  3. Generic attributes (C# X.0 if even practical)
  4. Replace/original (C# X.0 if and when relevant)
  5. Bestest betterness (C# 7.X)
  6. Null-coalescing assignments and awaits (C# 7.X)
  7. Deconstruction in from and let clauses (C# 7.X)
  8. Target-typed new expressions (C# 7.X)
  9. Mixing fresh and existing variables in deconstruction (C# 7.1)
  10. Implementing == and != on tuple types (C# 7.X)
  11. Declarations in embedded statements (No)
  12. Field targeted attributes on auto-properties (C# 7.1)

Feb 22, 2017

C# Language Design Notes for Feb 22, 2017

We went over the proposal for ref readonly: Champion "Readonly ref".

Feb 28, 2017

C# Language Design Notes for Feb 28, 2017

  1. Conditional operator over refs (Yes, but no decision on syntax)
  2. Async Main (Allow Task-returning Main methods)

Mar 1, 2017

C# Language Design Notes for Mar 1, 2017

  1. Shapes and extensions (exploration)
  2. Conditional refs (original design adopted)

Mar 7, 2017

C# Language Design Notes for Mar 7, 2017

We continued to flesh out the designs for features currently considered for C# 7.1.

  1. Default expressions (design adopted)
  2. Field target on auto-properties (yes)
  3. private protected (yes, if things work as expected)

Mar 8, 2017

C# Language Design Notes for Mar 8, 2017

We looked at default interface member implementations.

  1. Xamarin interop scenario
  2. Proposal
  3. Inheritance from interface to class
  4. Overriding and base calls
  5. The diamond problem
  6. Binary compatibility
  7. Other semantic challenges

Mar 15, 2017

C# Language Design Notes for Mar 8, 2017

Triage of championed features

  1. JSON literals
  2. Fixing of captured locals
  3. Allow shadowing of parameters
  4. Weak delegates
  5. Protocols/duck typing/concepts/type classes
  6. Zero and one element tuples
  7. Deconstruction in lambda parameters
  8. Private protected

Mar 21, 2017

C# Language Design Notes for Mar 21, 2017

Discussion of default interface member implementations, based on this guided tour.

  1. Concerns raised on GitHub and elsewhere
  2. Inheritance?
  3. Breaking name lookup on this
  4. Events
  5. Modifiers
  6. Methods
  7. Properties
  8. Overrides
  9. Reabstraction
  10. Most specific override
  11. Static non-virtual members
  12. Accessibility levels
  13. Existing programs