<

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.

Past Activities

John Hughes
Code Mesh V
Tutorial/ 04 Nov 2020
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. 

John Hughes
Code Mesh LDN
08 Nov 2019
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.

John Hughes
Code Mesh V
06 Nov 2020
18.10 - 18.40

Ask Me anything about Haskell

John Hughes / Melinda Tóth / Natalia Chechina
Code BEAM Lite Budapest
20 Sep 2019
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.