CEFP2011 logo

CENTRAL EUROPEAN FUNCTIONAL PROGRAMMING SCHOOL

June 14-24, 2011

Eötvös Loránd University, Budapest, Hungary

The programme is available in pdf format here.

Day The programme of lectures and other activities

9:00-10:30

11:00-12:30

14:00-15:30

16:00-17:30

Monday 6.13

Arrival day and warm-up tutorials

Tuesday 6.14

Johan Jeuring (Utrecht University): Strategies for learning functional programming

Rinus Plasmeijer (Radboud University Nijmegen): Defining distributed GUI applications with iTasks

Johan Jeuring (Utrecht University): Strategies for learning functional programming

Rinus Plasmeijer (Radboud University Nijmegen): Defining distributed GUI applications with iTasks

Wednesday 6.15 *

Rinus Plasmeijer (Radboud University Nijmegen): Defining distributed GUI applications with iTasks

Johan Jeuring (Utrecht University): Strategies for learning functional programming

Rinus Plasmeijer (Radboud University Nijmegen): Defining distributed GUI applications with iTasks

Johan Jeuring (Utrecht University): Strategies for learning functional programming

Thursday 6.16

Andrew Butterfield (University of Dublin): Reasoning about I/O in functional programs

Rita Loogen (Philipps University Marburg): Eden

Andrew Butterfield (University of Dublin): Reasoning about I/O in functional programs

Rita Loogen (Philipps University Marburg): Eden

Friday 6.17

Rita Loogen (Philipps University Marburg): Eden

Andrew Butterfield (University of Dublin): Reasoning about I/O in functional programs

Rita Loogen (Philipps University Marburg): Eden

Andrew Butterfield (University of Dublin): Reasoning about I/O in functional programs

Saturday 6.18

Clemens Grelck (University of Amsterdam): Multicore SAC

Kostis Sagonas(National Technical University of Athens): Multicore Erlang

Clemens Grelck (University of Amsterdam): Multicore SAC

PhD Workshop

Sunday 6.19

Excursion

Monday 6.20

Kostis Sagonas (National Technical University of Athens): Multicore Erlang

Clemens Grelck (University of Amsterdam): Multicore SAC

Kostis Sagonas (National Technical University of Athens): Multicore Erlang

Clemens Grelck (University of Amsterdam): Multicore SAC

Tuesday 6.21

Greg Michaelson (Heriot-Watt University Edinburgh): Box Calculus

Simon Marlow (Microsoft Research): Parallel and Concurrent Haskell

Kostis Sagonas (National Technical University of Athens): Multicore Erlang

Greg Michaelson (Heriot-Watt University Edinburgh): Box Calculus

Wednesday 6.22

Simon Marlow (Microsoft Research): Parallel and Concurrent Haskell

Greg Michaelson (Heriot-Watt University Edinburgh): Box Calculus

Simon Marlow (Microsoft Research): Parallel and Concurrent Haskell

Mary Sheeran (Chalmers University of Technology): Feldspar: Implementation and Application

Thursday 6.23

Greg Michaelson (Heriot-Watt University Edinburgh): Box Calculus

Simon Marlow (Microsoft Research): Parallel and Concurrent Haskell

Mary Sheeran (Chalmers University of Technology): Feldspar: Implementation and Application

Andreas Rossberg (Google): JavaScript and V8 - Functional-ish progamming in the mainstream / PhD Workshop

Friday 6.24

Mary Sheeran (Chalmers University of Technology): Feldspar: Implementation and Application

Melinda Tóth (ELTE) - Reverse Engineering of Complex Software Systems via Static Analysis

Mary Sheeran (Chalmers University of Technology): Feldspar: Implementation and Application

Melinda Tóth (ELTE) - Reverse Engineering of Complex Software Systems via Static Analysis

Saturday 6.25

Departure day

* - On Wednesday 15.6 the first lecture starts at 10:00.

Functional programming warmup section (Haskell)

The Warmup Section announced on 13.06 is starting at 15.00 until 19.00. You are welcome to refresh your knowledge in functional programming before the advanced sessions will start on Tuesday!

Place: ELTE Building C (Southern Block)

Time: 15:00-19:00

Programme:

1st lesson (45 minutes): Expressions, types (arithmetic and Boolean expressions, lists, list comprehensions, parametric and ad-hoc polymorphism)

2nd lesson (45 minutes): Function definitions (pattern matching, recursion, guards, higher order functions)

3rd lesson (45 minutes): Algebraic data structures

4th lesson (45 minutes): Type classes

Coffee breaks and lunch

Lunch: 12:30-14:00 (except on Tuesday, 14.6)*

Coffee breaks: 10:30-11:00 and 15:30-16:00

On Tuesday (14.6) Morgan Stanley Hungary will host a lunch and the afternoon session outside the campus:

13.00 - 13.45: Lunch (sandwiches and snacks)

13.45 - 14.00: Welcome and introduction to Morgan Stanley (Bence Kodaj, Borbala Bindes)

14.00 - 14.30: Erlang at Morgan Stanley (Abel Sinkovics)

14.30 - 15.00: The Q programming language and the KDB+ database (Andras Gyorgy Bekes, Ferenc Bodon)

15.00 - 15.05: Closing remarks (Bence Kodaj, Ferenc Bodon)

Excursion

  • 9:30 - Meeting at the university, in the parking area of the building C (the eastern side of the building, Danube-side)
  • 10:00 - Departure from Budapest with air-conditioned coach (English guide)
  • 11:00 - Visiting the Royal Castle Gödöllő
  • 12:30 - Departure from Gödöllő
  • 13:30 - Arrival to Lajosmizse (cakes and welcome drink)
  • 13:40 - Lunch
  • 15:00 - Horse Show, visiting stables
  • 16:00 - Departure (Arrival to Budapest at 17:30)

Banquet

The banquet will be on 23th of June on the Fortuna Ship.

Location of the ship: Szent István park, alsó rakpart.

The banquet starts at 20:00.

How to get there (from the CEFP location): Get on the tram number 4 or 6 at the Petőfi híd, budai hídfő stop , approximately 20 minutes travelling (11 stops) and get off at the Jászai Mari tér stop. From the Jászai Mari tér 15 minutes of walking (900 m) along the river Danube to the north.

Industrial application talk

Andreas Rossberg (Google): JavaScript and V8 - Functional-ish progamming in the mainstream

JavaScript arguably is the most widely-used "lambda language": first-class functions play a central role in the language, and they form the basis for its object system. Not only that: every JavaScript programmer uses concepts like higher-order functions or continuation-passing on a daily basis.

In this talk, I first give a quick intro into the good, the bad, and the unfathomable of JavaScript. Then I present some of the technology of V8, Google's high-performance JavaScript VM: just-in-time compilation, inline caching, type feedback, dynamic optimization and deoptimization.