Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a draft specification for pattern-matching so it is version controlled. #6570

Merged
merged 4 commits into from
Nov 5, 2015

Conversation

gafter
Copy link
Member

@gafter gafter commented Nov 4, 2015

By repeated community request.

@gafter
Copy link
Member Author

gafter commented Nov 4, 2015

/cc @MadsTorgersen @jared Please review.

This is a draft proposed feature spec being checked into the common (future) repository by community request - people want to be able to follow the revision history. I'll work on a couple of the other draft specs next.

Pattern Matching for C#
=======================

Pattern matching extensions for C# enable many of the benefits of algebraic data types and pattern matching from functional languages, but in a way that smoothly integrates with the feel of the underlying language. The basic features are: [record types](records.md), which are types whose semantic meaning is described by the shape of the data; and pattern matching, which is a new expression form that enables extremely concise multilevel decomposition of these data types. Elements of this approach are inspired by related features in the programming languages [F#](http://www.msr-waypoint.net/pubs/79947/p29-syme.pdf "Extensible Pattern Matching Via a Lightweight Language") and [Scala](http://lampwww.epfl.ch/~emir/written/MatchingObjectsWithPatterns-TR.pdf "Matching Objects With Patterns").

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

records.md is 404

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That right, it hasn't been written yet.

gafter added a commit that referenced this pull request Nov 5, 2015
Add a draft specification for pattern-matching so it is version controlled.
@gafter gafter merged commit d13feca into dotnet:future Nov 5, 2015
@gafter gafter deleted the pattern-spec branch March 22, 2016 05:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants