Euclase is a live development environment focused on creating interactive web applications. It uses a programming model that combines constraints and finite state machines to specify interactive behaviors. Euclase is "live" in the sense that while the user is developing code, their program is always executing. Changes made to the source of the program are reflected immediately in the running program. We identify some of the implementation and design challenges of making our development environment live, including performance issues, ensuring predictability, dealing with errors in the source, and handling edge cases such as the removal of code that is currently running. We also discuss how Euclase's use of finite state machines and constraints can help alleviate these difficulties.
['Stephen Oney', 'Brad A. Myers', 'Joel Brandt']
Euclase: a live development environment with constraints and FSMs