Yes, I also never understood the misplaced victory dance of ASP .NET promoters and users. It is terribly opaque and complicated, full of magic builders and what not, all somehow adjusting and configuring "services", in some black-box mutating ways. I'll stick with this:
The very first line captures everything I dislike about .NET.
No C# developer actually knows what this one magic line does. It configures a shitload of magic stuff there and nobody knows what it is. Literally every .NET dev just hopes it works for them and when it doesn’t they jump between 20 different StackOverflow threads and try 20 different builder permutations until it somehow works for them. Then when it finally does they get build errors because that builder function which finally worked is from .NET 7 and now in .NET whatever-fucking-version-it-is-today, it’s meant to be initialised differently and then they are back to StackOverflow again.
That’s how C# devs spend 4 hours just fucking around being unproductive because the magic always stops working at some point and then there is nothing left but a shit show.
Working on my #eventsourcing design/template for #haskell applications. Using GADTs we can turn on or off optimistic concurrency check using "global" journal versions. Depending on on/off, the "concurrent change detected" outcome becomes impossible and need not be handled.
One company (apparently) wanted to but somehow failed to hire #fsharp programmers. Seemingly upset about that.
> Companies are running away from FP.
Typical r**z**n propaganda: come up with a bizzare and twisted world view. Blame everyone within that mentally ill framework. 🤡
Replying to @PaulLouth @4Rollings
This is not sufficient, because it works only with interfaces, where type classes/instances are simulated by the library. With real HKTs we want (and have) type checking also for data types, even if there are no type classes instances involved, like this:











