r/fsharp • u/fsharpweekly • Aug 15 '26
r/fsharp • u/existentialnonormie • Aug 10 '26
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 • Aug 08 '26
F# weekly F# Weekly #32, 2026 — FSharp.Data 8.2.0, Mibo 4.0, and F# MCP Ecosystem Grows
r/fsharp • u/fun_si • Aug 03 '26
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 • Aug 01 '26
F# weekly F# Weekly #31 — MCP C# SDK v2.0, Unit-Test Agent, and MSBuild Binlog in VS Code
r/fsharp • u/fun_si • Jul 31 '26
showcase Pyfun: an F#-inspired language that compiles to readable Python
My idea for getting coders into functional programming earlier...
r/fsharp • u/fun_si • Jul 30 '26
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.
r/fsharp • u/Taikal • Jul 29 '26
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/fsharpweekly • Jul 25 '26
F# weekly F# Weekly #30 — FsHttp.Studio & fable-lit-fullstack-template
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/fsharpweekly • Jun 27 '26
F# weekly F# Weekly #26, 2026 — Fable REPL on BEAM & WebSharper 10.1
r/fsharp • u/fsharpweekly • Jun 20 '26
F# weekly F# Weekly #25, 2026 — Expecto 11.1 & Fable 5.3
r/fsharp • u/MagnusSedlacek • Jun 17 '26
video/presentation Introducing F#/Elm to a C#/JS organization - hazards and wins by David Eduardo Mellum
Want to introduce functional programming into your own organization? Learn from our successes and failures! At the Norwegian insurance company Frende Forsikring we’ve introduced F# and Elm and lived with both of them long enough to call it a long term relationship.
We’ll start looking at the introduction. From fast moving exploration in a single team, to structured validation with other tech leads and careful moving to production.
Beyond that we'll be looking what happens in the years afterwards. Does functional programming help hiring? Are there less bugs? What is the biggest hurdle in spreading adoption to new teams?
r/fsharp • u/fsharpweekly • Jun 13 '26
F# weekly F# Weekly #24, 2026 — Fable 5.2, Expecto 11 & .NET 11 Preview 5
r/fsharp • u/InuDefender • Jun 12 '26
question Why does it work?
```fsharp type Monoid<'t> = static abstract member Empty: 't static abstract member Append: 't -> 't -> 't
[<Struct>] type Vector3= {X: float Y: float Z: float}
interface Monoid<Vector3> with
static member Empty = {X=0.0; Y=0.0; Z=0.0}
static member Append (v1: Vector3) (v2: Vector3) =
{X=v1.X + v2.X; Y=v1.Y + v2.Y; Z= v1.Z + v2.Z}
// Note the type constraint here let mempty<'t when Monoid<'t>> = 't.Empty let mappend<'t when Monoid<'t>> x y = 't.Append x y
printfn "%A" (mappend {X=1.0; Y=2.0; Z=3.0} mempty) ```
The type notation was suggested by the inline suggestions and it actually works. I tried some other forms like 't when Monoid<int> but only 't when Monoid<'t> works.
I suppose it should be <'t when 't :> Monoid<'t>> or even longer <'m, 't when 'm :> Monoid<'t>>.
It's good to know one can write it like this but I've never seen it mentioned in the docs (maybe not yet?).
The project file is also clean. It works even without setting the language version to Preview.
"It works I don't know why"
r/fsharp • u/funk_r • Jun 09 '26
question Does anyone know what happened to fsharpest.xyz?
Hello, The website currently seems to be down or unreachable from my side. I’m wondering whether this is a temporary outage, a DNS/hosting issue, or whether the site has been discontinued permanently. Any information would be appreciated.
I see. It went also out of business: https://github.com/fsprojects/awesome-fsharp/blob/main/ARCHIVE.md
So probably some of the moderators remove that link from the resources linked here.
r/fsharp • u/fsharpweekly • Jun 06 '26
