More work on CFI and frame pointers for OCaml, working on getting all this through review and merged. lambdafoo.com/posts/2026-0...
Posts by Tim McGilchrist
Well it was early last year tarides.com/blog/2025-02... and there are more performance improvements since then. Plus an early prototype for WASI support github.com/ocsigen/js_o...
In my own interregnum, but:
I’m open to new opportunities.
If you’re looking for someone who can lead teams working in AWS/serverless, Typescript or OCaml, and/or take an observability or DevOps lens to their cloud infrastructure, I’d love to chat.
I’m based in Sydney for onsite/hybrid/remote
Have you heard about ocaml-eglot? @xvw.lol
Rather than advent of code, I’m bulk releasing the WIP OCaml libraries I’ve worked on since ICFP. Today it’s ctypes based Capstone bindings github.com/tmcgilchrist.... The project could use some demo applications but it does seem to work for ARM64 code I’ve thrown at it.
Well they essentially do so yes. I owe you a full demo for USDT, I haven’t forgotten just busy on another project.
The new Ryzen 9950X can chew through llvm and gdb builds no sweat.
I like the idea of Advent of Code, but I always have too many projects I'm already working on.
Soft-launching my OCaml DWARF 5 library Durin (yes LOTR inspired) github.com/tmcgilchrist... since it got posted on news.ycombinator.com/item?id=4611...
It is heavily in development, right now focusing on reading DWARF 5 and building debugging tooling for OCaml compiler work. Write support later on
I on the other hand ordered the wrong power supply and have to wait to boot-up the new OCaml Unix hacking machine :-/
It requires close supervision that's for sure. Writing tedious C bindings or repetitive code (with thorough testing) seems like a good use for LLM coding.
Fun weekend building my son's first PC, we got all the parts right and it booted the first time. 💪 Then we setup Ubuntu for Linux gaming with Proton/Steam. Not exactly the smoothest experience with Ubuntu UI being very laggy but he'll learn more using Linux.
Also the Haskell treesitter mode was missing some functionality last time I checked.
Treesitter OCaml already exists plus various supporting modes for menhir, ocamllex, dune and opam. github.com/tmcgilchrist...
Could use support for odoc and cram files ;-)
Using ctypes Claude has quite confidently used Obj.magic on types it couldn’t get to lineup. :-)
Awesome work!!!!!
All the parts for the new OCaml benchmarking server have arrived. Weekend goal will be putting this all together and setting up Linux.
A pure OCaml implementation of Apache Avro with codec-based design, schema evolution support, and container file format. Version 0.1 released on opam.
github.com/tmcgilchrist...
Writing my own DWARF 5 library in OCaml github.com/tmcgilchrist... learning a lot about the spec and how CFI works. Only doing reading at the moment then I’ll tackle writing DWARF.
Not to mention wasting peoples time. Sure use LLMs if you want but when you push all the effort to review onto others it isn’t saving anything overall.
Shopping for a vintage CRT serial terminal, ideally a DEC VT330 with the lovely orange glow. Need something to hook up to the new benchmarking server. :-)
Even better if you’re using eBPF you can trigger the tracing to start on interesting events. Then write an eBPF script that contains the logic for what is interesting.
You write a JSON serialization for the types you want to include in probes and the library only calls the serialization when the probe is enabled.
It is totally possible to add to user code. You either extend the compiler so you can emit special assembly code blocks, or you use the C probes API. I’ve implemented this second option in github.com/tmcgilchrist...
It follows the Rust USDT approach where probe data is supplied as JSON
Ok I need to write something up as a placeholder. USDT, debuggers and performance tooling.
Experimenting with USDT support in the OCaml runtime and user code. Being able to DTrace and join up OCaml stacks with runtime activity is magical. WIP modifications to OCaml github.com/tmcgilchrist... Of course it works with eBPF but Dtrace has that Solaris cool factor.
Do you know when the conference is likely to be held? Working out whether I can make the trip to Europe to present.
Here is a rather lengthy write-up (in English) explaining why I chose #OCaml as my main programming language for my personal and professional projects!
xvw.lol/en/articles/...
I hope you find this interesting, and I welcome any feedback!
Hadn’t thought about publishing it there. Once I’ve done the editing I’ll share a link to it.
Super excited to have Chris Armstrong talking about OCaml and AWS at FP-SYD tonight.