@mattpd

691 Followers
669 Following
1.2K Posts
I have implemented partial assembler support for the m68k architecture in smtgcc, my GCC translation validator:
https://github.com/kristerw/smtgcc
GitHub - kristerw/smtgcc: Some experiments with SMT solvers and GIMPLE IR

Some experiments with SMT solvers and GIMPLE IR. Contribute to kristerw/smtgcc development by creating an account on GitHub.

GitHub

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.

2026 EuroLLVM

YouTube
The is now also an arxiv preprint https://arxiv.org/abs/2606.22734
Lifting E-Graphs: A Function Isn't a Constant

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.

arXiv.org

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.

What Is A Programming Language?
https://adventofcomputing.libsyn.com/episode-184-what-is-a-programming-language
Advent Of Computing Episode 184
> both in the specific and the abstract. 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.
Advent of Computing: Episode 184 - What Is A Programming Language?

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

@zwarich @regehr FWIW, the proceedings are available via PACMPL (Proceedings of the ACM on Programming Languages; for PLDI 2026 it's Volume 10, June 2026)
https://dl.acm.org/toc/pacmpl/2026/10/PLDI (may need to click on "SECTION: Papers").

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.

https://youtu.be/opLbbZ-_AWE?is=Xx6bMPMvqQKBRttR

Dana Scott – Lambda Calculus, Forcing & the Foundations of Math | #14 aboutlogic

YouTube
"Low Overhead Allocation Sampling in a Garbage
Collected Virtual Machine", the extended version of our ICOOOLPS workshop paper from last year has now appeared in JOT! https://www.jot.fm/issues/issue_2026_01/a16.pdf

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!

https://zeux.io/2026/06/17/zigzag-decoding-avx512/

Zigzag decoding with AVX-512

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 :)