I use programming language theory to explore / explain / engineer compositional UI, trying to make engagement with algebraic abstractions more fluid, tangible, and fun
Can we make GUIs that compose like languages? Create languages made of GUIs?
Can malleable semantic interfaces help make code a thing you can dip you feet in?
Language servers can provide semantic contextualization and guidance to inform
helpful editing affordances for both people and language models: LLMs need IDEs
Math needs juice. Working on tactile afforances to support the development of
mechanical sympathy in the manipulation of materials with mechanized semantics
- Oct 2024
-
Currently in LA for SPLASH 2024, including HATRA, LIVE, Onward!,
and the Ink & Switch Unconf - Sept 2024
-
Briefly in Vancouver enroute to Gradient with Marcel,
Elliot, and Ivan
(Update: And surprise guests Devine and PVH) - August 2024
-
Paper Statically Contextualizing Large Language Models with Typed Holes
(Andrew Blinn,
Xi Liang, June Hyung Kim, Cyrus Omar) accepted at OOPSLA 2024 in Pasadena! - May 2024
- On the program committees for LIVE, HARTA, and Onward! at SPLASH 2024.
- Jan 2024
-
A distinguished paper award for Total Type Error Localization and Recovery with Holes at
POPL2024 (Eric Zhao, Raef Maroof, Anand Dukkipati, Andrew Blinn, Zoe Pan, Cyrus Omar) - Jan 2024
- Our paper Toward a Live, Rich, Composable, and Collaborative Planetary Compute Engine accepted to PROPL @ POPL24 (Alexander Bandukwala, Andrew Blinn, Cyrus Omar)
- Oct 2023
-
Our paper Gradual Structure Editing with Obligations was accepted to VL/HCC23
(David Moon, Andrew Blinn, Cyrus Omar) - Oct 2023
- Spoke at the 2023 Midwest PL Summit
about type-directed prompt construction
for LLM code completion (Slides) - Sep 2023
- Conference grand tour! Joined the train jam on the Empire Builder from Seattle to St. Louis for the final Strange Loop and the first Local First Unconf
- May 2023
-
Mastered (Computer) Science at the University of Michigan.
Pased preliminary exam and advanced to PhD candidacy - Apr 2023
- Heading Causal Islands in Toronto and Gradient Retreat on Galiano Island with Omar, Max, and Ian
- Sep 2022
-
Our paper Tylr - A Tiny Tile-based Structure Editor accepted to TyDe workshop
(David Moon, Andrew Blinn, Cyrus Omar) - Sep 2022
-
An Integrative Human-Centered Architecture for Interactive Programming Assistants
Published and presented at VLHCC22 in Rome (Extended Paperclip Calculus edition)
(Andrew Blinn, David Moon, Eric Griffis, Cyrus Omar) - Oct 2021
- Student volunteering at SPLASH/OOPSLA in Chicago; attended HATRA and LIVE workshops
- Jun 2021
-
Our paper Filling typed holes with live GUIs accepted to PLDI21
(Cyrus Omar, David Moon, Andrew Blinn, Ian Voysey, Nick Collins, Ravi Chugh) - February 2021
- Heading to Gradient with Omar, Toph, Horace, and Robert
Here's some other things i've worked on:
fructure
a structured interaction engine
fructure is a prototype for an extensible structured editing engine, built around a ui for composing term-rewriting edit actions. editing abstractions like cursors and code-folding are reinterpreted as syntactic scaffolding in a meta-grammar of syntactic affordances
context patterns
capture contexts with racket/match
a library of custom pattern combinators for racket/match which generalize macro-by-example ellipses patterns. these use composable continuations to descend into arbitrary nested structures and capture both matches and their surrounding contexts
depthop
an sdf raymarcher in c++
a simple cpu raymarcher parallelized with open MP, implementing constructive solid geometry, soft shadows, ambient occlusion, blinn-phong shading, and perlin noise
figuring out new ways for you to fight with your editor, hybridizing hazel with the smyth program synthesizer
joined cyrus omar's fp lab as a phd student at the u of m, helping ruin programming forever
ended 18 months owning ownership at todaq with a project on making interfaces for reifying fake digital stuff