Redex is a programming language designed to support semantics engineers as they experiment with programming language models. To explore a model, an engineer writes down grammars, type systems, and operational semantics in a notation inspired by the programming languages literature. Redex breathes life into the model, building typing derivations, running example expressions, and using random generation to falsify claims about the model.     The talk first gives an overview of Redex, motivating its design choices and giving a sense of how programming in Redex feels. Then the talk dives into some of the techniques that Redex uses to generate random expressions.
['Robby Findler']
Redex: a language for lightweight semantics engineering (keynote)