Alexander Bandukwala

  • Home
  • About
  • Tags
  • CV

About Me

Gravatar Profile Pic

I'm a researcher in the Future of Programming Lab at the University of Michigan, where my work focuses on programming languages, specifically Hazel, a live functional programming language. I'm interested in utilizing the intersection of Programming Language Theory and Human-Computer Interaction to make the power of computing better for everyone. My long-term vision is to extend live programming into creating malleable software by integrating programming language structures into end-user interfaces. Before my research career, I worked as a professional software engineer for over a decade.

Outside of my research, I'm a novice climber, always looking to improve and tackle new challenges.

Current Research Project

I am currently looking at adding features to Hazel to make it amenable as a live, rich, composable, and collaborative planetary compute engine. The goal is to help address the climate crisis by creating better tools for climate scientists to interface with data and enabling them to better collaborate and share their work. If you are interested in this topic I would encourage you to watch my talk from PROPL 2024. That work is currently taking the form of providing more data-oriented features to Hazel, such as first-class labeled tuples and better support for tabular data. It is written up in our OOPSLA 2026 paper, Interactive Data Analysis with Lively Typed Tables, which introduces live typing: an enhancement to gradual typing that feeds runtime observations back into type checking, making it possible to type-check operations like pivot or unstack whose output columns are determined by the data itself.

Posts

Dimensions of Extensibility - 2024-10-29

A response to the first Malleable Systems Challenge Problem, exploring dimensions of extensibility including open vs. closed extensibility, trust and authority, orthogonality, compositionality, and substrates.

On Compositional Window Management - 2023-02-11

Window management is one of the least valued categories of software given how heavily used it is. I explore how composing window managers could make applications more malleable.

Flatten the Program Lifecycle - 2023-01-02

The traditional way we break down the Program Lifecycle is keeping us from making radical improvements in Computing. Flattening the lifecycle by unifying edit time, compile time, and run time could bridge the gap between programming and interactive computing.

Continuous Delivery - 2020-03-29

Updating the blog to Gatsby v2 and setting up CI/CD with GitHub Actions for automatic deployment to GitHub Pages.

Initial Post - 2018-05-31

Now that I have some free time off from school I've decided to rebuild the blog. I'm using Gatsby with markdown pages for content.