Functional Programming in Industry

Free Industry Workshop + Optional Crash Courses
September 13, 2017, KU Leuven, Department of Computer Science


Department of Computer Science

The KU Leuven Department of Computer Science.


Welcome

We invite all Flemish software developers who are curious about using functional programming in mainstream programming languages like Java and C# to participate.

This event consists of two parts: two Crash Courses in the morning, and the main event, the Free Industry Workshop in the afternoon:

Crash Courses

The optional crash courses bring you up to speed with the functional programming basics in your language of choice (C#/Java):

Introduction to functional programming in C#

The first part of this course introduces the functional features of C#: lambda abstractions and functional lists processing. The second part of the course covers basic Reactive stream processing, a more advanced topic.

Introduction to functional programming in Java

The first part of this course introduces the functional language features of Java (lambda abstractions, functional interfaces, …). The second part covers stream processing with the Java Streams API.

Free Industry Workshop

The afternoon workshop gives an idea of how functional programming is used in the Flemish software industry and abroad. We kick off the afternoon with an introduction by the academic vLambda partners. Then three industrial vLambda partners provide a testimony of their functional programming endeavours and we end with a keynote by Noel Markham (47 Degrees London and Scala enthusiast). Finally, you are welcome for informal discussion at the reception.


About

This workshop is the culmination of the vLambda project. vLambda is a technology transfer (Tetra) project sponsored by Vlaio to help the Flemish software industry in adopting the functional programming methodology in the context of familiar mainstream programming languages like Java and C#.

The vLambda team is headed by prof. dr. Kris Aerts (senior lecturer at the KU Leuven Technology Campus in Diepenbeek) and prof. dr. ir. Tom Schrijvers (senior research professor at KU Leuven).

Drop us a line at vlambda@cs.kuleuven.be if you want to know more.


Keynote

  • Being Purely Functional in an Impure World

    by Noel Markham

    When doing functional programming in languages that are traditionally non-functional, you can step outside the boundaries of what is considered ‘good’ or ‘correct’—from both a technical and social perspective—for seemingly little or no extra cost.

    Through this talk we’ll take a look at some scenarios where it’s possible to cut corners, see what benefits and drawbacks there are, and show why having a mindset for functional programming can help you excel.

    slides


Testimonials

  • 4d vision

    4d vision explores the use of F# for for the implementation of (the bussiness logic of) a planning application, and for the creation of a DSL for generating domain-specific models of their source code generator.

    slides

  • COMmeto

    COMmeto examines the added value of functional programming in two experiments, each supported by a master thesis. The first experiment investigates the sensor-actor relationship with assistive robotics (exoskeleton). In this case, the difference between functional programming and standard object-oriented programming is evaluated to criteria such as efficiency, compactness, expressivity, readability, and maintainability of the code. The second experiment examines these criteria in the field of analysis of motor signals. In this regard, aspects such as signal shifts in time and simultaneous processing of a plurality of channels are important.

    slides

  • Xplanation

    Xplanation was keen to investigate the benefits of functional programming. Yet our application still runs on Java 6 and, due to the large refactoring cost, an upgrade to a newer version of Java with support for functional programming was not immediately in sight. Fortunately, with Kotlin we have found a feasible alternative to experience functional programming in Java 6. This testimonial reports on our Kotlin project and the advantages and the pitfalls we discovered.

    slides


Schedule

The workshop is split in two parts. The morning features two optional crash courses on functional programming in Java and C#, organised into two parallel tracks. These bring developers up to speed on the functional programming basics in Java and C#.

The afternoon session builds on the context provided by the morning session and features accounts of functional programming in industry: with a report by the vLambda team, practical experience reports by three Flemish companies, and a keynote by Noel Markham.

Start End
Morning Session 10:00 12:30
Java C#
Java I: FP Basics C# I: FP Basics 10:00 11:00
Coffee break 11:00 11:15
Java II: Stream Processing C# II: Reactive Programming 11:15 12:15
Lunch Break 12:15 13:30
Afternoon Session 13:30 13:30
Report by the vLambda team [slides] 13:30 14:00

Testimonials by:

14:00 14:45
Break 14:45 15:00
Keynote by Noel Markham (47 Degrees) 15:00 16:00
Reception 16:00 17:00

Crash Course Material

Java Crash Course

C# Crash Course


Registration

Registration is now closed.

Registration for the Industry Workshop is free of charge and limited to 100 participants.

The registration fee for the Crash Courses is 75 EUR per person. Each course is limited to 25 participants. We accept both bank card (master card, visa and bancontact) and bank transfer payments. Please complete the registration form before paying the registration fee.

Payment

Please pay either with credit card or by bank transfer. Complete the registration form before paying the registration fee.

Bank Transfer

Please include the following information:
Account Holder
KU Leuven, Krakenstraat 3, B-3000 Leuven
Bank
KBC, Bedrijvenkantoor Leuven, Brusselsesteenweg 100, B-3000 Leuven, Belgium
IBAN
BE09 4320 0000 1157
BIC
KREDBEBB
Structured Message
400/0015/04347

Bank Card

We accept: Bancontact, Maestro, Visa or Mastercard


Venue

The workshop takes place at the Department of Computer Science, Celestijnenlaan 200A, 3001 Heverlee . The morning sessions on Java and C# are held on the top floor in rooms Java and Prolog. The afternoon session, including the keynote and industry testimonials is held on the ground floor in the Auditorium Erik Duval. The neighbouring foyer will be used for the networking reception afterwards.

Access codes to the nearby visitor’s parking area will be provided for the participants a few days in advance of the event. Alternatively, you may use public transport to reach the department from the Leuven train station.

back to overview of activities