[Pl-seminar] Semantics Seminar Schedule

Mitchell Wand wand at ccs.neu.edu
Mon Jan 16 09:53:17 EST 2006


NU Programming Languages Seminar
Wednesday, 1/18/06
11:45-1:30 pm
Room 366 WVH (http://www.ccs.neu.edu/home/wand/directions.html)

Aleksandar Nanevski
Harvard University

A Modal Approach to Functional Programming

Abstract:

It is becoming increasingly important today to execute programs in very
complex run-time environments. Modern programs are often required to run
in parallel, be mobile, use distributed data, accommodate dynamically to
changing run-time conditions.

When approaching hard programming problems, a language-enforced
programming discipline is crucial, and a natural way to enforce it is
through the type mechanism of functional languages.  Types express
assumptions and guarantees required of program expressions, and usually
correspond to propositions in some logic. The compiler checks if the
program matches its type, thereby aiding the debugging process.

Unfortunately, most type systems of today only ensure that functions are
invoked with matching arguments, and usually ignore how programs
interact with their environments. For example, when programs interact
with memory, it is usually possible and desirable to execute a number of
memory reads out of order, while the memory writes must typically be
serialized. This distinction between reads and writes should be encoded
in the type system.

The natural question then becomes: which logic captures the relevant
properties of run-time environments, and thus may serve as a foundation
for languages of the future?  In this talk, I will describe a language
based on a version of modal logic, and illustrate how it structures the
interaction between programs and environments. In the examples I
consider, programs interact with memory (giving rise to a calculus for
destructive and non-destructive state update), with the control stack
(calculus of exceptions), and with the syntactic representation of
program contexts (calculus for run-time code generation and meta
programming).

				   

Upcoming Events:

stay tuned...

--Mitch




More information about the pl-seminar mailing list