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

  • Using Rust's Type-level Language [PDF] Displayed at ICFP'18 SRC
  • 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

  • Using Rust's metalanguage as a DSL type checker [PDF] Accepted at ICFP'18 for the SRC
  • 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

  • A DSL embedded in Rust (Partial Paper) [PDF] Accepted for presentation at IFL'18
  • 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

TraitLang - Constraining a type-level langauge in Rust 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 - ICFP'18
  • Student Volunteer Co-Captain - PLDI'18
  • Student Volunteer - POPL'18
  • Student Volunteer - PLDI'17
  • Faculty Candidate Evaluation, student group - CU Boulder, Spring 2016