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

Support F#4.1 and C#7 #689

Merged
merged 25 commits into from May 25, 2017

Conversation

Projects
None yet
1 participant
@Jand42
Member

Jand42 commented Apr 21, 2017

New features of F# 4.1: (source)

  • Struct tuples
  • Struct unions and records in client-side
  • Byref returns
  • Result type
  • New Option module functions

Should be handled by FCS itself, but needs tests:

  • Underscores in numeric literals
  • Mutually Referential Types and Modules Within the Same File
  • Implicit “Module” Suffix on modules which share the same name as a type
  • Optional and DefaultParameterValue respected in F# within the same project

Optionally:

  • Remoting for structs
  • Client-side optimization for structs (erase to single value or JS array)
  • Use new F# CallerLineNumber/CallerFilePath for better errors on InlineControl failures, same as C#
  • Do not fail on fixed keyword on client-side, just ignore it

New features of C# 7: (source)

  • Tuples (return types, inline tuples, deconstruction)
  • out variables declared inline where they are used
  • Pattern matching on tuples and types, custom deconstructors
  • Local functions
  • Expression-bodied constructors, properties, indexers
  • throw expression
  • Underscores in numeric literals

Optionally:

  • More general async return types

Follow-up:

  • Templates compatible with VS2017, new item templates

@Jand42 Jand42 merged commit 71b7350 into master May 25, 2017

Jand42 added a commit that referenced this pull request May 29, 2017

@Jand42 Jand42 deleted the fsharp41 branch Aug 11, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment