Christian Findlay
cfdevelop.bsky.social
Christian Findlay
@cfdevelop.bsky.social
570 followers 290 following 920 posts
#Flutter and #dotnet https://www.christianfindlay.com
Posts Media Videos Starter Packs
Pinned
And here it is!!! My new programming language Osprey! This has been a 20 year long dream, finally made possible with AI assistance. So stoked this is finally possible! 🎉

Stars and shares appreciated! ✨
I want to build a community around this

ospreylang.dev
Some people feel uncomfortable using end to end encrypted chat

That’s like being uncomfortable not broadcasting your conversations to everyone at Microsoft, Apple or Google

Privacy should be the default. It’s not shady to demand privacy
I can’t believe how entrenched people’s coding style gets

They’re often 10 years out of date and refuse to learn new approaches

I don’t get it. I use multiple languages and pick up every bit of syntax sugar I can
The most common criticism I hear of generative AI is “it’s not original! It just recombines stuff it already knows!”

Well, that exactly what all human expression is

You think it’s divinely inspired or something?
If you’re building an agent, you definitely need to add MCP support, and RC Net can bridge the gap between your agent and whatever API you want to talk to
Yeah. Dart devs went through the roller coaster and came out the other side better off

C# devs haven’t been forced so they continue to sit in their own shit and make up excuses not to do things the easy way
Turning on Nullable Reference Type analyzer rules in C# is a no brainer. All codebases should have it

But how do you explain to people who haven’t used null safety that it’s necessary?

Why do they think null checking everything is ok?
Generate a full .NET based MCP server from an OpenAPI 3.x spec with RestClient .Net 7!!!

Windsurf is hitting a Nucliadb MCP server generated from OpenAPI 3.1 YAML

github.com/MelbourneDev...
RestClient .Net 7 comes with a Nucliadb SDK client generated from the OpenAPI 3.1 YAML. MCP also on the way!

Tests are running in the pipeline against the live NucliaDB server

github.com/MelbourneDev...
That would be great. Keen to hear how it goes. If you have issues, let me know
Btw, if you use Exhaustion with Dunet, it should enforce exhaustiveness checks on switches
If you look at the generated JSON a placeholder example, you can see that it generates similar discriminated unions like Dunet
Ah right! That gives me a great idea. Dunet looks like it’s just adding the type aliases for closed type hierarchies. This is the gap that needs to be filled for my library Outcome, which has result types for rc net. Will build the same thing. Rc net’s code generator already has this btw
Can you believe this switch expression is exhaustive? Finally!

I got sick of waiting for unions in C# and just made the damn analyzer myself

You no longer have to go to GitHub repos and beg people for functionality.

Just build it
AI skeptics are on another level of cognitive dissonance

How can they sit there and doubt it when people are building compilers, industrial strength frameworks and apps from nothing?

Like, what does it take for these people to see reality?
Every new model is a slight improvement, but most LLMs have a very good grasp of FP

Check out what I’ve achieved here

Ospreylang.dev
Your team can choose any language that LLMs are trained in. Haskell, Scala, to a lesser extent F# and Ocaml- these are all languages that LLMs are trained with

Your team doesn’t need to stick to bloated OOP languages with no type inference, exhaustiveness checking or type design
Exhaustive type checks on pattern matching for closed type hierarchies in C#? Sure, why not?
RestClient .Net 6 has a perfect mutation testing score with
Stryker Mutator
Just figured out the final design for RestClient .NET 6.

I think this the safest .NET rest client by far.

Narrows HTTP call responses down to success or failure only.

But more importantly an extra analyzer adds exhaustiveness checking on switch. So you CANNOT mess up
Switzerland may be on the right track. Independence is proving to be a winner here.