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 home page and my blog. Below you can find a list of my publications. I write technical blog posts with some frequency; topics usually cover aspects of programming language theory, though I also like writing about education, software engineering, and occasional updates about some of my projects. (You’re welcome to subscribe to the RSS feed if you’d like.)

I usually write to help me remember and deepen my understanding of things that I learn: verbal explanations reveal 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.

Contact #

You can download my public PGP key here.

You can also find me on these platforms, though I might not answer quickly:

Work #

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

Publications #

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 #

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 #

FloatTracker.jl
Julia library providing tracking of floating point errors through a program resources.

Personal Projects #

Software #

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