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!
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.
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.
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.
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 underemployed mathematicians? None of the above!
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.
Jeremy Gibbons is Professor of Computing at the University of Oxford, where he is director of the part-time professional master's programme in software engineering. He has been devoted to functional programming since the late eighties; his particular interests are in patterns in functional programming, in reasoning about programs, in generic programming, and in embedded domain-specific languages.
In this talk, I'll discuss performance measurement and optimization in Haskell from the perspective of a library or application programmer.
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.
Bryan manages the Developer Efficiency team at Facebook. They build and scale the tools that Facebook's engineering teams use to develop products.
Some 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.
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 each API, we also need clients in different languages, and documentation. To build all these APIs, we've written a set of libraries, which we've recently open sourced.
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.
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, without slowing down the development cycle or risking disaster whenever a production server is upgraded.
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.
Chris is Chief Engineer for Iris Connect who provide web/video platform to help professionals to record, develop and share their practice.
The 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.
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 singleton types.
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.
The Haskell eXchange wraps up with a park bench discussion on various topics around the Haskell ecosystem.
If you want to be one of them this year, contact us on +44 207 183 9040 or take a look at the options in our sponsors pack!