Sign in

Tim McGilchrist

@tsmc.purely-functional.com
170 followers 40 following 83 posts

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

PostsRepliesMedia
Reposted by Tim McGilchrist
FUN OCaml @fun-ocaml.com · 20/09/2026
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.
112
Reposted by Tim McGilchrist
David Engelmann @david-engelmann.bsky.social · 14/09/2026
@dholms.at @yminsky.bsky.social @kcsrk.info @tsmc.purely-functional.com @tyoverby.com
012
Tim McGilchrist @tsmc.purely-functional.com · 14/09/2026
Some updates on tree-sitter support for OCaml mini-languages (odoc, opam and dune) and improving Emacs support for OCaml with neocaml. lambdafoo.com/posts/2026-0... #emacs #ocaml
lambdafoo.com
More tree-sitter, more neocaml, more elisp · Perpetually Curious
052
Tim McGilchrist @tsmc.purely-functional.com · 09/09/2026
I've also put together a tree-sitter- grammar and neocaml support for Dream eml templates. I would love some feedback on the PR for Emacs OCaml people that use them. #ocaml #emacs github.com/bbatsov/neoc...
github.com
Add major mode for Dream eml templates by tmcgilchrist · Pull Request #83 · bbatsov/neocaml
Requires testing and a 0.1.0 release of https://github.com/tmcgilchrist/tree-sitter-eml Opening as a Draft for visibility, while testing this myself. Suggestions and bug-reports most welcome.
010
Tim McGilchrist @tsmc.purely-functional.com · 09/09/2026
A couple of neocaml improvements landed recently. MLX/JSX syntax support github.com/bbatsov/neoc..., and odoc/mld support github.com/bbatsov/neoc.... We'd love to get feedback on those from our OCaml Emacs users. Neocaml is a modern, TreeSitter-powered, mode for programming in OCaml. #ocaml #emacs
011
Tim McGilchrist @tsmc.purely-functional.com · 06/08/2026
Is there a better Haskell feed? I want Haskell the programming language, not places called Haskell or Haskell County.
120
Tim McGilchrist @tsmc.purely-functional.com · 06/08/2026
Decided to ditch Goodreads and import my reading list into BookHive! 📚 bookhive.social
bookhive.social
Bookhive
Goodreads but better. Built on top of Blue Sky.
020
Tim McGilchrist @tsmc.purely-functional.com · 26/07/2026
FP-SYD is going social this month. No presentations just lots of time for a chat. We will be in North Sydney www.meetup.com/fp-syd/event...
meetup.com
FP-Syd Social meeting (no talk), Mon, Jul 27, 2026, 6:00 PM | Meetup
Our July FP Syd meeting is a networking event without talks. Join us in North Sydney next Monday to talk functions, lambdas, purity, and all things programming. We are mee
110
Reposted by Tim McGilchrist
Leanpub @leanpub.bsky.social · 06/07/2026
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...
0106
Tim McGilchrist @tsmc.purely-functional.com · 04/06/2026
Bonsai_term looks very cool. blog.janestreet.com/strace-ui-bo... #ocaml
blog.janestreet.com
strace-ui, Bonsai_term, and the TUI renaissance
We’ve always found strace useful but somewhat hard to work with. Its output is often inscrutable, it’s hard to follow subprocesses or threads, and if you wan...
083
Tim McGilchrist @tsmc.purely-functional.com · 28/05/2026
Using LLMs doesn’t remove the obligation to do your own thinking.
010
Reposted by Tim McGilchrist
Sacha Ayoun @giltho.bsky.social · 26/05/2026
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.com
Caml In The Capital - June
Caml in the Capital is London's OCaml meetup group. We bring together developers, researchers, and enthusiasts to discuss OCaml.
0123
Tim McGilchrist @tsmc.purely-functional.com · 07/05/2026
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
030
Reposted by Tim McGilchrist
OCaml @ocaml.org · 30/04/2026
The OCaml Users Survey 2026 is now open! 📊 Share your experience with OCaml - from tools you use to new questions on AI/LLM tooling and debugging. Takes 10-15 minutes, open until May 25th. forms.gle/gt5nikqUmoQWeYYQ9
178
Tim McGilchrist @tsmc.purely-functional.com · 28/04/2026
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.com
FP-Syd meeting - new weekday!, Mon, May 4, 2026, 6:00 PM | Meetup
FP 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
031
Tim McGilchrist @tsmc.purely-functional.com · 23/04/2026
I wrote up some notes on the #elisp #emacs things I've been working on this month lambdafoo.com/posts/2026-0...
lambdafoo.com
A month of Elisp · Perpetually Curious Blog
071
Tim McGilchrist @tsmc.purely-functional.com · 22/04/2026
Pleased to say I've tidied up my port of Miasma theme for #Emacs into a proper repo and tagged a 0.1.0 release. github.com/tmcgilchrist... Inspired by recent collaborations with @batsov.net on Emacs modes and his wonderful work on batppuccin.
github.com
GitHub - tmcgilchrist/miasma-theme: A fog descends upon your editor. A dark Emacs colour scheme built from muted earth tones (moss, bark, rust, amber, and fog).
A fog descends upon your editor. A dark Emacs colour scheme built from muted earth tones (moss, bark, rust, amber, and fog). - tmcgilchrist/miasma-theme
011
Tim McGilchrist @tsmc.purely-functional.com · 20/04/2026
I like the idea of tangled.org but the current CI setup is more misses than hits right now. Lots of 500 errors trying to run nixery based CI over the weekend.
tangled.org
tangled · tightly-knit social coding
The next-generation social coding platform.
340
Reposted by Tim McGilchrist
Chris Armstrong @chrisarmstrong.link · 15/04/2026
I’ve already announced this on the forums, but for everyone else www.chrisarmstrong.dev/posts/introd...
chrisarmstrong.dev
Introducing ocgtk: GTK4 bindings for OCaml
Introducing ocgtk, a new set of GTK4 bindings for OCaml generated from GObject Introspection data.
1163
Tim McGilchrist @tsmc.purely-functional.com · 15/04/2026
I've switched over from tuareg to neocaml for daily work. This mode is great!
071
Tim McGilchrist @tsmc.purely-functional.com · 15/04/2026
Working on a Haskell DWARF library called thorin (tangled.org/tsmc.purely-...) It covers most of the DWARF 4 and 5 spec with a nice writer API for binary and GAS assembly. Needs more testing on real codebases and the weird binaries that gcc/clang produce.
tangled.org
tsmc.purely-functional.com/thorin
A Haskell library for reading and writing DWARF debugging information.
071
Tim McGilchrist @tsmc.purely-functional.com · 08/02/2026
More work on CFI and frame pointers for OCaml, working on getting all this through review and merged. lambdafoo.com/posts/2026-0...
lambdafoo.com
More CFI and frame pointers work · Perpetually Curious Blog
021
Reposted by Tim McGilchrist
Chris Armstrong @chrisarmstrong.link · 26/01/2026
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
186
Tim McGilchrist @tsmc.purely-functional.com · 08/12/2025
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.com
GitHub - tmcgilchrist/ocaml-capstone: OCaml bindings to the Capstone disassembly framework
OCaml bindings to the Capstone disassembly framework - tmcgilchrist/ocaml-capstone
1122
Tim McGilchrist @tsmc.purely-functional.com · 04/12/2025
The new Ryzen 9950X can chew through llvm and gdb builds no sweat.
030
Tim McGilchrist @tsmc.purely-functional.com · 01/12/2025
I like the idea of Advent of Code, but I always have too many projects I'm already working on.
140
Tim McGilchrist @tsmc.purely-functional.com · 01/12/2025
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
news.ycombinator.com
Durin is a library for reading and writing the Dwarf debugging format | Hacker News
192
Tim McGilchrist @tsmc.purely-functional.com · 30/11/2025
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.
230
Tim McGilchrist @tsmc.purely-functional.com · 29/11/2025
Awesome work!!!!!
010
Tim McGilchrist @tsmc.purely-functional.com · 26/11/2025
All the parts for the new OCaml benchmarking server have arrived. Weekend goal will be putting this all together and setting up Linux.
141
Tim McGilchrist @tsmc.purely-functional.com · 26/11/2025
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...
github.com
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.
0102
Tim McGilchrist @tsmc.purely-functional.com · 22/11/2025
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.
github.com
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
091
Tim McGilchrist @tsmc.purely-functional.com · 20/11/2025
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. :-)
000
Tim McGilchrist @tsmc.purely-functional.com · 19/11/2025
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.com
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
241
Reposted by Tim McGilchrist
xvw @xvw.lol · 13/08/2025
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!
xvw.lol
Why I chose OCaml as my primary language
A detailed explanation of why I chose OCaml as the ‘default’ programming language for every project.
12611
Tim McGilchrist @tsmc.purely-functional.com · 23/04/2025
Super excited to have Chris Armstrong talking about OCaml and AWS at FP-SYD tonight.
252
Tim McGilchrist @tsmc.purely-functional.com · 23/03/2025
Wonderful mushroom surprise in my pot plant this morning. Need to lookup what variety it is.
Three white mushrooms growing in a pot plant. Next to a cluster of green stems.
000
Tim McGilchrist @tsmc.purely-functional.com · 10/03/2025
For you Linker and Solaris nerds, the classic Solaris Linking & ELF Blogs are available. Lots of interesting material. www.linker-aliens.org
linker-aliens.org
Surfing With The Linker Aliens: Solaris Linking & ELF Blogs
020
Tim McGilchrist @tsmc.purely-functional.com · 06/03/2025
Hacking Emacs is so rewarding and deeply addictive. I’ve been experimenting with structured navigation using comobobulate and treesitter. Targeting OCaml and Haskell. www.masteringemacs.org/article/comb...
masteringemacs.org
Combobulate: Intuitive, Structured Navigation with Tree-Sitter
Tree-sitter's promise of simplifying code navigation can seem like a dream, but in reality, it introduces its own set of challenges that complicate the process. In this article, I delve into the intri...
032
Tim McGilchrist @tsmc.purely-functional.com · 26/02/2025
FP-SYD getting started on the topic of SAT solvers.
000
Tim McGilchrist @tsmc.purely-functional.com · 26/02/2025
Of course FP-SYD functional programming group is on tonight. There’s the promise of a SAT talk and a lightning talk. RSVP on www.meetup.com/fp-syd/event...
meetup.com
FP-Syd meeting!, Wed, Feb 26, 2025, 6:00 PM | Meetup
In our February edition, we will satisfy our thirst for knowledge with: Vaibhav Sagar: SATisfying Solutions to Difficult Problems! SAT solvers have been used to find solu
021
Tim McGilchrist @tsmc.purely-functional.com · 24/02/2025
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.
011
Tim McGilchrist @tsmc.purely-functional.com · 24/02/2025
Why do frame pointers matter for OCaml? I've written up my notes on bringing frame pointers to more platforms. It has been super useful combined with Instruments on macOS, to see exactly what is happening with OCaml programs. lambdafoo.com/posts/2025-0...
lambdafoo.com
Why do frame pointers matter for OCaml? · Perpetually Curious Blog
0135
Tim McGilchrist @tsmc.purely-functional.com · 14/02/2025
Experimenting with OCaml and eBPF. Turns out the basics are there to do interesting things like function counts and GC timings. lambdafoo.com/posts/2025-0...
lambdafoo.com
Experimenting with OCaml and eBPF · Perpetually Curious Blog
1165
Tim McGilchrist @tsmc.purely-functional.com · 10/02/2025
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.
151
Tim McGilchrist @tsmc.purely-functional.com · 22/01/2025
Tonight at FP-SYD, we have an OCaml in Production talk by Geoffrey Borough from Axons Talent.
The presenter, Geoffrey, standing in front of the audience at FP-SYD meetup.
120
Tim McGilchrist @tsmc.purely-functional.com · 12/12/2024
Trying to finish up my work on enabling frame pointers for all OCaml architectures before the end of the year. Why? So we can have nice perf support in OCaml. Currently have amd64 and arm64. RiscV and s390x are in the works.
041
Tim McGilchrist @tsmc.purely-functional.com · 11/12/2024
Dtrace 2024 conference stream is fantastic. Better OCaml support with the recent frame pointers work.
141
Tim McGilchrist @tsmc.purely-functional.com · 11/12/2024
Trying out Bluesky. I’ll be posting things about my work in OCaml and other technical topics. Plus some light content about my hobbies like MTB, surfing and Lego.
2171