[UMN logo]

CSCI 5980/ CSCI 8980: Topics in Functional Programming Languages
Spring 2009, Class Presentations


The students in this course will be giving a series of presentations on topics related to functional programming languages that they have been studying as part of individual class projects. The titles of their presentations and dates will be listed below as this information becomes available. Clicking on the link will lead you to an abstract for the talk and also some papers that might be read beforehand to get the most out of the talk.

All the presentations will take place in Room 240, Amundson Hall from 9:45 till 11:00 a.m.


Concurrency in Functional Programming Languages
Gaurav Dubey

Abstract

My paper concerns the implementation of concurrency in functional programming languages. It discusses the different models of concurrency, and the implications of the functional programming model when trying to implement them. It looks at the ways in which concurrency has been implemented in specific languages (including Erlang, Haskell, and Standard ML), and discusses how each language's peculiarities affect the implementation decisions. I also discuss how this has been extended to enable distributed computing in languages such as Erlang.

References

  1. Jim Larson. Erlang for concurrent programming. ACM Queue Magazine, September 2008, pages 26-36.


Termination verification for functional programming
Justin Shovelain

Abstract

In this presentation I will discuss methods for verifying program termination in functional programming languages. Specifically, I will relate functional programming to term-rewrite systems and discuss methods used to prove that they terminate. I will then compare the methods to each other and perhaps end with a couple speculations.

References

  1. Nachum Dershowitz. Orderings for Term-Rewriting Systems. Theoretical Computer Science 17 (1982) pages 279-301.


Functional Reactive Programming
Ted Kaminski

Abstract

I will be presenting on Functional Reactive Programming, specifically the Yampa system in Haskell. We will see what FRP is, examine the advantages of FRP for writing programs that involve time-varying state, explore how FRP can be done in Haskell, and take a look at an example of a functional reactive program in the form of Asteroids. In addition, some time will be spent building a somewhat general understanding of Arrows.

References

  1. Arrows, robots, and functional reactive programming. Paul Hudak, Antony Courtney, Henrik Nilsson, and John Peterson. In Summer School on Advanced Functional Programming 2002, Oxford University, volume 2638 of Lecture Notes in Computer Science, pages 159-187. Springer-Verlag, 2003.

    Read sections 1 & 2 of this paper, section 3, about half the paper, can be ignored as we won't be discussing robots.

  2. The Yampa arcade. Antony Courtney, Henrik Nilsson, and John Peterson. In Proceedings of the 2003 ACM SIGPLAN Haskell Workshop (Haskell03), pages 7-18, Uppsala, Sweden, August 2003. ACM Press.

    If time permits, paper 2 gives a decent introduction to using Yampa and the design of functional reactive programs, but isn't necessary to read.


Programming in the Dependently Typed Lambda Calculus
Zach Snow

Abstract

In my talk I will first introduce the dependently-typed lambda calculus, and then describe a specification language based on it called LF. Next we will investigate one model of programming in LF, which is closely related to logic programming languages such as Lambda Prolog. Finally, I will describe techniques for implementing such a programming model, both by interpretation, and by compilation to Lambda Prolog. Throughout all of this we will be examining an example program based on type inference in the simply typed lambda calculus.

References

  1. A Framework for Defining Logics. by Robert Harper, Furio Honsell and Gordon Plotkin.
  2. Higher Order Logic Programming by Gopalan Nadathur and Dale Miller.

    Read sections 1 and 2.


Last modified: April 18, 2009 by gopalan atsign cs dot umn dot edu and evw atsign cs dot umn dot edu