
John Hughes
Co-Designer Of Haskell And QuickCheck
John Hughes has been a functional programming enthusiast for more than thirty years, at the Universities of Oxford, Glasgow, and since 1992 Chalmers University in Gothenburg, Sweden. He served on the Haskell design committee, co-chairing the committee for Haskell 98, and is the author of more than 100 papers, including "Why Functional Programming Matters", one of the classics of the area. With Koen Claessen, he created QuickCheck, the most popular testing tool among Haskell programmers, and in 2006 he founded Quviq to commercialise the technology using Erlang. In 2018 he became an ACM Fellow.
Upcoming Activities
Code BEAM V America
Property Based Testing with John Hughes and Fred Hebert
Q&A session with John Hughes hosted by Fred Hebert
Past Activities
Code Mesh V
08.00 - 11.30
Haskell from Zero to Hero
Haskell is your gateway to functional programming. Learning it will make you a better programmer regardless of what language you use, and using it will guarantee you ship much less code. From one of the co-creators of Haskell, this tutorial will act as a soft introduction to the language, flattening out the learning curve and speeding up the process.
EXPERTISE
Intermediate
COURSE DURATION
3 hours 30 minutes
TARGET AUDIENCE
Software developers
PREREQUISITES
- Good programming skills in at least another programming language
- Familiarity with imperative or OO paradigms
OBJECTIVES
- Reduce the barrier to entry to Haskell through the basics
- Appreciate the abstractions of Functional Programming
- Get a solid understanding of the type system and other language construcs
COVERS THE FOLLOWING TOPICS
- Functions, Lists and Lists Comprehensions
- Types and Typeclasses
- Pattern Matching and its uses
- Recursion, Higher Order Functions and Lazy Evaluations
- I/O & Modules
Haskell is not a hard language to learn. What is hard is unlearning the bad habits you have picked up. This tutorial aims at giving you a birds-eye view of the foundations, explaining the rationale behind the design decisions. In doing so, it will make it easier for you to use the concepts and ideas in your daily work, even if it is not with a functional language.
Code Mesh LDN
10.35 - 11.20
How to specify it! A guide to writing properties of pure functions
Property-based testing is an appealing approach to testing, but requires developers to identify suitable properties to test--and many find this difficult, and find the simple properties in tutorials difficult to generalize.
In this talk, John will present five different strategies for coming up with properties of pure functions, and he'll compare their effectiveness as tests; he'll also warn of the biggest pitfall to be avoided.
You'll leave this talk with new ideas for writing properties of your own functions. John will be using the Haskell version of QuickCheck for his examples, but the ideas are usable with any property-based testing tool.
Code Mesh V
18.10 - 18.40
Ask Me anything about Haskell
Code BEAM Lite Budapest
17.10 - 17.50
Research + Industry = Inspiration
Erlang has been inspiring research and industry from its first days – and is itself a result of successful application of research and industrial practices. In this talk we will explore what makes Erlang an exciting topic for collaboration between industry and academia, Erlang’s attractiveness to researchers and talk about transformation of research ideas into companies. We’ll also discuss ways of getting involved in research.