Introduction to Functional Programming using Haskell
We will be spending the day learning the fundamentals of Functional Programming (FP) using the Haskell programming language. The exercise material will be a condensed selection of the NICTA/course which is regularly held in Australia over three days.
This one day session is targeted to experienced industry programmers who are looking to break into Functional Programming and develop the rudimentary skills and techniques that enable continued independent study. A refresher on Haskell syntax will be provided, however, it is highly recommended to practice with the syntax and development tools prior to obtain the best outcome for the day.
You will be required to bring a suitable development machine (portable) for working through the exercises. You will also need to install Glasgow Haskell Compiler (http://www.haskell.org/ghc/) version 7.8 or higher on that machine prior to the day.
Outline/Structure of the Workshop
instance Functor List
instance Functor Optional
instance Functor ((->) t)
instance Functor void
instance Applicative List
instance Applicative Optional
instance Applicative ((->) t)
Participants should expect to achieve a thorough introductory understanding of the meaning and practical applications of FP.
Experienced industry programmers with interest in FP
Prerequisites for Attendees
It is highly recommended to practice with the syntax and development tools prior to obtain the best outcome for the day.
For this purpose attendees can read and follow the Getting Started section of the online course.
schedule Submitted 2 weeks ago
People who liked this proposal, also liked:
Aaron W Hsu - Programming Obesity: A Code Health EpidemicAaron W HsuComputer ScientistIndiana University
schedule 3 weeks agoSold Out!
Programs are getting fat. They're becoming slow. They're taking up more computing resources. They're getting harder to maintain and more complex from the ground up. Layer upon layer of sophistication is causing us to lose our ability to predict what software will do. Where's that bug? Why is everything going so slowly? Am I even using the right data structures? Where's that important point in the documentation again?
What's happened to us? In this meta-dive into the nature of our approach to programming, we will explore some of the dangers of our current approaches to programming and the how/why of our current programming obesity problem. We will look at real case studies and see just how bad the situation can be.
But we will also explore how we can battle these sources of obesity. In this passionate plea for code that we can gain control over again, we will look at examples of how we can return to a state of high-performance on all levels, from code size to code scalability. We will look at the principles that can help us to reach leaner, more efficient, more usable, less buggy code. We will hopefully find some light at the end of the tunnel, and how we can change our outlook on programming to push ourselves towards code that benefits not only ourselves, but also those that will come after us.
Michael Snoyman - Applied Haskell WorkshopMichael SnoymanVP, EngineeringFP Complete
schedule 2 weeks agoSold Out!
This full day workshop will focus on applying Haskell to normal, everyday programming. We'll be focusing on getting comfortable with common tasks, libraries, and paradigms, including:
- Understanding strictness, laziness, and evaluation
- Data structures
- Structuring applications
- Concurrency and mutability
- Library recommendations
By the end of the workshop, you should feel confident in working on production Haskell codebases. While we obviously cannot cover all topics in Haskell in one day, the goal is to empower attendees with sufficient knowledge to continue developing their Haskell skillset through writing real applications.
Tony Morris / Edward Kmett - Let's LensTony MorrisSr. Software EngineerQueensland FP Lab, Data61Edward KmettChair of the Haskell Core Libraries Committee, Research EngineerMachine Intelligence Research Institute
schedule 2 weeks agoSold Out!
Let's Lens presents a series of exercises, in a similar format to the Data61 functional programming course material. The subject of the exercises is around the concept of lenses, initially proposed by Foster et al., to solve the view-update problem of relational databases.
The theories around lenses have been advanced significantly in recent years, resulting in a library, implemented in Haskell, called lens.
This workshop will take you through the basic definition of the lens data structure and its related structures such as traversals and prisms. Following this we implement some of the low-level lens library, then go on to discuss and solve a practical problem that uses all of these structures.