Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 24, 2025

Summary

Replaces the stub fsharp-8.md (which only linked to the blog post) with comprehensive documentation covering all F# 8 features. Content adapted from the official F# 8 announcement.

Code examples use file includes (::: code syntax) to reference verified snippet files, following documentation best practices and avoiding code duplication.

Fixes #45635

Documentation Coverage

  • Language changes: Property shorthand (_.Property), nested record updates, while!, extended string interpolation, arithmetic in literals, type constraint intersection, extended fixed bindings
  • Uniformity improvements: Static members in interfaces, static let in more types, try-with in collections
  • Diagnostics: TailCall attribute, static class warnings, obsolete detection
  • Quality of life: Trimmability, parser recovery, strict indentation, autocomplete
  • Performance: Reference assemblies, compiler parallelization switches
  • FSharp.Core: Inlining optimizations, Array.Parallel APIs, async improvements

Code Examples

Created 8 verified F# script examples in snippets/fsharp-8/ with region markers for targeted includes:

  • PropertyShorthand.fsx - _.Property syntax (regions: Types, Before, After, Standalone)
  • NestedRecordUpdate.fsx - Nested record field updates (regions: Types, Before, After, Anonymous)
  • StringInterpolation.fsx - Multiple $ for interpolation levels (regions: Before, After, Template)
  • LiteralArithmetic.fsx - Operators in literal expressions (regions: Literals, Enums)
  • StaticInInterfaces.fsx - Concrete static members in interfaces (region: Interface)
  • StaticLetInDU.fsx - Static bindings in discriminated unions (region: StaticLet)
  • TryWithInCollections.fsx - Exception handling in collection builders (region: TryWith)
  • TailCallAttribute.fsx - Tail recursion verification (regions: Classic, Accumulator)

All examples tested with dotnet fsi --langversion:8.0. The markdown file uses :::code language="fsharp" source="..." id="..."::: syntax to include code from these files, ensuring maintainability and single source of truth.

Original prompt

This section details on the original issue you should resolve

<issue_title>[New article]: Create dedicated Whats new F# 8 page - follow content from linked blog post</issue_title>
<issue_description>### Proposed topic or title

Whats new F# 8

Location in table of contents.

No response

Reason for the article

Its missing

Article abstract

Follow the blog post

Relevant searches

No response</issue_description>

<agent_instructions>Find docs pages for WhatsNew F# (fsharp folder).
There is an attached link to a blog post. Read it and follow your instructions for properly copying content with code samples from blogs to docs.</agent_instructions>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.


Internal previews

📄 File 🔗 Preview link
docs/fsharp/whats-new/fsharp-8.md docs/fsharp/whats-new/fsharp-8

Copilot AI changed the title [WIP] Add dedicated Whats new F# 8 article Create comprehensive F# 8 What's New documentation from blog post Nov 24, 2025
Copilot AI requested a review from T-Gro November 24, 2025 11:59
Copilot finished work on behalf of T-Gro November 24, 2025 11:59
Copy link
Member

@T-Gro T-Gro left a comment

Choose a reason for hiding this comment

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

@copilot

Now that you have written and verified (good!!) the code samples in separate files, cannot the blog maybe refer to them as files instead of duplicating the content?

I think this blog post has a syntax for file includes (while maintaining rendering those fsharp code)

Copy link
Contributor Author

Copilot AI commented Nov 24, 2025

@copilot

Now that you have written and verified (good!!) the code samples in separate files, cannot the blog maybe refer to them as files instead of duplicating the content?
...

Done! I've refactored the article to use file includes with the :::code syntax instead of duplicating code inline.

Added region markers to all 8 snippet files and updated the markdown to reference them using :::code language="fsharp" source="snippets/fsharp-8/FileName.fsx" id="RegionId":::. All code examples still compile and run correctly with F# 8.

Commit: 19df838

Copilot finished work on behalf of T-Gro November 24, 2025 12:25
Copilot AI requested a review from T-Gro November 24, 2025 12:25
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.

[New article]: Create dedicated Whats new F# 8 page - follow content from linked blog post Typo in adding packages section

2 participants