Urs Enzler
banner
ursenzler.bsky.social
Urs Enzler
@ursenzler.bsky.social
Software engineering, architecture and design stuff, mainly on .Net, F#, and Azure.

Co-Host of .Net user group Central-Switzerland.

#fsharp
#dotnet
#SoftwareArchitecture
If I want to change the return type of the `refactorMe` function from an `Option` to just the value `x`, all calling functions change their type automagically - no need to change every method signature, as in C#. Same for input arguments.

Big time saver.

2/2
November 19, 2025 at 10:51 AM
Or reference system? But then I would assume rotations would also be a thing.
November 15, 2025 at 3:09 PM
A feature more from F# 😅

type Fruit = Apple | Banana

let a = Fruit.Apple
let b = Banana

Both are possible.
November 13, 2025 at 3:28 PM
I'm obviously wrong. Docu:
> If either AsyncResult resolves to an error, then the other is cancelled and only the first error is returned.
November 13, 2025 at 2:45 PM
I don't know. Probably not.
November 13, 2025 at 2:44 PM
Use case: make my coworker cry in agony! 😂
November 13, 2025 at 2:32 PM
And in case you wonder why the whole code is in a method, not a function: The facades to our subsystems are modelled with classes, not modules because they act as a composition root for the subsystem and need to hold state. This makes the design more consistent in our mixed C# and F# codebase.

4/4
November 13, 2025 at 2:26 PM
return!: call a function that returns Result or is async or both and return the return value directly.
|!>: custom operator for |> Async.map

3/4
November 13, 2025 at 2:26 PM
parallelAsyncResult: allows handling errors and asynchronous parallelism
let! x: await the call and assign the result to the value x
and! execute in parallel and await and assign
AsyncResult.requireSome: check that we have a value otherwise return an Error, which acts like an early return

2/4
November 13, 2025 at 2:26 PM
If it makes our builds faster (I couldn't test it yet), then Type subsumption cache.
November 12, 2025 at 7:31 AM
To be fair, the new stuff in F# would probably not make a good presentation. It's better to read about it in the release notes.
There is also an F# talk on the community day.
November 12, 2025 at 6:40 AM
A shorter one: leanpub.com/essential-fs...

Or start with the official documentation: learn.microsoft.com/de-de/dotnet...
Essential F#
This concise, practical ebook will help you discover why F# is such a popular language with those who have spent time learning its secrets.
leanpub.com
November 11, 2025 at 12:32 PM