GOTO is a vendor independent international software development conference with more that 90 top speaker and 1300 attendees. The conference cover topics such as .Net, Java, Open Source, Agile, Architecture and Design, Web, Cloud, New Languages and Processes

Erik Meijer, Microsoft SQL

Erik Meijer

Biography: Erik Meijer

Erik Meijer is an architect in the Microsoft SQL server division where he currently works together with the Microsoft Visual C# and the Microsoft Visual Basic language design teams on data integration in programming languages.

Prior to joining Microsoft he was an associate professor at Utrecht University and adjunct professor at the Oregon Graduate Institute.

Erik is one of the designers of the standard functional programming language Haskell98 and more recently the Cw language.

Workshop: Become a Functional Hacker: Think like a Fundamentalist, Code like a Pragmatist

Track: Language Training / Time: Thursday 09:00 - 16:00 / Location: Room1

Become a Functional Hacker: Think like a Fundamentalist, Code like a Pragmatist Advanced

Functional Programming in Haskell with Category Theory and Practical Applications

The aim of this course is to teach the principles of pure lazy functional programming, and the corresponding Category Theoretical principles, using the modern functional language Haskell. Broadly speaking, functional programming is a style of programming in which the primary method of computation is the application of functions to arguments. Among other features, functional languages offer a compact notation for writing programs, powerful abstraction methods for structuring programs, and a simple mathematical basis that supports reasoning about programs. Many of the advanced techniques in modern functional languages, such as monads and catamorphisms, are closely based on principles from category theory such as functors, initial algebras, and of course monads and Kleisli categories.

This course is based on the highly popular book and accompanying courses by Graham Hutton ( with the additional twist that we translate the abstract concepts from the lectures to code in concrete mainstream imperative languages such as JavaScript, Dart, C#, and Java. This is to emphasize that (pure) functional programming often works best as “tools for thought” while object-oriented languages and frameworks work best as “tools for building running software”.

The course is taught by prof. dr. Erik Meijer, who is affiliated with Microsoft (Redmond, USA), in combination with a part time appointment at Delft University of Technology as professor of Cloud Programming.