Brendan Zab
banner
brendanzab.bsky.social
Brendan Zab
@brendanzab.bsky.social
Thinking about programming languages and imaginary landscapes. he/him

- https://types.pl/@brendan (preferred)
- https://github.com/brendanzab
Yes, this is what I do all the time!! (with adhd) 😭
November 10, 2025 at 12:49 AM
Made me think of Joost's work too!
October 27, 2025 at 10:31 PM
Yeah, it feels incredibly unpolished. I think there’s going to be a dedicated option for it soon though (it’s in the beta builds), so I hope that improves things.
October 24, 2025 at 9:35 PM
Have had to turn on “reduce transparency” to cope with it, but it’s still a massive step backwards imo. 😬
October 18, 2025 at 6:18 AM
Yeah… I feel this so much. For all the issues twitter had, I really miss being able to chat to academics about PL and type theory stuff so easily. And how those discussions leaked out into other adjacent spaces.
October 16, 2025 at 11:09 AM
It’s not necessarily what you’re asking about, but I’ve transferred maintainership of a lot of my old crates from the pre-1.0 days, and I’m definitely quite wary of this whenever I do so.
October 14, 2025 at 1:21 AM
Do note that modules are different to objects, in that they're abstract datatypes... William Cook goes through the differences in these approaches in his essay www.cs.utexas.edu/~wcook/Draft... (I translated some of the examples from the paper to OCaml, if it helps github.com/brendanzab/l...).
October 8, 2025 at 11:47 PM
You've already constructed them with the module definitions. But you'll want to expose the definitions of the types, like `IntShowable : SHOWABLE with type t = int`. Then you'll be able to write `List.map IntShowable.show xs`.
List.map
October 8, 2025 at 11:45 PM
@tonofcrates.bsky.social had a signature for open functions that you might find interesting/useful: github.com/cognitive-en...
document-calculus/lib/open_func.mli at main · cognitive-engineering-lab/document-calculus
Accompanying materials for "A Core Calculus for Documents" - cognitive-engineering-lab/document-calculus
github.com
October 8, 2025 at 11:32 PM
Here's a two versions of an extensible interpreter, using either extensible variants or polymorphic variants: github.com/brendanzab/l...
October 8, 2025 at 11:28 PM
It’s not free, but I’ve been using Pragmata Pro for years and been very happy with it: fsd.it/shop/fonts/p...
PragmataPro coding font designed by Fabrizio Schiavi
Monospaced font designed for coding and for engineering. It contents more than 10000 glyphs TrueType handinted for best possible readability at low sizes
fsd.it
October 7, 2025 at 10:09 PM
Yeah haha.
October 1, 2025 at 8:52 AM
Wait what… oh know I finally read it properly. Arrgh hahah
October 1, 2025 at 8:49 AM
If you think font rendering is bad, wait until you hear about font shaping
October 1, 2025 at 12:44 AM
Yeah! I’ve used this for CPS stuff – see github.com/search?q=rep... … though I prefer to use `let@` for binding continuations, and specific binding operators for `Option.bind` and `Result.bind` etc.

See also: github.com/ocaml/ocaml/...
Add application let-operator `( let@ )` by yawaramin · Pull Request #13698 · ocaml/ocaml
This allows using any callback-style function like val foo : a -> (b -> c) -> d in a more 'direct' style. The reasoning behind this addition is that, there was an earlier attempt t...
github.com
September 30, 2025 at 11:47 PM
Oh thanks! I had thought the original intention was to use it in rustc, but maybe that never happened... it’s been a long time since I was keeping up with that stuff though.
September 25, 2025 at 4:13 AM
I probably wouldn’t say “inspired” by rustc – it was more that it was created as part of a project to move rustc to a demand-driven architecture. Before that rustc was implemented as a batch-style compiler.
September 24, 2025 at 10:28 PM
There's also this talk from Niko Matsakis www.youtube.com/watch?v=N6b4...
Responsive compilers - Nicholas Matsakis - PLISS 2019
YouTube video by PLISS
www.youtube.com
September 24, 2025 at 9:18 PM
I’ve also been looking into web.archive.org/web/20250507..., which apparently inspired Salsa. But I’m by no means experienced enough to give guidance on any of this stuff. 😅
Adapton: Programming Language Abstractions for Incremental Computation
web.archive.org
September 24, 2025 at 12:28 PM
ollef.github.io/blog/posts/q... talks about github.com/ollef/rock (used in Sixty), which is based on Build Systems a la carte? See also the talk: www.youtube.com/watch?v=3D-n.... Have been meaning to look further into this myself sometime.
Query-based compiler architectures
What a query-based compiler is and what they are good for.
ollef.github.io
September 24, 2025 at 12:28 PM
They sell frog hats??!
August 16, 2025 at 12:35 PM