David R. MacIver

@DRMacIver
1.1K Followers
209 Following
436 Posts
I guess I toot now.

(This is an attempt to characterise the region in which you can place the centres of three interior-disjoint unit squares in an a by b rectangle, but cannot place the centres of four such squares there.

Why? I must obey the inscrutable exhortations of my soul)

You know all of those square packings which get everyone very upset?

It turns out that when you actually try to do the maths properly, the results are uh not better.

Want to work on property-based testing with me? We're hiring in London to work on Hegel (https://hegel.dev)

https://antithesis.com/company/careers/?ashby_jid=e9fd4e23-6cd4-4556-bec8-2bb07756cc1b

Hegel

A universal property-based testing protocol and family of libraries, built on Hypothesis

Hegel
Based on what I've seen from them I would bet that they're mostly pretty close to good implementations (except for the Agda one. I don't think the Agda one works at all. I gave the task to Claude because I like making robots suffer and wanted to see what would happen) but I'd expect they contain at least one absolute howler.

I've been working on a claude-code plugin for developing new Hegel client libraries and thought it would be interesting to share some of its output, so now we have an experimental repo for stuff that you probably shouldn't use... ha ha unless? No, you probably shouldn't use it.
https://github.com/hegeldev/experimental

But we do now have Hegel for Agda, Java, Perl, and Racket in there.

GitHub - hegeldev/experimental: This is where we put weird projects and code we're experimenting with. Don't take it too seriously.

This is where we put weird projects and code we're experimenting with. Don't take it too seriously. - hegeldev/experimental

GitHub
Typescript is next on the official schedule but my guess is we'll probably release a sneaky C++ or OCaml version first.

Oh BTW we said we'd release Hegel for Go in a week or two, and two weeks later here you are, hegel-go: https://github.com/hegeldev/hegel-go / https://pkg.go.dev/hegel.dev/go/hegel

(We actually released it on Friday but delayed telling anyone)

Lots of plans for the future of these libraries. This is very much just the start. But I'm pretty pleased with where we are as a start.

More soberly: In a week or two, Go. Then some other languages.

And of course a whole bunch of engineering and UX work as people use this thing and inevitably find that it is perfect and wonderful and has no flaws and we just have to spend all our time fielding praise for how great we are.

(And maybe fix a few bugs)

So like I mentioned I joined Antithesis a little while back. When I did, I pitched them on a crazy idea. Antithesis... Hypothesis... Hegel!

A remarkably short number of months later, Hegel. Hegel is a property-based testing protocol and family of client libraries which makes it easy to do Hypothesis-grade PBT everywhere.

Today: Rust. Tomorrow: The world! (Muahaha)

https://antithesis.com/blog/2026/hegel/

Hypothesis, Antithesis, synthesis

Introducing Hegel, our new family of property-based testing libraries.