Projects

Effectful and General Contracts

I am working with Amr Sabry to explore the interactions of software contracts with stateful and effectful computations. We are working toward unifying these behaviors and producing a cleaner, more expansive contract system in the process.

Natural Language and Logic

I am currently investigating applying logic to natural language and performing natural logic inference as part of a research group with Larry Moss.

Search Strategies in miniKanren

Daniel Friedman and I are investigating search strategies for miniKanren, including one for A* search using heuristics as described here.

[Complete] Pocketwatch: A Parallel Language

During my senior year of my undergraduate education at Trinity University, I developed a small parallel language primarily aimed at parallel programming education and easy parallel structuring. It works by specifying code blocks to run at a given "time step" and enumerating timesteps, yielding straightforward, synchronous parallel computation. It is, inadvertantly, quite stream-like in nature. Advised by Maurice Eggen, the project ultimately became my undergraduate thesis with a full language specification and partial implementation.

[Complete] High-Performance Particle Simulations

Mark Lewis performs large-scale, computationally-intensive simulations of Saturn's rings as part of his planetary research. I spent part of the Summer 2010 designing a tree-based locking algorithm for safely handling particle collision detections. The main idea is to store the particles in a large tree where (spatial) node size is determined by the size of particles in the tree. The previous approach relied on a uniform 2D grid which would slow considerably with larger, moonlet-sized particles. This appraoch uses the tree, tagging nodes as 'locked' when performing collisions, producing much better timing results for a certain subset of particle collision simulations (primarily those with several large particles and a significant number of smaller ones).

Publications

Other Papers

Coursework

Spring 2012

Fall 2012

Spring 2012

Fall 2011

Teaching

Odds and Ends

Snippets and Toys

Elsewhere