McCoy R. Becker / Homepage / GitHub / MIT ProbComp
I work on probabilistic algorithms and software for modern hardware, with a lot of my time spent thinking about programming languages, compilers, and systems. I'm currently a PhD student at MIT ProbComp.
Current focus:
- probabilistic programming on accelerators, especially parallel ones
- programmable inference systems
- agent harnesses
- Human/agent interface and interaction design (an important area!)
I'd characterize myself as a systems thinker — I like sharp programmable tools. Most of my work starts from my desire for some sort of experience or useful item, and then I spend a lot of time thinking and tinkering, often with the goal of constructing one of these tools. I often get stuck in this phase, and like for my collaborators to yank me out. When it comes to projects, I'm not risk averse, and I'm willing to spend a large amount of time to get something right or try something crazy. This may indicate I'll never be a very successful academic, but I'm happy to share designs which I think are good with the world.
Packages with recent commit activity.
|
glom agent context search |
codebase analysis |
![]() sdfii terminal 3D SDF renderer |
![]() pelican constraint-based diagrams |
- genjax — Probabilistic programming language built on JAX, centered on generative functions and traces; supports programmable Monte Carlo + variational inference workflows, and is packaged as a POPL'26 artifact with docs/tests/case studies.
- programmable-vi-pldi-2024 — Artifact repository for the PLDI 2024 paper Probabilistic programming with programmable variational inference; includes the JAX implementation plus reproducibility scripts for the evaluation figures/tables.
- Jaynes.jl — Research-oriented alpha DSL/compiler for probabilistic programming in Julia; uses source-to-source IR transformations and contextual dispatch to implement the Gen.jl generative function interface.
- Problox.jl — Julia DSL for probabilistic logic programming that wraps ProbLog; compiles Julia-side model syntax into ProbLog programs and supports direct evaluation/querying from Julia.
- abstraps — Rust compiler framework for extensible abstract interpretation, with MLIR-isomorphic IR concepts, abstract-VM interpreter interfaces, and builders for MLIR code generation.
- juju — Extensible compiler from JAX computations (Jaxprs) to Modular MAX graphs; lowers JAX primitives to MAX operations for execution in MAX inference sessions.
- pistachio — Experimental dependently typed language/theorem-prover implementation focused on elaboration and normalization-by-evaluation techniques.
- mu — Programmable personal assistant for technical work, designed for long-running execution/persistence/reactivity; exposes shell-first primitives (issues, heartbeats, programmable
mu_uidocs) for custom orchestration.
Probabilistic programming with vectorized programmable inference (POPL 2026)
Probabilistic programming with programmable variational inference (PLDI 2024)
Reverse-mode ADEV via YOLO: tangent estimators transpose to gradient estimators (LAFI 2024)
Brain-wide representations of behavior spanning multiple timescales and states in C. elegans (Cell 2023)
Open-source software from my dotfiles that makes my workflow possible. Nodes with a ♥ link to the project's sponsor page.








