Ashton Wiersdorf

Ashton Wiersdorf #

Picture of Ashton Wiersdorf

I am a PhD student at the University of Utah where I started in August 2022. My advisor is Ben Greenman. I graduated with my bachelor’s degree in computer science from Brigham Young University in April 2022.

Picture of Ashton Wiersdorf

I am interested in researching and designing better programming languages. Programming languages are our interface to computation, and different programming languages shape how we think about solving problems with computation. My current work focuses on macro and type systems: how can we extend languages with macros, and how can we get better guarantees about the behavior of our programs with types? I have also worked a little with static analysis of functional programming languages.

Lambda: The Ultimate Blog Post #

This is my homepage and my blog. I usually write to help me remember and deepen my understanding of things that I learn. Verbally explaining something reveals gaps that the mind misses. This is also a place for me to practice writing—writing is a big part of my job, and I want to write well. Sometimes I write to share something that I found useful.

These are all the blog-related pieces of my site:

Contact #

Email and Matrix are both good ways to reach me. You can also find me on the following platforms, though I might not answer quickly if you message me there:

Work #

I am graduate student and part of the PLT Research Group at the University of Utah. See our work on GitHub.

Publications #

Type Tailoring (ECOOP 2024) #

Ashton Wiersdorf, Stephen Chang, Matthias Felleisen, and Ben Greenman

Type systems evolve too slowly to keep up with evolving libraries. Type tailoring offers a lightweight solution: let end users modify the elaboration of surface code into the internal language of the type checker. This paper introduces type tailoring as a theme that has emerged across programming languages, it analyzes the core technical dimensions that make tailoring work, and it outlines a vision for tailoring as a first class language feature.

FlowFPX: Nimble tools for debugging floating-point exceptions (JuliaCon 2023) #

Taylor Allred, Xinyi Li, Ashton Wiersdorf, Ben Greenman, and Ganesh Gopalakrishnan

FlowFPX is a set of tools designed to help programmers track down and handle floating-point exceptions. One of these tools—FloatTracker—automatically traces floating-point computations in Julia code, and helps scientists pinpoint where exceptional values arise in their computations.

Invited Talks and Lectures #

Type Tailoring (RacketCon 2024, University of Washington, 2024) #

Presentation of ECOOP 2024 paper, remixed for RacketCon.

Monads (CS 6963: Functional Programming, University of Utah, 2024) #

Lecture on monads, delivered in a course on functional programming. Lecture notes and slides available on Codeberg.

Type Tailoring (CPU Reading Group, University of Utah, 2023) #

Informal presentation on the ideas behind Type Tailoring.

Intro to Elixir Macros (Utah Elixir 2019) #

Presentation on the basics of Elixir’s macro system.

Projects #

Chorex
Choreographic programming for Elixir: deadlock-free systems by construction.
Dyn for Rhombus
Making Static Rhombus a gradually-typed programming language through type tailoring.
FloatTracker.jl
Julia library providing tracking of floating point errors through a program resources.

Personal Projects #

Software #

Brainfreeze (Codeberg mirror)
A very fast Brainf*** interpreter and compiler in Racket.
Ysue
You Should be Using Emacs instead of this text editor I wrote in Haskell.
Type inference with errors
Type inference for a small lambda calculus with decent error messages.
μKanren
Walk through of the μKanren embedded logic language.
lambda-x86
My first compiler, which compiles a small Lisp to x86.

Emacs #

Emacs Bedrock
A minimalist Emacs starter kit focused on built-in functionality and discoverability aids.
Nordic Night
A darker, higher-contrast spin on the lovely Nord theme for Emacs.

Misc. #

Iosevka Output
A custom build of the Iosevka font modeled after the lovely Input Mono font.
Mastodon