Luc Duponcheel graduated as a mathematician at the University of Antwerp, Belgium, and continued as a researcher in non-archimedian functional analysis at the University of Nijmegen,
the Netherlands. He obtained his Ph. D. from the University of Brussels, Belgium.
His industrial life started as an OO consultant and C++ programmer for Alcatel and IBM.
Computer science has always been his 'late at night hobby'.
He had the pleasure to work for two years as a course developer and researcher at the University of Utrecht,
Some of his computer science publications, written together with Mark P. Jones, deal with monads and related topics.
Other ones, written together with Doaitse Swierstra, deal with error correcting parsers.
The latter ones were a motivation for John Hughes to generalize monads to arrows.
Ross Paterson invented and implemented extra Haskell syntax to support programming with arrows.
What you need to know about Scala before starting to learn about it.
The Scala language is a type-safe alternative to an increasing growth of scripting languages.
Scala is a scalable language that grows on a library basis rather than on a language basis.
It is possible to define internal domain specific languages supporting elegant syntax.
The magic behind this is a combination of language concepts like higher order functions and call-by-name parameters.
Those language concepts come from the pure functional programming world.
Scala is the first pure object-oriented language that supports those language concepts.
Scala's parser combinator library makes it possible to deal with external domain specific languages in an elegant way.
The first, largest part of the presentation
goes into the details of the basic choices that the Scala language designers have taken.
It is aimed at object-oriented programmers.
It does not require any knowledge about pure functional programming.
In fact, its main goal is to give the audience a feeling about the power of pure functional programming paradigms.
The presentation is example driven: all concepts are illustrated using live basic demos.
The second, smallest part of the presentation
goes in some details about what is possible using Scala in practical examples.
When necessary to understand the examples, it explains some of the more avanced features of Scala,
like case classes, genericity and variance.