University of Birmingham > Talks@bham > Theoretical computer science seminar > Frank, a direct style language with typed effects

Frank, a direct style language with typed effects

Add to your list(s) Download to your calendar using vCal

  • UserConor McBride, University of Strathclyde
  • ClockFriday 11 January 2013, 16:00-17:00
  • HouseUG05 Learning Centre.

If you have a question about this talk, please contact Paul Levy.

Frank is an experimental typed functional programming language I’ve been quietly working on since 2007. It resembles Bauer and Pretnar’s Eff, in that it supports direct style programming with side effects. However, it has a type system which makes clear which effects are available at any point and ensures that programs perform only available effects. Code thus resembles ML but types resemble those of Haskell, except that it is always clear which parts of types describe values and which describe effect permissions, reducing the need for plumbing operators like >>= and <*>.

As in Eff, effects are specified via interfaces of operations, and the permitted effects are locally renegotiable by specifying how new operations are to be handled. Frank types are effect-polymorphic in that they express requirements on and amendments to an arbitrary and nameless ambient set of permitted operations. This polymorphism is so neatly invisible that convincing anonymous referees it exists is sometimes difficult: it boils down to writing the type for map and the code for map, then discovering it’s actually the monadic mapM. I implemented a version of Frank earlier this year, so I’ll finish with a demonstration.

This talk is part of the Theoretical computer science seminar series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

Talks@bham, University of Birmingham. Contact Us | Help and Documentation | Privacy and Publicity.
talks@bham is based on talks.cam from the University of Cambridge.