Cyrus Omar

Assistant Professor, Computer Science and Engineering

designing modern user interfaces for modern programming languages

I lead the Future of Programming Lab (FP Lab), where we design modern user interfaces for modern programming languages. Much of how we program today is rooted in tools designed 40+ years ago, e.g. how we enter code (using simple text editing, which leads to profligate parse errors), how we validate code (using tests or impoverished type systems), how we explore code (in a slow, batched, textual manner), how we communicate change (by throwing away the edits we performed and forcing diff algorithms to guess what we did), and so on. My lab develops new programming language and editor mechanisms, starting from theoretical foundations in mathematics and building up to human interfaces.

Integrating live GUIs into programs with holes

Integrating live GUIs into programs with holes