Advertisement · 728 × 90

Posts by Tim McGilchrist

More CFI and frame pointers work · Perpetually Curious Blog

More work on CFI and frame pointers for OCaml, working on getting all this through review and merged. lambdafoo.com/posts/2026-0...

2 months ago 2 1 0 0
Preview
The First Wasm_of_ocaml Release is Out! Wasm_of_ocaml launches its first feature-complete release, seamlessly compiling OCaml bytecode into WebAssembly modules.

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...

2 months ago 1 0 0 0

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

2 months ago 8 6 1 0

Have you heard about ocaml-eglot? @xvw.lol

4 months ago 3 0 0 1
Preview
GitHub - tmcgilchrist/ocaml-capstone: OCaml bindings to the Capstone disassembly framework OCaml bindings to the Capstone disassembly framework - tmcgilchrist/ocaml-capstone

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.

4 months ago 12 2 1 0

Well they essentially do so yes. I owe you a full demo for USDT, I haven’t forgotten just busy on another project.

4 months ago 1 0 1 0

The new Ryzen 9950X can chew through llvm and gdb builds no sweat.

4 months ago 3 0 0 0

I like the idea of Advent of Code, but I always have too many projects I'm already working on.

4 months ago 4 0 1 0
Advertisement
Durin is a library for reading and writing the Dwarf debugging format | Hacker News

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

4 months ago 9 2 1 0

I on the other hand ordered the wrong power supply and have to wait to boot-up the new OCaml Unix hacking machine :-/

4 months ago 2 0 0 0

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.

4 months ago 3 0 0 0

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.

4 months ago 3 0 2 0

Also the Haskell treesitter mode was missing some functionality last time I checked.

4 months ago 0 0 0 0
Preview
Add tree-sitter support for everything by tmcgilchrist · Pull Request #1 · tmcgilchrist/tuareg This is an experiment to add tree-sitter support to Tuareg and support almost everything (except OCaml SMIE indentation). Uses the following tree-sitter grammars: OCaml: https://github.com/tree-si...

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 ;-)

4 months ago 3 0 0 0

Using ctypes Claude has quite confidently used Obj.magic on types it couldn’t get to lineup. :-)

4 months ago 1 0 1 0
Advertisement

Awesome work!!!!!

4 months ago 1 0 0 0

All the parts for the new OCaml benchmarking server have arrived. Weekend goal will be putting this all together and setting up Linux.

4 months ago 4 1 1 0
Preview
GitHub - tmcgilchrist/avro-simple: Pure OCaml implementation of Apache Avro Pure OCaml implementation of Apache Avro. Contribute to tmcgilchrist/avro-simple development by creating an account on GitHub.

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...

4 months ago 10 2 0 2
Preview
GitHub - tmcgilchrist/durin: Durin is a library for reading and writing the Dwarf debugging format Durin is a library for reading and writing the Dwarf debugging format - tmcgilchrist/durin

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.

4 months ago 9 1 0 0

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.

4 months ago 0 0 0 0

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. :-)

4 months ago 0 0 0 0

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.

4 months ago 0 0 0 0

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.

4 months ago 0 0 0 0
Preview
GitHub - tmcgilchrist/ocaml_usdt: Userland Statically Defined Tracing (USDT) probes for OCaml applications. Userland Statically Defined Tracing (USDT) probes for OCaml applications. - tmcgilchrist/ocaml_usdt

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

4 months ago 0 0 1 0
Advertisement

Ok I need to write something up as a placeholder. USDT, debuggers and performance tooling.

4 months ago 1 0 1 0
Preview
Add USDT probes for key events in OCaml runtime by tmcgilchrist · Pull Request #32 · tmcgilchrist/ocaml Corresponding OCaml level USDT probes https://github.com/tmcgilchrist/ocaml_usdt

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.

4 months ago 4 1 2 0

Do you know when the conference is likely to be held? Working out whether I can make the trip to Europe to present.

4 months ago 1 0 1 0
Preview
Why I chose OCaml as my primary language A detailed explanation of why I chose OCaml as the ‘default’ programming language for every project.

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!

7 months ago 26 11 1 0

Hadn’t thought about publishing it there. Once I’ve done the editing I’ll share a link to it.

11 months ago 0 0 2 0
Post image

Super excited to have Chris Armstrong talking about OCaml and AWS at FP-SYD tonight.

11 months ago 5 2 2 0