skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · events · thesis defenses · 1997-1998 · 

Thesis Defense - Blough

ECOT 831

Simplifying the Construction of Interactive Programs in a Functional Programming Environment
Eric B. Blough
Computer Science PhD Candidate

Functional programming offers numerous benefits to the programmer, including higher-order functions, absence of control flow, automatic storage management, and static type inference and type checking. The writing of interactive programs has been a long-standing challenge to the functional programming community, since the statefulness of input and output does not merge smoothly with the statelessness of a pure functional language. Historic and recent approaches to interactivity clearly demonstrate the utility of functional programming of interactive systems, but these approaches are cognitively problematic.

Spreadsheets offer numerous, but largely different, benefits for certain classes of programming problems. These benefits include visible, manipulable data representations, automatic consistency maintenance, absence of control flow, and immediate feedback. Although the spreadsheet environment provides significant interactive power, it is limited and minimally customizable, and has cognitive weaknesses of its own.

We present Esquisse, an alternative to both of these approaches that shares much with each. Esquisse combines the full power of a functional programming language with an extensible spreadsheet-inspired environment made of pure functional components. Esquisse demonstrates that powerful interactive programs can be produced quickly with relatively low cognitive cost, and suggests a promising direction for future research in functional programming environments.

Committee: Clayton Lewis, Professor (Chair)
Michael Eisenberg, Associate Professor
Dirk Grunwald, Associate Professor
Benjamin Zorn, Associate Professor
Wayne Citrin, Department of Electrical and Computer Engineering

See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (13:40)