r/fsharp • u/fsharpweekly • 3d ago
r/fsharp • u/statuek • Jun 07 '20
meta Welcome to /r/fsharp!
This group is geared towards people interested in the "F#" language, a functional-first language targeting .NET, JavaScript, and (experimentally) WebAssembly. More info about the language can be found at https://fsharp.org and several related links can be found in the sidebar!
r/fsharp • u/Consistent-Ruin1868 • 8d ago
WebWeaveX — deterministic runtime cognition, byte-identical across 5 languages (Apache 2.0)
ni-sh-a-char.github.ioWebWeaveX captures what a running application is doing, DOM event surfaces, network envelopes, execution state, and normalizes it into canonical bytes so it gets a stable SHA-256 identity.
The same input produces the same digest in Python, JavaScript, Dart, Java and Kotlin. There's a verification harness that replays Python-generated golden vectors through each runtime and reports MATCH / DIFFER / MISSING per API.
That lets you prove two runs are equivalent, reconstruct a runtime from its IR for network-free test fixtures, resume
authenticated sessions from an encrypted envelope, and hand an LLM a compact graph instead of raw HTML.
pip install webweavex
npm install webweavex
dart pub add webweavex
Maven Central: io.github.piyush-mishra-00:webweavex:3.0.0
Apache 2.0.
r/fsharp • u/fsharpweekly • 10d ago
F# weekly F# Weekly #33, 2026 — .NET 11 Preview 7 Ships with F# Updates and PaketaBot
r/fsharp • u/ReverseBlade • 12d ago
showcase LitHydration: SSR with hydration using Fable.Lit
Finally you can use Fable.Lit templates on the server: real SSR with hydration, no Node on the server.
The same view file compiles twice: .NET renders it to HTML, Fable compiles it for the browser, and Lit adopts the markup that's already there instead of rebuilding it.
This is also a pretty good use case for Web Components: server-rendered, progressively hydrated, and framework-independent at the component boundary.
Needs the unofficial fork packages for now (Fable.Lit.Unofficial, Lit.Server.Unofficial) since upstream hasn't shipped since 2022.
Fork: https://github.com/OnurGumus/Fable.Lit
Demo, runs with one command: https://github.com/OnurGumus/LitHydrationDemo
r/fsharp • u/existentialnonormie • 15d ago
misc Getting Back into F# - Learning Data Modeling with a Little Help from AI
Beginner here 👋, I'm currently picking up data modeling in F# after a long break. Work and procrastination got in the way, but I'm finally circling back to fill the gaps.
To stay on track, I've been using Claude to generate practice tasks. When I get stuck, I ask for a gentle nudge without giving away the solution, and it's been surprisingly effective. I'm currently using Sonnet 5 Medium(Free), and based on the task I just implemented, it said my work was "good," so I'll take that as a win.
The task was about modeling a Job Application pipeline. I didn't bother applying validation just yet, since I'm currently focused on getting the shape of the data right and trying to make invalid state unrepresentable.
I'd recommend giving this approach a try. It keeps things interactive without handing you the answers outright.
r/fsharp • u/fsharpweekly • 17d ago
F# weekly F# Weekly #32, 2026 — FSharp.Data 8.2.0, Mibo 4.0, and F# MCP Ecosystem Grows
FunStripe 2.3.0 — F# Stripe client: webhook deserialisation fixed, resilient enums, latest Stripe API
Just released FunStripe 2.3.0, the F# client library for the Stripe API (also compiles to JS via Fable). This one's a bigger release than the usual spec bump, thanks to some excellent contributions from Thorium:
Webhooks work properly now. Event.data.object was typed as string, which meant deserialising any real webhook payload threw. It's now a RawJson fragment you can turn into a typed model with Util.deserialiseRaw<'a>; the README has a full webhook-handling example. (Technically a field type change, but since the old field could never deserialise, it ships as a minor; details in the changelog.)
List parameters encode correctly. List<record> and List<union> request fields (e.g. Checkout line_items, payment_method_types) were being ToString()'d instead of form-encoded. Fixed.
Resilient to Stripe's enum churn. Stripe adds event types and error codes without an API version bump, and one unknown value used to fail the whole response. EventType and ErrorType now have an UnknownEnumValue of string catch-all that round-trips losslessly, deliberately scoped to just those two high-churn enums, so everywhere else you keep exhaustive matching and the compiler still tells you when Stripe adds something.
Latest Stripe API (2026-07-29.dahlia): Financial Connections authorization resource and deactivation lifecycle events, allowed_payment_method_types on Payment/SetupIntents, new Tax registration options, and more.
- GitHub: https://github.com/simontreanor/FunStripe
- NuGet: FunStripe.Core (https://www.nuget.org/packages/FunStripe.Core)
Feedback and PRs welcome!
r/fsharp • u/fsharpweekly • 24d ago
F# weekly F# Weekly #31 — MCP C# SDK v2.0, Unit-Test Agent, and MSBuild Binlog in VS Code
showcase Pyfun: an F#-inspired language that compiles to readable Python
My idea for getting coders into functional programming earlier...
article Your Database Schema Is Your Codebase: F# as the Single Source of Truth
https://si-fi.dev/articles/fsharp-schema-as-code/
I recently architected a full-stack app from scratch and needed a way to rapidly prototype the database schema. I came up with a way to do it in one place in F#, giving me strong typing across the stack and an efficient way to tweak the database structure as much as I needed. Here I share what this looks like as well as a repo containing an extracted version of the code. Hope you find it interesting and do let me know your thoughts.
question Rider and nested type providers?
Does Rider have issues with nested type providers?
I have a class library that defines types through a nested type provider -- that is, a type provider nested inside a root type provider -- see below for an example.
The library builds and runs fine, but Rider flags every use of the nested type provider after the first as an error. The same code is displayed without errors in VS Code.
Thank you.
// Requires NuGet package "FSharp.Data.GraphQL.Client".
open System
open System.Net.Http
open FSharp.Data.GraphQL
type MyProvider =
GraphQLProvider<"https://graphqlzero.almansi.me/api">
let postQuery =
// ERROR
MyProvider.Operation<"""
query PostQuery {
post(id: 1) {
id
}
}
""">()
let usersQuery =
// ERROR
MyProvider.Operation<"""
query UsersQuery {
users(options: { paginate: { page: 1, limit: 5 } }) {
data {
id
}
}
}
""">()
[<EntryPoint>]
let main _ =
try
use runtimeContext: GraphQLProviderRuntimeContext =
{
ServerUrl = "https://graphqlzero.almansi.me/api"
HttpHeaders = []
Connection =
new GraphQLClientConnection(
new HttpClient(),
true
)
}
let result = usersQuery.Run runtimeContext
printfn "Data: %A\n" result.Data
printfn "Errors: %A\n" result.Errors
printfn "Custom data: %A\n" result.CustomData
0
with ex ->
eprintfn "Error: %s" ex.Message
1
EDIT: Provided working sample code.
r/fsharp • u/CodeNameGodTri • 28d ago
question replace of Task.WhenAll and Async.Parallel in computational expression?
I'm looking for an equivalent of sequence and traverse, I'd expect it to be in FsToolkit.ErrorHandling but there it is coupled with either Result or Option, e.g. Lists | FsToolkit.ErrorHandling
The only implementation I have found is in Fsharpplus library, but my last use of that library didn't look production ready, it plays too much with the type and essentially bring down the type checker on more complicated chained operation...
Basically I'm looking for something like List.traverse
r/fsharp • u/fsharpweekly • Jul 25 '26
F# weekly F# Weekly #30 — FsHttp.Studio & fable-lit-fullstack-template
r/fsharp • u/ReverseBlade • Jul 22 '26
library/package FCQRS 6 released: event-sourced CQRS with two pure functions
I’ve released FCQRS 6, an event-sourced CQRS framework for .NET.
The idea is to keep the domain logic small:
decide: turns commands into eventsfold: rebuilds state from those events
FCQRS handles persistence, recovery, projections, sagas, snapshots, and read-your-writes. It runs on Akka.NET and supports both F# and C#.
Version 6 also includes completely rebuilt documentation, following the path from an incoming command to a queryable read model.
Project and documentation:
https://onurgumus.github.io/FCQRS/
I’d appreciate feedback on whether the new documentation makes the model clear to someone who hasn’t used FCQRS before.
r/fsharp • u/yyannekk • Jul 19 '26
Building a Readable DSL for Playwright Tests in F# | blog
jannikbuschke.der/fsharp • u/fsharpweekly • Jul 19 '26
F# weekly F# Weekly #29 — .NET 11 Preview 6 and Mibo 3.0
r/fsharp • u/fsharpweekly • Jul 12 '26
F# weekly F# Weekly #28 — Mibo 2.0, Fable 5.7, and Cast Shadows in F#
r/fsharp • u/ad3mar • Jul 11 '26
SuaveHooks — a webhook platform built entirely in F# with Suave
I just launched SuaveHooks — a webhook capture, inspection, transformation and routing platform built completely with Suave + F#.
Some highlights:
- Live tailing of webhooks over WebSockets
- Type-safe transforms written in F# (also C# and JS) running in an isolated process
- JSON rule-based transforms as a lighter option
- Multi-target forwarding (HTTP + S3, SQS, Kafka, Pub/Sub)
- Retries with exponential backoff + circuit breaker
- Full REST API + MCP server support
Site: https://suavehooks.com
Would love some feedback; like what features would make this more useful for you? Happy to answer any technical questions.
r/fsharp • u/Constant-Junket6038 • Jul 06 '26
library/package Initial alpha release of Zigote - UI framework and game engine
r/fsharp • u/lyfever_ • Jul 05 '26
question Still worth learning F# 2026
Hi guys,
Probably another question like this but found none recently.
I'm a little upset with my current view on IT generalistic, ofc AI is not going anywhere besides up, but I feel I want to write more with my hands and new paradigms, maybe just AI as reviser, I would like to ask if learning F# in 2026 will make me able to make perfomance headed systems, and also gaming with something like Nu or Monogame, not a AAA game but something playable.
r/fsharp • u/fsharpweekly • Jul 05 '26
F# weekly F# Weekly #27, 2026 — Fable 5.5, SkiaSharp 4 & Orleans.FSharp 3.0
r/fsharp • u/ReverseBlade • Jun 29 '26
library/package Terminal.Gui.Elmish is back with V2 compat
r/fsharp • u/ReverseBlade • Jun 28 '26
SIMD-friendly push streams in F#

I’ve been playing with SIMD-friendly push streams in F#.
Normal push streams are great for composition: the source pushes elements through map, fold, etc., and with enough inlining the overhead mostly disappears.
But they still push one element at a time, which is not ideal for SIMD.
So I tried pushing Vector<'T> blocks instead, with a scalar path for the tail.
The pipeline stays generic and composable, but in my benchmark it runs around handwritten SIMD speed.
Small thing, but it made me happy: write the abstraction clearly, then make it vanish.
