https://github.com/kristerw/smtgcc
https://twitter.com/matt_dz
It's difficult to design a language that has implicit arguments *and* allows you to explicitly instantiate them. Agda has done very admirably.
But I do not like bound names, which are often single letters, getting undeservedly elevated to names that play a descriptive role.
My maxim is:
If you see {A = A} in an argument list, they blew it.


Variables are quite subtle and easy to get wrong. An approach is described to support rigid $α$ canonical variables in an e-graph. The lifting e-graph has a baked-in notion of functional lifting combinator. It is implemented by fattening the usual integer identifiers with thinning bitvectors, lift-pulling smart constructors, and a special thinning-aware union find variation. The approach is inspired by slotted e-graphs and Co-de Bruijn syntax.
This is my first Mastodon post! Very happy to share Reify.
Recently, we've been working on a new paradigm for random program generation (RPG), which we call *semantic reification*.
Unlike typical syntax-first RPG, semantic reification is semantics first.

I mean that both in the specific and the abstract. This episode we are looking at APL, which stands for A Programming Language. APL was developed in the mid 50s, but didn't see a working implementation until 1965. It's a language that truly looks like no others, but has some odd parallels to everything from BASIC to LISP to linear algebra. Learn APL at: - A Programming Language
While we speak every other week with a distinguished logician, this episode is a particularly special one.
Dana Scott is a Turing Award winner (often described as the Nobel Prize of computer science) whose work has had a profound impact on logic, set theory, and theoretical computer science.
His contributions range from Boolean-valued models and the forcing method to computability theory, domain theory, and the denotational semantics of the lambda calculus.
Have a look: this is living logic history.

New blog post! In "Zigzag decoding with AVX-512", we look at two different ways to possibly (caveat emptor) speed up various forms of zigzag decoding with AVX-512 functionality that isn't just "wider registers".
Boosts appreciated!
I’ve been working on speeding up AVX-512 vertex decoding in meshoptimizer recently; in the process I stumbled upon two optimizations that I did not end up using but I thought they might be fun to write about! The optimizations that actually made it in require some higher level background / explanations that will have to wait until another day :)