[Colloquium] Reminder—-Nan evski talk today at 2:30

Meridel Trimble mtrimble at tti-c.org
Fri Apr 18 09:00:31 CDT 2003


Date: Friday, April 18th, 2003

Time: 2:30 p.m.

Place: Ryerson Hall 251 

Speaker: Aleksandar Nanevski
Carnegie Mellon University

http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/aleks/www/ 

Title: A modal foundation for functional programming with effects

Abstract: 
One of the most intriguing questions in the area of functional programming has 
always been how to safely combine pure functional programs with various 
imperative features like input/output or memory reads/writes. This combination 
is important because it improves the practicality, expressiveness and 
efficiency of functional programs while retaining the advantages that programs 
are easy to reason about and that their safety can be statically guaranteed. 

The most popular approach currently is to introduce effect analysis into type-
checking via monads. In a monadic system (such as that of Haskell) effects are 
confined to expressions with monadic type. However, monads also globalize the 
scope of the encapsulated effect: once an effect occurs, the purity of the 
surrounding computation cannot be restored. As a consequence, monadic typing 
does not provide good support for effects that could be handled (such as 
exceptions). 

In this talk I will present a way to remedy this deficiency, based on the 
observation of Pfenning and Davies that an abstract monad can be decomposed in 
terms of operators for possibility Diamond and necessity Box of modal logic. My 
idea is to use the Box modality (which is a co-monad) for tracking the 
propagation of effects, and leave the globalization of effect scope to Diamond. 
Then the effects that admit a natural notion of handling can be encoded using 
Box; since they are not global, there is no need to push them under Diamond. 
Using this idea, I develop a general framework for effect handling systems, and 
obtain novel calculi for exceptions, catch-and-throw, composable continuations, 
dynamic 

*Refreshments will be served after the talk in Ryerson 255* 

If you wish to meet with the speaker, please send e-mail to Meridel Trimble 
mtrimble at uchicago.edu 



More information about the Colloquium mailing list