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

  • IODyn: A High-level Language for Incremental Computation [PDF] Prepared for POPL'18 SRC (not selected to give talk)
  • The Random Access Zipper: Simple, Persistent Sequences [PDF] Accepted for presentation at TFP'16, [PDF] 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] Awaiting refactoring

Projects

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