Wednesday, January 28, 2015

First C# 7 Design Meeting Notes (github.com)

1. Agenda

This is the first design meeting for the version of C# coming after C# 6. We shall colloquially refer to it as C# 7. The meeting focused on setting the stage for the design process and homing in on major themes and features.

  • Design process
  • Themes
  • Features

2. Themes

    Working with data
    • pattern matching
    • tuples
    • "denotable" anonymous types
    • "records" - compact ways of describing shapes
    • working with common data structures (List/Dictionary)
    • extension members
    • slicing
    • immutability
    • structural typing/shapes?
  • Performance and reliability (and interop)
  • Componentization
  • Distribution
  • Metaprogramming
  • Null

3. Features

  • Pattern matching
  • Records
  • Array Slices
  • ref locals and ref returns
  • readonly parameters and locals
  • Lambda capture lists
  • Method contracts

Read more.