Featuring a days of talks, demos and discussions, the Haskell eXchange will bring the world's top Haskell and Functional experts together with the super active, passionate and fast growing Haskell community to learn and share skills, exchange ideas and meet like minded people. Don't miss it!
Sponsorship
Fancy being associated with some of the world's leading technologies? Want to attract attention to your own amazing projects and products? Jump onto the sponsorship tab at the top or give the team a call on 0207 183 9040.
More Haskell?
In partnership with the folks at Well-Typed we run public Haskell courses in London. If you want to get up to speed with Haskell and Functional Programming, we have the 'Fast Track to Haskell' course. If you're more comfortable with the fundamentals, why not attend 'Advanced Haskell'?
We are also running a series of new one day courses, including an in-depth look at the Haskell Type System and the GHC's various language extensions.
Excited? Share it!
Day 1: Day 1
Haskell eXchange
Track | Track 1 | |||
08:30
Invalid Time
Invalid Time
|
Registration |
|||
08:55
Invalid Time
Invalid Time
|
Day 1, 8 Oct starts 08:55 (Track 1)
Opening & Welcome
|
|||
09:00
Invalid Time
Invalid Time
|
Newtypes are the key to data abstraction in Haskell, and come with an crucial performance guarantee: it doesn’t cost anything to use a newtype. Embarrassingly, this guarantee is weak: it fails as soon as you embed a newtype’d value in a data structure. At the same time, the hugely-popular language feature “generalised newtype deriving” turns out to rely internally on a strong version of the guarantee. And, in the presence of type-level functions, the strong version of the guarantee turns out to be unsound, leading to a notorious type-soundness bug in GHC that has persisted for several years. As is often the case in Haskell, finding a solid, principled solution to the problem turned out to be far more interesting than we expected, requiring us to distinguish two flavours of type equality (representational and nominal), with a “role system” to allow type-safe abstraction. I think the result is pretty cool. In this talk I’ll explain what all the fuss is about.
haskell
functional-programming
About the speaker...Simon Peyton JonesSimon Peyton Jones, MA, MBCS, CEng, graduated from Trinity College Cambridge in 1980. Simon was a key contributor to the design of the now-standard functional language Haskell, and is the lead designer of the widely-used Glasgow Haskell Compiler (GHC). He has written two textbooks about the implementation of functional languages. After two years in industry, he spent seven years as a lecturer at University College London, and nine years as a professor at Glasgow University before moving to Microsoft Research (Cambridge) in 1998. His main research interest is in functional programming languages, their implementation, and their application. He has led a succession of research projects focused around the design and implementation of production-quality functional-language systems for both uniprocessors and parallel machines. More generally, he is interested in language design, rich type systems, software component architectures, compiler technology, code generation, runtime systems, virtual machines, and garbage collection. He is particularly motivated by direct use of principled theory to practical language design and implementation -- that's one reason he loves functional programming so much. |
|||
10:00
Invalid Time
Invalid Time
|
Coffee, Tea & Refreshments |
|||
10:15
Invalid Time
Invalid Time
|
In this talk, I hope to explain a little bit about how categories can help the working Haskeller. I'll focus on two aspects: categories as an organising principle, helping us to manage generic libraries; and categories as a reasoning principle, helping us to transform programs.
haskell
functional-programming
category-theory
data-types
generic-programming
About the speaker...Jeremy GibbonsHe is Editor-in-Chief of the Journal of Functional Programming, Chair of IFIP WG2.1 on Algorithmic Languages and Calculi (which designed Algol68, although he can claim none of the glory for that), and Vice-Chair of ACM SIGPLAN |
|||
11:00
Invalid Time
Invalid Time
|
Coffee, Tea & Refreshments |
|||
11:15
Invalid Time
Invalid Time
|
Included will be a quick tour of some available tools and techniques, pitfalls to avoid, and illustrations about what to look for when your code isn't performing as well as you'd like.
haskell
functional-programming
performance
About the speaker...Bryan O'SullivanSome highlights of their work include scaling up Facebook's source control; developing the Hack programming language; massive automated build and test infrastructure for web and mobile platforms; and automated bug detection. |
|||
12:00
Invalid Time
Invalid Time
|
Lunch |
|||
13:00
Invalid Time
Invalid Time
|
In this talk, I will explain how these rest libraries work. I'll show how APIs are built, how they are run using different web frameworks, and how you can generate API clients and documentation from them. I will detail some of the design choices, like the choice of existentials in resources, and the use of GADTs holding dictionaries for input and output. Additionally, I'll show some possible future directions for the libraries, providing greater extensibility as well as type safety. |
|||
13:45
Invalid Time
Invalid Time
|
Coffee, Tea & Refreshments |
|||
14:00
Invalid Time
Invalid Time
|
In this talk we will introduce api-tools, a freely available Haskell library that provides a DSL for describing and performing data schema migrations on JSON structures. It allows us to write a self-documenting, human-readable schema changelog that can be validated by developers and executed during automated deployments. Iris Connect are developing a video sharing platform that is being deployed in over a thousand schools worldwide. We'll explain how we are using api-tools to handle change in the data model at the centre of this platform. Finally, we'll reflect on a few serendipitous design decisions and on the advantages Haskell brings us.
haskellx
haskell
functional-programming
schema
dsl
migration
About the speakers...Adam GundryFollow Adam on Github! Chris DornanThe core of the new platform is written in Haskell. Chris has been writing Haskell programs since the early ‘90s, in industry since the early ‘00s and makes regular contributions to the Haskell open-source eco system. Follow Chris on Twitter @cdornan |
|||
14:45
Invalid Time
Invalid Time
|
Coffee, Tea & Refreshments |
|||
15:00
Invalid Time
Invalid Time
|
In this talk, Peter and Tim will explain structural typing and compare it to the more usual nominal typing. They will present some code examples from an in-house external DSL, Lucid, for describing exotic equity trades and strategies. Lucid features a type-system that makes significant use of row polymorphism, specifically extensible records and their dual, polymorphic sums with extensible cases. The pair will demonstrate the use of records and extensible cases through example code written in such a way that it can be re-used in other unanticipated contexts. And compare and contrast with other more mainstream approaches, such as object-oriented programming. Lastly, the duo will explore how row-polymorphism can be used to implement a simple effects tracking system for external DSLs. |
|||
15:45
Invalid Time
Invalid Time
|
Coffee, Tea & Refreshments |
|||
16:00
Invalid Time
Invalid Time
|
We'll see how one can get a lot of the benefits of dependent types in Haskell today, and how tools often seen as purely theoretical have very practical applications.
haskell
types
websockets
About the speaker...Oliver CharlesFast forward to 2014, and Oliver is perhaps best known for his yearly 24 Days of Hackage series of blog posts, where he spends 24 days at the end of the year blogging about different Haskell libraries. Whether it's game programming, database querying, type safety, or high performant data processing - there's probably a library about it that he's blogged about! Oliver is currently the author of a collection of Haskell libraries, a developer for CircuitHub.com, and an active speaker with the London Haskell User Group. |
|||
16:45
Invalid Time
Invalid Time
|
Pizza and Drinks |
|||
17:15
Invalid Time
Invalid Time
|
KEYNOTE
|
|||
18:00
Invalid Time
Invalid Time
|
To The Pub |
-
Categories for the Working Haskeller
Featuring Jeremy Gibbons
The Haskell community is famous - perhaps infamous - for its enthusiasm for category theory. Why is this? Is it important to understand categories before you can understand Haskell programs? Is it an attempt to keep the community as pure as the language? Is it just that Haskell is a refuge for...
haskell functional-programming category-theory data-types generic-programming -
Safe, Zero-Cost Coercions in Haskell
Featuring Simon Peyton Jones
Newtypes are the key to data abstraction in Haskell, and come with an crucial performance guarantee: it doesn’t cost anything to use a newtype.
haskell functional-programming -
Performance Measurement and Optimization in Haskell
Featuring Bryan O'Sullivan
In this talk, I'll discuss performance measurement and optimization in Haskell from the perspective of a library or application programmer.
haskell functional-programming performance -
2
Coping with change: data schema migration in Haskell
Featuring Adam Gundry and Chris Dornan
It's all very well to write a beautiful RESTful web service in Haskell, but software development is an inherently dynamic activity with your specs in constant flux. We need to be able to constantly revise the API specs and data schema, communicating changes to the whole engineering team,...
haskellx haskell functional-programming schema dsl migration -
Rest - Building APIs Easily
Featuring Erik Hesselink
At Silk, we have an external REST API that people can use to interact with our product. We also have internal services that talk to each other using REST APIs. These all follow a similar structure: there are resources (users, pages), and actions to perform on them (list, get, update, delete). For...
haskell functional-programming rest api gadt haskellx -
2
Structural Typing for Structured Products
Featuring Tim Williams and Peter Marks
Join Tim WIlliams & Peter Marks from Barclays for a talk on structural typing for structured products.
haskell functional-programming -
Park Bench Panel Discussion
The Haskell eXchange wraps up with a park bench discussion on various topics around the Haskell ecosystem.
haskell -
Strongly Typed Publish/Subscribe over Websockets via Singleton Types
Featuring Oliver Charles
Haskell is a language known for its type safety, but just how far can the type system go? In this talk, Oliver will demonstrate how a publish/subscribe protocol implemented over Websockets has grown from using little type information and progressed to well-typed sessions through the use of...
haskell types websockets
-
Haskell eXchange 2022: Online Conference
Two days - Online Conference
We're thrilled to once again welcome the global Haskell community to join the Haskell eXchange conference via our virtual conference platform, where across 2 jam-packed days, you'll connect with like-minded Haskellers and learn new skills through practical, coding-based sessions.
software-development haskell ghc functional-programming -
Haskell eXchange 2022: In-Person Conference
Two days in London
We're thrilled to once again welcome the Haskell community to CodeNode in London, where you'll meet hundreds of like-minded Haskellers face-to-face, discuss new technologies, and learn new skills through practical, coding-based sessions, as we explore what's new and what's next in...
software-development haskell -
Haskell eXchange 2022: Novice Track
One day - Online Conference
If you've heard of Haskell, but aren't sure where to begin, join us online 7 December for a day of free talks exploring the fundamentals of functional programming, the basics of Haskell, and answers to why teams use this increasingly popular language!
software-development functional-programming beginner haskell -
Haskell eXchange 2021: Pro Track
Two days - Online Conference
Join us for the 10th annual Haskell eXchange! Hear the latest from Haskell thought leaders, while you connect with fellow Haskellers in breakout sessions, and learn new skills in practical, coding-based talks.
functional haskell ghc #functional-programming -
Haskell eXchange 2021: Novice Track
One day - Online Conference
This year at Haskell eXchange we've added a special "Novice Track" day for anyone who may have heard of Haskell, but isn't quite sure where to begin. Join us for a day of free talks exploring the fundamentals of functional programming, the basics of Haskell, and real-world uses...
haskell functional-programming -
Haskell eXchange 2020
Two days - Online Conference
The Haskell eXchange Online is the online edition of the annual conference created for and by the Skills Matter Haskell community. An opportunity for Haskellers to meet, learn and share skills, discover emerging technologies and help evolve the Haskell ecosystem.
haskell ghc functional-programming types haskellx -
Haskell eXchange 2019
Two days in London
Back for its eighth instalment, Haskell eXchange is an annual conference created for, and by, the Skills Matter community. An opportunity for Haskellers to meet, learn and share skills, discover emerging technologies and help evolve the Haskell ecosystem. Everyone is welcome to join, whether you...
nix monads cryptocurrency fp ghc haskell functional-programming types -
Haskell eXchange 2018
Two days in London
Back for a seventh installment, the Haskell eXchange is an annual conference created for and by the Skills Matter community. An opportunity for Haskellers to meet, learn and share skills, discover emerging technologies and help evolve the Haskell ecosystem. Everyone is welcome to join, whether...
haskell haskellx types functional-programming -
HaskellX2gether Community Weekend
Two days in London
Following up on the Haskell eXchange, we will hold a two-day Haskell eXchange Community Weekend - HaskellX2gether. Everyone is welcome, beginners and experts alike, and not just participants at the Haskell eXchange, but everyone who would like to participate in a two-day coding festival.
haskell haskellx hackathon hack functional-programming -
Haskell eXchange 2017
Two days in London
Back for a sixth installment, the Haskell eXchange is an annual conference created for and by the Skills Matter community. An opportunity for Haskellers to meet, learn and share skills, discover emerging technologies and help evolve the Haskell ecosystem. Everyone is welcome to join, whether you...
haskell haskellx types functional-programming -
Haskell eXchange 2016
Two days in London
In its fifth year, the Haskell eXchange is an annual conference created for and by the Skills Matter community. An opportunity for Haskellers to meet, learn and share skills, discover emerging technologies and help evolve the Haskell ecosystem. Everyone is welcome to join, whether you are an...
types monads functional-programming haskell haskellx -
Haskell Infrastructure Hackathon 2015
Two days in London
Following up on the Haskell eXchange, we will hold a two-day Haskell Hackathon at Pivotal. Everyone is welcome, beginners and experts alike, and not just participants at the Haskell eXchange, but everyone who would like to participate in a two-day coding festival.
haskell haskellx functional-programming monads types -
Haskell eXchange 2015
Two days in London
Want to learn about the latest innovations in Haskell? Join 100+ functional programmers to learn modern approaches as well as how Haskell's application in enterprise is changing the way our industry tackles complex engineering problems.
haskellx haskell functional-programming monads types -
Haskell eXchange 2013
One day in London
The second edition of the Haskell eXchange returns to Skills Matter HQ on October 9th. This unique and dedicated Haskell event will pull together Haskell enthusiasts, developers, and thought leaders across Europe.
haskell clojure akka functional-programming haskellx -
Haskell eXchange 2012
One day in London
Skills Matter is proud to announce the first annual Haskell eXchange. While we're working with Neil Mitchell to put together a fantastic programme for you, we can already tell you that Simon Peyton-Jones is confirmed to make a keynote!
For updates on the latest presentations and speakers,...
haskell