I built my own JavaScript runtime in OCaml I wanted to see how far OCaml could go against Bun and Node, and also also OCaml vs zig vs c++ in similar APIs. So I built `sirocco`. Uses JavaScriptCore (same engine as Bun and Safari). Event loop with libuv and it's written in OxCaml.
Tried an OCaml compiler branch with modular explicits (soon to be merged?) and polymorphic arguments (already merged) and it feels sooo good (where it’s needed).
I made html_of_jsx a bit faster and published a blog post about it: how it's done and some won'ts! sancho.dev/blog/making-...
Making html_of_jsx ~10x faster | sancho.dev
A story of how static analysis helped improve performance in html_of_jsx
sancho.dev
I'm writing a fun little text editor in C and vulkan! Like vim, it's modal. But there is no concept of a cursor in normal mode, only a selection. You can switch the selection "granularity" with h and l, then move the selection with j and k. And ofc there are a ton more hotkeys for selection manip.
Played with anthropic's modelcontextprotocol.io — made a simple server exposing neovim to claude desktop I think right now now only Tools are supported more or less ok in the Claude. Otherwise the UX is very rough...
Best language for #adventofcode is an array language: K, BQN, … Extremely concise (means easy to iterate), data friendly, forces you to write fast code.
The paper on data-race-free OCaml is out! If you want to learn more about the zoo of new mode axes (contention, uniqueness, portability, ...) and cool new abstractions like capsules, it's all there! iris-project.org/pdfs/2025-po...
iris-project.org
Trying out to implement a type inference algo in OCaml following the paper with Claude and some parts it gets pretty good!
So annoying vscode doesn't support tree-sitter parsers for syntax highlighting out of the box...
It’s amazing how lack of meta programming in JS (and partly cargoculting of performance practices) puts so much focus on build systems configuration. Like most of the libs/framework come with a build system plugin of some sort.
Everything is just Vite plugin now
A programming environment where generic functions are written in modular explicits style (modules as arguments) and then there's editor tooling which does elaboration for you when you write/edit code. Why? Typeclasses/implicits make code harder to read but are very convenient when writing code.
I think we’re pretty good without type classes, and the advantages of derivation for real world use cases aren’t so general that a deriving Foldable makes so much sense. Give me deriving serde, error, debug, and I’m okay with having to pull the function explicitly from the module. User.debug user
Managing systemd services on a fleet with SQL (click house-local running parallel-ssh here).