csharplang/meetings/2018
2018-10-18 09:21:08 -07:00
..
LDM-2018-01-03.md Clean up Jan design notes 2018-03-20 17:38:03 -07:00
LDM-2018-01-10.md Clean up Jan design notes 2018-03-20 17:38:03 -07:00
LDM-2018-01-18.md Clean up Jan design notes 2018-03-20 17:38:03 -07:00
LDM-2018-01-22.md Clean up Jan design notes 2018-03-20 17:38:03 -07:00
LDM-2018-01-24.md Clean up Jan design notes 2018-03-20 17:38:03 -07:00
LDM-2018-01-31.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-02-05.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-02-07.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-02-14.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-02-21.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-02-26.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-02-28.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-03-14.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-03-19.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-03-21.md Add raw notes for 3/21/2018 2018-03-27 17:43:43 -07:00
LDM-2018-03-28.md Add raw notes for Mar 28, 2018 2018-03-30 11:27:15 -07:00
LDM-2018-04-02.md Add raw notes 2018-04-06 10:44:01 -07:00
LDM-2018-04-04.md Add raw notes 2018-04-06 10:44:01 -07:00
LDM-2018-04-25.md add and edit design notes 2018-05-18 16:04:30 -07:00
LDM-2018-04-30.md add and edit design notes 2018-05-18 16:04:30 -07:00
LDM-2018-05-02.md add and edit design notes 2018-05-18 16:04:30 -07:00
LDM-2018-05-14.md add and edit design notes 2018-05-18 16:04:30 -07:00
LDM-2018-05-21.md Add design notes 2018-05-23 09:37:18 -07:00
LDM-2018-05-23.md Add design notes 2018-07-09 17:07:16 -07:00
LDM-2018-05-30.md Add design notes 2018-07-09 17:07:16 -07:00
LDM-2018-06-04.md Add design notes 2018-07-09 17:07:16 -07:00
LDM-2018-06-06.md Add design notes 2018-07-09 17:07:16 -07:00
LDM-2018-06-25.md Add design notes 2018-07-09 17:07:16 -07:00
LDM-2018-07-09.md Add notes for 2018-07-09 LDM 2018-07-12 23:33:10 -07:00
LDM-2018-07-11.md Add LDM notes for 2018-07-11 2018-07-16 16:52:12 -07:00
LDM-2018-07-16.md Minor formatting issue on "<no attribute>" case 2018-07-19 07:26:34 -07:00
LDM-2018-08-20.md Update LDM-2018-08-20.md 2018-09-25 11:29:37 -07:00
LDM-2018-08-22.md Add notes for 2018-08-22 2018-09-11 14:07:01 -07:00
LDM-2018-09-05.md Add meeting notes for 2018-09-05 2018-09-11 14:16:49 -07:00
LDM-2018-09-10.md Add LDM notes for 2018-09-10 2018-09-21 13:59:04 -07:00
LDM-2018-09-19.md LDM notes for 2018-09-19 2018-09-25 14:42:02 -07:00
LDM-2018-09-24.md Add LDM notes for 2018-09-24 2018-10-17 14:38:49 -07:00
LDM-2018-10-01.md Add design notes 2018-10-09 16:24:16 -07:00
LDM-2018-10-03.md Add design notes 2018-10-09 16:24:16 -07:00
README.md Update LDM Agenda 2018-10-18 09:21:08 -07:00

C# Language Design Notes for 2018

Overview of meetings and agendas for 2018

Jan 3, 2018

C# Language Design Notes for Jan 3, 2018

  1. Scoping of expression variables in constructor initializer
  2. Scoping of expression variables in field initializer
  3. Scoping of expression variables in query clauses
  4. Caller argument expression attribute
  5. Other caller attributes
  6. New constraints

Jan 10, 2018

C# Language Design Notes for Jan 10, 2018

  1. Ranges and endpoint types

Jan 18, 2018

C# Language Design Notes for Jan 18, 2018

We discussed the range operator in C# and the underlying types for it.

  1. Scope of the feature
  2. Range types
  3. Type name
  4. Open-ended ranges
  5. Empty ranges
  6. Enumerability
  7. Language questions

