Welcome!

I'm a student at CUBoulder working on a PHD in computer science. I'm a member of the Programming Languages and Verification group and advised by Matthew Hammer. We've been working together on incremental computation since meeting at UMD's PLUM lab. We're currently working with Adapton, to bring incremental computation to a wider audience.

Papers

  • The Random Access Zipper: Simple, Purely-Functional Sequences [Arxiv,PDF] Published in TFP'16 proceedings
  • Incremental Computation with Names [ACM,Arxiv,PDF] Published in OOPSLA'15 proceedings

Presentations

  • Speed and Simplicity for Incremental Sequence Computation Presented at PLDI'17 SRC with slides [PDF] (10 min)
  • Speed and Simplicity for Incremental Sequence Computation Presented at IC'17 with slides [PDF] (25 min)
  • The Random Access Zipper Presented at PLDI'16 SRC with slides [PDF] (10 min)
  • The Random Access Zipper: Simple, Purely-Functional Sequences Presented at TFP'16 with slides [PDF] (20 min)
  • Correct-by-Construction Interactive Software Presented at OBT'16 with slides [PDF] (20 min)
  • Sparse Adapton [YouTube] Presented at ICFP'15 SRC with slides [PDF] (8 min)

Posters

  • IODyn: A High-level Language for Incremental Computation [PDF] Displayed at POPL'18 SRC
  • Speed and Simplicity for Incremental Sequence Computation [PDF] Displayed at PLDI'17 SRC
  • Random Access Zipper [PDF] Displayed at PLDI'16 SRC
  • Sparse Adapton [PDF] Displayed at ICFP'15 SRC

Abstracts

  • Simplifying incremental code with IODyn [PDF] Accepted at POPL'18 for the SRC
  • Tuning Data and Control Structures for Incremental Computation [IC,PDF] Accepted at IC'17 (with PLDI) for presentation (original submission [PDF])
  • Random Access Zipper [PDF] Accepted at PLDI'16 for the SRC
  • Correct-by-Construction Interactive Software: From Declarative Specifications to Efficient Implementations [OBT,PDF] Accepted at OBT'16 for presentation
  • Space and Time Optimizations In Adapton [PDF] Accepted at ICFP'15 for the SRC

Drafts

  • Programming in the Rust Type System (Proposal) [PDF] Prepared for POPL'18 Tutorials (not selected to give tutorial)
  • IODyn: A High-level Language for Incremental Computation (Slides)[PDF] Prepared for POPL'18 SRC (not selected to give talk)
  • The Random Access Zipper: Simple, Persistent Sequences (Partial Paper) [PDF] Accepted for presentation at TFP'16, (Full Paper) [PDF] Later accepted for publication in TFP'16
  • Please Repeat Yourself: A Simple and Responsive Text Editor via Incremental Computation and the Random-Access Zipper (Full Paper) [PDF] Reorganized into later projects

Projects

Fungi Language - Typed language for incremental computation IODyn Language - DSL for incremental computation Type-Level Rust Other Rust projects with types Giraz Collection - Sequence data structure using Adapton Incremental Sorting - Memory-efficient incremental sort RAZ - Random Access Zipper for functional sequence editing IC_Edit - Incremental text editor programmed in rust Sparse Adapton - Uses fewer memo points for efficiency Nominal Adapton - Exposes names for memo table rewriting Graphmovie - A viewer for dynamic graphs WebGL - some experiments with graphics

Service

  • Student Volunteer Co-Captain - PLDI'18
  • Student Volunteer - POPL'18
  • Student Volunteer - PLDI'17
  • Faculty Candidate Evaluation, student group - CU Boulder, Spring 2016