Tim McGilchrist

Tim McGilchrist

@tsmc.purely-functional.com

OCaml and Haskell connoisseur. Principal software engineer at Tarides. Compilers, runtimes, garbage collection, and general systems hackery. More at https://lambdafoo.com

174 followers40 following84 posts

Tim McGilchrist reposted

You don't need to be an OCaml expert to give a great talk. You need one thing you figured out the hard way. FUN OCaml 2027 in Bengaluru wants first-time speakers. The CfP closes Sept 30.

Tim McGilchrist reposted

David Engelmann@david-engelmann.bsky.social

Proud to announce a full featured OCaml client for Bluesky and the AT Protocol. Built so you or an agent can pick it up and get integrated immediately without the headache opam install atproto github.com/david-engelm...

Tim McGilchrist reposted

The OCaml Handbook: A Complete Guide from First Program to Production Systems by Steve T. Publications is a new release on Leanpub! Discover the power and elegance of OCaml, from your very first program to production-ready applications. The OCaml Handbook … leanpub.com/theocamlhand...

Tim McGilchrist reposted

Caml In The Capital is happening again! Our #OCaml meetup is open to anyone: user, researcher, outsider who happens to be interested :) This time, we'll be hosted at the JaneStreet office in London. Please register here if you'd like to attend: www.eventbrite.com/e/caml-in-th...

eventbrite.comCaml In The Capital - JuneCaml in the Capital is London's OCaml meetup group. We bring together developers, researchers, and enthusiasts to discuss OCaml.

Modified my elfeed RSS setup to use eww, the built in web browser for Emacs. Massive improvement, loading things is quick enough and no javascript means no ads, but I still get pictures. #emacs

FP-SYD is back in person next month. We have changed the day 1st Monday of each month (4th May) and location is now 1 Denison Street, North Sydney. Thanks to Microsoft for providing the venue. Signup here www.meetup.com/fp-syd/event... #emacs #ocaml #haskell

meetup.comFP-Syd meeting - new weekday!, Mon, May 4, 2026, 6:00 PM | MeetupFP Syd is happening again in early May! We are switching to a different weekday (Monday) and location (North Sydney), and heartfully thank Microsoft for sponsoring us with

I've switched over from tuareg to neocaml for daily work. This mode is great!

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.

github.comGitHub - tmcgilchrist/ocaml-capstone: OCaml bindings to the Capstone disassembly frameworkOCaml bindings to the Capstone disassembly framework - tmcgilchrist/ocaml-capstone

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.

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.

github.comAdd USDT probes for key events in OCaml runtime by tmcgilchrist · Pull Request #32 · tmcgilchrist/ocamlCorresponding OCaml level USDT probes https://github.com/tmcgilchrist/ocaml_usdt

Also spent some quality time with elisp this weekend improving my Emacs setup with tree-sitter and OCaml. The results are promising, using ocaml-ts-mode plus eglot and ocaml-eglot. I have all the usual LSP goodness plus tree-sitter based navigation built on combobulate.

The curious thing about working on the OCaml compiler is the lag between features getting merged and released. Happily OCaml 5.3 is out and contains some useful performance and debugging improvements. Memory profiling is back with statmemprof, CPU profiling on MacOS works thanks to frame pointers.