[Colloq] Thesis proposal - A Coordinated, Concurrent, Functional Programming Language -- Tony Garnock-Jones -- Wednesday November 4, 3pm, WVH366

DiFazio, Danielle d.difazio at neu.edu
Tue Nov 3 11:20:14 EST 2015


Title: A Coordinated, Concurrent, Functional Programming Language
Speaker: Tony Garnock-Jones
Date: Wednesday, November 4th
Time: 3:00pm

Location: WVH 366

Abstract:

Most programs interact, meaning not batch I/O but true interaction, with nontrivial feedback between the program's outputs and its inputs.

Such interactions are necessarily concurrent. Even a system with just one program interacting with one user exhibits concurrent, parallel activity, since the user is making decisions at the same time as the program. More complex situations involve correspondingly complex concurrent arrangements.

In general, a program must demultiplex many conversations with external entities in order to accomplish its goals. Each individual conversational stream is a separate activity that interacts with a representation of the task the overall program is trying to achieve.
Each activity maintains its own conversational state, which contributes to the state of the overall program.

Furthermore, the situation is not static. Concurrent entities come and go. For example, in a game, a second player might join or leave the game; in a networked setting, a new connection may arrive, or an existing connection may close; and failures in one component may cause it to abruptly shut down, leaving its peers to cope. Interactions between activities need to be aware of each others' life cycles.

I propose to conduct a design experiment to define and evaluate a new programming model for interactive programs.

The new model offers a means of reasoning about activities locally, but also of composing them into larger units, managing the relationships between the components, and reasoning about their composite activity. It offers a means of letting each activity manage its own state, while composing its state together with the states of its peers into an aggregate state, which can in turn be composed with others. Finally, it offers a means of gracefully handling the life cycles of components, including not just normal comings and goings, but also containment of partial failures.


Committee:

Prof. Matthias Felleisen (advisor)
Prof. Sam Tobin-Hochstadt (external examiner, Indiana University
Bloomington)
Prof. Jan Vitek
Prof. Mitchell Wand


More information about the Colloq mailing list