February 9, 2026
Tiny tweaks, mega takes
F# 10
Small tweaks, big feelings: fans cheer clarity as .NET jitters flare
TLDR: F# 10 ships with .NET 10 and Visual Studio 2026, polishing the language with tighter warning controls, simpler properties, and faster builds. Fans applaud the refinement, while ML purists worry about the .NET ecosystem and veterans debate whether tooling and C# interop have finally grown up—important for anyone eyeing F# adoption.
F# 10 just dropped with .NET 10 and Visual Studio 2026, and while the changes are small, the comments are loud. Fans are hyped about cleaner, faster coding—think “mute button” for picky warnings, simpler “read in public, edit in private” properties, and snappier builds thanks to a new type cache. But warning rules got stricter, which means some old habits stop working, and that sparked debate.
The hottest take? Daily user nozzlegear calls it steady wins—and then jokes he thought the “and!” features were already out, turning the thread into a time-travel meme. Meanwhile, olivia-banks brings the drama with the classic “I love ML, but .NET scares me” stance, praising OCaml vibes while side-eying the Microsoft ecosystem around F#. That lit up a mini culture war: pragmatic polish vs. platform anxiety. emmanueloga_ pours salt on old wounds, recalling clunky tooling in VS Code and awkward F#/C# mixing; replies split between “it’s fixed now, hop in” and “still not smooth enough.”
Humor flew fast: “Scoped warnings = parental controls for compiler nagging,” “and! already shipped in my heart,” and even “SML FOMO” from folks wishing their favorite ML cousin had this energy. Verdict? Refinement fans are celebrating, but the .NET hesitation and tooling scars keep the comments spicy.
Key Points
- •F# 10 is released with .NET 10 and Visual Studio 2026 as a refinement update focused on clarity, consistency, and performance.
- •Scoped warning suppression is introduced via #warnon paired with #nowarn, enabling localized control of compiler warnings (e.g., FS0025).
- •Breaking changes affect warning directives: multiline/empty directives are disallowed, whitespace after # is prohibited, and certain string forms cannot represent warning numbers.
- •Script behavior for #nowarn/#warnon now matches .fs files, applying only until end-of-file or a corresponding directive.
- •Access modifiers on auto property accessors allow patterns like public get and private set; the release also adds performance improvements via the type subsumption cache and mentions ValueOption optional parameters.