Jan 22, 2018

C# Language Design Notes for Jan 22, 2018

We continued to discuss the range operator in C# and the underlying types for it.

  1. Inclusive or exclusive?
  2. Natural type of range expressions
  3. Start/length notation

Jan 24, 2018

C# Language Design Notes for Jan 24, 2018

  1. Ref reassignment
  2. New constraints
  3. Target typed stackalloc initializers
  4. Deconstruct as ref extension method

July 9, 2018

C# Language Design Notes for July 9, 2018

  1. using var feature
    1. Overview
    2. Tuple deconstruction grammar form
    3. using expr; grammar form
    4. Flow control safety
  2. Pattern-based Dispose in the using statement
  3. Relax Multiline interpolated string syntax ($@)

July 11, 2018

C# Language Design Notes for July 11, 2018

  1. Controlling nullable reference types with feature flags
  2. Interaction with NonNullTypesAttribute
  3. Feature flag and 'warning waves'
  4. How 'oblivious' null types interact with generics
  5. Nullable and interface generic constraints

July 16, 2018

C# Language Design Notes for July 16, 2018

  1. Null-coalescing assignment
    1. User-defined operators
    2. Unconstrained type parameters
    3. Throw expression the right-hand side
  2. Nullable await
  3. Nullable pointer access
  4. Non-nullable reference types feature flag follow-up

August 20, 2018

C# Language Design Notes for August 20, 2018

  1. Remaining questions on suppression operator (and possibly cast)
  2. Does a dereference update the null-state?
  3. Null contract attributes
  4. Expanding the feature
  5. Is T? where T : class? allowed or meaningful?
  6. Typing judgments containing oblivious types
  7. Unconstrained T in List then FirstOrDefault(). What attribute to annotate FirstOrDefault?

August 22, 2018

C# Language Design Notes for August 22, 2018

  1. Target-typed new
  2. Clarification on constraints with nullable reference types enabled

September 5, 2018

C# Language Design Notes for September 5, 2018

  1. Index operator: is it a unary operator?
  2. Compiler intrinsics

September 10, 2018

C# Language Design Notes for September 10, 2018

  1. Nullability of constraints in inheritance and interface implementation
  2. Static local functions

Sep 19, 2018

C# Language Design Notes for September 19, 2018

Triage:

  1. XML doc comment features
  2. New foreach pattern using Length and indexer
  3. Object initializers for readonly members
  4. readonly struct methods
  5. params Span<T>
  6. Nullable reference type features on Nullable<T>

Sep 24, 2018

C# Language Design Notes for September 24, 2018

Combined C#/F# LDM

  1. What new C# features are going to require work to get F# support?
  2. How can the design of C# features play well with the broader .NET environment?

Oct 1, 2018

C# Language Design Notes for Oct 1, 2018

  1. Nullable type inference
  2. Type parameters and nullability context

Oct 3, 2018

C# Language Design Notes for Oct 3, 2018

  1. How is the nullable context expressed?
  2. Async streams - which interface shape?

Upcoming meetings

Sep 26, 2018

  • Warning waves (Jason, Tom)

Oct 10, 2018

  • Pattern matching open questions (Neal)

Oct 15, 2018

  • Readonly methods in structs (Jared)
  • Intrinsics update with function pointers (Jared)
  • Finalize syntax for async-streams. Per last notes, the current tentative syntax is foreach await (var x in ...) ....

Oct 17, 2018

  • Open issues with default interface methods (Aleksey, David)
  • target typed new with default constructors on structs (Julien, Neal)

Oct 22, 2018

  • Discussion of records (Andy)

Oct 24, 2018

Oct 29, 2018

  • Nullable switches, settings and directives, and their metadata encoding

Oct 31, 2018

  • Design review

Nov 5, 2018

  • Triage milestones

Nov 7, 2018

Nov 14, 2018

Nov 19, 2018

Schedule ASAP

Schedule when convenient

  • Discussion of refreshing language spec (Neal)

Recurring topics

  • Triage championed features
  • Triage milestones
  • Design review