sabine 🐫🦀 / "use ocaml";
@sabine.sh
3.7K followers 1.1K following 2.1K posts
OCaml developer advocate, 🐫 OCaml.org maintainer, RFC 3339 dating coach, web developer ✨ twitch.tv/sabine_sh github.com/sabine
Posts Media Videos Starter Packs
Pinned
sabine.sh
ok I made a starter pack specific to OCaml 🐫

it mostly includes people who work on OCaml or with OCaml, but also some people who've been engaging with OCaml or trying OCaml

go.bsky.app/RCGiSqw

if you want to be in this starter pack or get taken out of it, let me know!
Reposted by sabine 🐫🦀 / "use ocaml";
lexa.qexat.com
I think that I will write tomorrow about binding monads inside continuations, the syntactical frustration we currently have with that in OCaml, and propose a (probably over-engineered) nice-ish working solution that I came up with while working on a function to connect typed lists.
Reposted by sabine 🐫🦀 / "use ocaml";
noahbogart.com
#ocaml folks, how do you solve the Expression Problem? aka you have a bunch of types and you want to write a new function that operates on those types while allowing the function to be extended as you add new types without modifying the existing function.
Reposted by sabine 🐫🦀 / "use ocaml";
pogtastic.bsky.social
Can some #OCaml folks tell me how they implement or emulate an interface?

Suppose that I have a bunch of different records, and all of them contain a function `show` that uses an internal type and returns a string. Is there any way to put a bunch of these records into the same data structure?
sabine.sh
they're not wrong

the only thing that would fit the bill just as well could be OxCaml
sabine.sh
oh damn, that one slipped past me 🤣

buuuuut yes, this is the life
sabine.sh
nothing wrong with rewriting, honestly - sometimes it's worth it even just for the better understanding of the code and problem space gained
sabine.sh
Hey everyone, we're down to 7 PRs.

In particular, that means all of the cookbook PRs waiting for review were addressed and we're now ready to take more cookbook contributions! 🧡🐫

github.com/ocaml/ocaml....
github.com
sabine.sh
OCaml is low-maintenance, I'm high maintenance

it all cancels out
Reposted by sabine 🐫🦀 / "use ocaml";
sabine.sh
I think, since the questions weren't exactly the same and not presented in the same context, it's comparing apples to oranges

but regardless impressive and it's interesting to dig through the surveys
sabine.sh
I'm 99.93% sure this is all entirely made up
sabine.sh
honestly I wouldn't blame u
sabine.sh
After 10 years of OCaml you stop typing !=

After 20 years you forget what != was

After 30 years: <> looks normal

🤷
sabine.sh
idk if there'll be anything left to cover by then, but yes... I think you got something here
sabine.sh
when your predecessor made the code as generic as they could - and more than they should
A meme using the "Car Salesman Slaps Roof" template. A salesman in a suit is slapping the roof of a car while speaking to a customer. The top text reads "LEGACY OCAML CODEBASE" and the bottom text reads "THIS BAD BOY CAN FIT SO MANY 'A 'B 'C 'D 'E 'F 'G T INIT" - a humorous reference to OCaml's type parameter syntax.
sabine.sh
"trust me bro it should work that way"
"Meme showing two men from the TV show Pawn Stars sitting at a counter. Top text reads 'TYPE CHECKER WON'T LET ME DO THIS COMPLETELY SAFE OPERATION.' Bottom text reads 'BEST I CAN DO IS OBJ.MAGIC AND UNDEFINED BEHAVIOR.' The image humorously depicts a programmer's frustration with strict type systems by comparing it to the show's format where customers want full value but receive lowball offers."