McCoy R. Becker (femtomc)
Homepage · GitHub · GenJAX · MIT ProbComp
I’m currently a PhD student at 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.
Current focus:
- probabilistic programming on accelerators
- programmable inference systems
- agent harnesses
I'd characterize myself as a systems thinker - I like sharp programmable tools, and I'm obsessive about design. 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 boiling down a design into modular and compositional pieces. 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.
This list prioritizes projects with sustained many-week development and omits short scratch repos, of which I have endless.
- 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.






