Building an Application with Functional Haskell

Course

Online

£ 150 VAT inc.

Description

  • Type

    Course

  • Methodology

    Online

  • Start date

    Different dates available

Explore your Haskell Ecosystem with real world applications.Haskell is a powerful and well-designed functional programming language designed to work with complex data. Its emphasis on "purity" makes it easier to create rock-solid applications which stay maintainable and error-free even as they grow in scale.This video is specifically aimed at anybody who knows the essentials of the Haskell programming language and who is interested in moving onto developing real programs that will make use of file I/O, command-line parsers and various third-party packages.We will start by describing the kind of application that the developer will write. We will then see how we will cover the kind of user interface to expect and the types of data processing and handling that the program will do. We will be seeing the different ways to store data in our filesystem and interact with it.By the end of the course, we will have developed a fully-featured command-line utility program that can later be expanded by the developer in many waysThe code bundle for this course is available at:- About the AuthorRichard Cook is a staff software engineer at Tableau Software and works on high-performance relational database systems.
He works primarily in C++, but has experience in a broad range of languages and technologies. He is a keen user of Haskell in his spare time and is frequently able to apply his functional programming and Haskell experience to his daily work. He is organizer of the Seattle Area Haskell Users’ Group and an active member of the Seattle functional programming community. He is currently developing a machine-learning framework for Haskell.
He has a deep interest in programming languages and type systems in general, having developed compilers and developer tooling in the past. He is also a keen user of Python and C# and works regularly on all major desktop operating systems and dabbles with web applications.

Facilities

Location

Start date

Online

Start date

Different dates availableEnrolment now open

About this course

Parse command-line options using the applicative style
Use strict and lazy file I/O
Handle the various common Haskell string types
Store structured data in readily parseable format such as YAML
Read/create/delete/update data items in your application
Important steps to take on your Haskell learning path while building your application

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

This centre's achievements

2021

All courses are up to date

The average rating is higher than 3.7

More than 50 reviews in the last 12 months

This centre has featured on Emagister for 4 years

Subjects

  • Options
  • Works
  • Systems
  • Programming
  • Building Insurance
  • Building Engineering
  • Application
  • Application Server
  • Information Systems
  • Information Systems management

Course programme

Simple but Useful 3 lectures 07:27 The Course Overview This video gives an overview of entire course. What Real Programs Do? We’ve learnt enough Haskell to write real programs, but what can Haskell programs do and what is the high-level structure of real programs?
  • Discuss the kinds of application we can build in Haskell
  • Enumerate the types of interfaces and interactions Haskell programs can employ
  • Establish what type of UI and operations our program will perform
Command-line To-do List The aim of this video is to specify the desired behaviour of our program, its operations, and interactions.
  • Describe the program’s user interface and the actions that can be performed
  • Discuss the CRUD-style actions of our application
  • Discuss the aspects of our program we’ll learn while building our program
Simple but Useful 3 lectures 07:27 The Course Overview This video gives an overview of entire course. What Real Programs Do? We’ve learnt enough Haskell to write real programs, but what can Haskell programs do and what is the high-level structure of real programs?
  • Discuss the kinds of application we can build in Haskell
  • Enumerate the types of interfaces and interactions Haskell programs can employ
  • Establish what type of UI and operations our program will perform
Command-line To-do List The aim of this video is to specify the desired behaviour of our program, its operations, and interactions.
  • Describe the program’s user interface and the actions that can be performed
  • Discuss the CRUD-style actions of our application
  • Discuss the aspects of our program we’ll learn while building our program
The Course Overview This video gives an overview of entire course. The Course Overview This video gives an overview of entire course. The Course Overview This video gives an overview of entire course. The Course Overview This video gives an overview of entire course. This video gives an overview of entire course. This video gives an overview of entire course. What Real Programs Do? We’ve learnt enough Haskell to write real programs, but what can Haskell programs do and what is the high-level structure of real programs?
  • Discuss the kinds of application we can build in Haskell
  • Enumerate the types of interfaces and interactions Haskell programs can employ
  • Establish what type of UI and operations our program will perform
What Real Programs Do? We’ve learnt enough Haskell to write real programs, but what can Haskell programs do and what is the high-level structure of real programs?
  • Discuss the kinds of application we can build in Haskell
  • Enumerate the types of interfaces and interactions Haskell programs can employ
  • Establish what type of UI and operations our program will perform
What Real Programs Do? We’ve learnt enough Haskell to write real programs, but what can Haskell programs do and what is the high-level structure of real programs?
  • Discuss the kinds of application we can build in Haskell
  • Enumerate the types of interfaces and interactions Haskell programs can employ
  • Establish what type of UI and operations our program will perform
What Real Programs Do? We’ve learnt enough Haskell to write real programs, but what can Haskell programs do and what is the high-level structure of real programs?
  • Discuss the kinds of application we can build in Haskell
  • Enumerate the types of interfaces and interactions Haskell programs can employ
  • Establish what type of UI and operations our program will perform
We’ve learnt enough Haskell to write real programs, but what can Haskell programs do and what is the high-level structure of real programs?
  • Discuss the kinds of application we can build in Haskell
  • Enumerate the types of interfaces and interactions Haskell programs can employ
  • Establish what type of UI and operations our program will perform
We’ve learnt enough Haskell to write real programs, but what can Haskell programs do and what is the high-level structure of real programs?
  • Discuss the kinds of application we can build in Haskell
  • Enumerate the types of interfaces and interactions Haskell programs can employ
  • Establish what type of UI and operations our program will perform
Command-line To-do List The aim of this video is to specify the desired behaviour of our program, its operations, and interactions.
  • Describe the program’s user interface and the actions that can be performed
  • Discuss the CRUD-style actions of our application
  • Discuss the aspects of our program we’ll learn while building our program
Command-line To-do List The aim of this video is to specify the desired behaviour of our program, its operations, and interactions.
  • Describe the program’s user interface and the actions that can be performed
  • Discuss the CRUD-style actions of our application
  • Discuss the aspects of our program we’ll learn while building our program
Command-line To-do List The aim of this video is to specify the desired behaviour of our program, its operations, and interactions.
  • Describe the program’s user interface and the actions that can be performed
  • Discuss the CRUD-style actions of our application
  • Discuss the aspects of our program we’ll learn while building our program
Command-line To-do List The aim of this video is to specify the desired behaviour of our program, its operations, and interactions.
  • Describe the program’s user interface and the actions that can be performed
  • Discuss the CRUD-style actions of our application
  • Discuss the aspects of our program we’ll learn while building our program
The aim of this video is to specify the desired behaviour of our program, its operations, and interactions.
  • Describe the program’s user interface and the actions that can be performed
  • Discuss the CRUD-style actions of our application
  • Discuss the aspects of our program we’ll learn while building our program
The aim of this video is to specify the desired behaviour of our program, its operations, and interactions.
  • Describe the program’s user interface and the actions that can be performed
  • Discuss the CRUD-style actions of our application
  • Discuss the aspects of our program we’ll learn while building our program
The Command Line 3 lectures 46:40 The Applicative Way Various packages exist for parsing command-line options. In this video, we’ll focus on one in particular optparse-applicative.
  • Discuss the main features and strengths of optparse-applicative
  • Look at some of the main types and functions
  • Look at how types and functions can be combined
ADTs for Command-line Options Optparse-applicative allows us to build up complex parsers using the functor, applicative, alternative type classes and product, and sum algebraic data types.
  • Learn enough about the type classes to build up parsers
  • Implement parser for a small part of our command-line interface
  • Test out the parser from the command line
Subparsers and Wrapping Up The aim of this video is to implement our whole parser and learn how to implement subcommands and finish off our parser.
  • Specify the fields in the to-do item
  • Implement stubs for all seven to-do commands
  • Test out the complete parser from the command line
The Command Line 3 lectures 46:40 The Applicative Way Various packages exist for parsing command-line options. In this video, we’ll focus on one in particular optparse-applicative.
  • Discuss the main features and strengths of optparse-applicative
  • Look at some of the main types and functions
  • Look at how types and functions can be combined
ADTs for Command-line Options Optparse-applicative allows us to build up complex parsers using the functor, applicative, alternative type classes and product, and sum algebraic data types.
  • Learn enough about the type classes to build up parsers
  • Implement parser for a small part of our command-line interface
  • Test out the parser from the command line
Subparsers and Wrapping Up The aim of this video is to implement our whole parser and learn how to implement subcommands and finish off our parser.
  • Specify the fields in the to-do item
  • Implement stubs for all seven to-do commands
  • Test out the complete parser from the command line
The Applicative Way Various packages exist for parsing command-line options. In this video, we’ll focus on one in particular optparse-applicative.
  • Discuss the main features and strengths of optparse-applicative
  • Look at some of the main types and functions
  • Look at how types and functions can be combined
The Applicative Way Various packages exist for parsing command-line options. In this video, we’ll focus on one in particular optparse-applicative.
  • Discuss the main features and strengths of optparse-applicative
  • Look at some of the main types and functions
  • Look at how types and functions can be combined
The Applicative Way Various packages exist for parsing command-line options. In this video, we’ll focus on one in particular optparse-applicative.
  • Discuss the main features and strengths of optparse-applicative
  • Look at some of the main types and functions
  • Look at how types and functions can be combined
The Applicative Way Various packages exist for parsing command-line options. In this video, we’ll focus on one in particular optparse-applicative.
  • Discuss the main features and strengths of optparse-applicative
  • Look at some of the main types and functions
  • Look at how types and functions can be combined
Various packages exist for parsing command-line options. In this video, we’ll focus on one in particular optparse-applicative.
  • Discuss the main features and strengths of optparse-applicative
  • Look at some of the main types and functions
  • Look at how types and functions can be combined
Various packages exist for parsing command-line options. In this video, we’ll focus on one in particular optparse-applicative.
  • Discuss the main features and strengths of optparse-applicative
  • Look at some of the main types and functions
  • Look at how types and functions can be combined
ADTs for Command-line Options Optparse-applicative allows us to build up complex parsers using the functor, applicative, alternative type classes and product, and sum algebraic data types.
  • Learn enough about the type classes to build up parsers
  • Implement parser for a small part of our command-line interface
  • Test out the parser from the command line
ADTs for Command-line Options Optparse-applicative allows us to build up complex parsers using the functor, applicative, alternative type classes and product, and sum algebraic data types.
  • Learn enough about the type classes to build up parsers
  • Implement parser for a small part of our command-line interface
  • Test out the parser from the command line
ADTs for Command-line Options Optparse-applicative allows us to build up complex parsers using the functor, applicative, alternative type classes and product, and sum algebraic data types.
  • Learn enough about the type classes to build up parsers
  • Implement parser for a small part of our command-line interface
  • Test out the parser from the command line
ADTs for Command-line Options Optparse-applicative allows us to build up complex parsers using the functor, applicative, alternative type classes and product, and sum algebraic data types.
  • Learn enough about the type classes to build up parsers
  • Implement parser for a small part of our command-line interface
  • Test out the parser from the command line
Optparse-applicative allows us to build up complex parsers using the functor, applicative, alternative type classes and product, and sum algebraic data types.
  • Learn enough about the type classes to build up parsers
  • Implement parser for a small part of our command-line interface
  • Test out the parser from the command line
Optparse-applicative allows us to build up complex parsers using the functor, applicative, alternative type classes and product, and sum algebraic data types.
  • Learn enough about the type classes to build up parsers
  • Implement parser for a small part of our command-line interface
  • Test out the parser from the command line
Subparsers and Wrapping Up The aim of this video is to implement our whole parser and learn how to implement subcommands and finish off our parser.
  • Specify the fields in the to-do item
  • Implement stubs for all seven to-do commands
  • Test out the complete parser from the command line
Subparsers and Wrapping Up The aim of this video is to implement our whole parser and learn how to implement subcommands and finish off our parser.
  • Specify the fields in the to-do item
  • Implement stubs for all seven to-do commands
  • Test out the complete parser from the command line
Subparsers and Wrapping Up The aim of this video is to implement our whole parser and learn how to implement subcommands and finish off our parser.
  • Specify the fields in the to-do item
  • Implement stubs for all seven to-do commands
  • Test out the complete parser from the command line
Subparsers and Wrapping Up The aim of this video is to implement our whole parser and learn how to implement subcommands and finish off our parser.
  • Specify the fields in the to-do item
  • Implement stubs for all seven to-do commands
  • Test out the complete parser from the command line
The aim of this video is to implement our whole parser and learn how to implement subcommands and finish off our parser.
  • Specify the fields in the to-do item
  • Implement stubs for all seven to-do commands
  • Test out the complete parser from the command line
The aim of this video is to implement our whole parser and learn how to implement subcommands and finish off our parser.
  • Specify the fields in the to-do item
  • Implement stubs for all seven to-do commands
  • Test out the complete parser from the command line
Storing Data on the File System will implement the Update command to modify the data for a single item in the data stored on the file system.
  • Use readToDoList to read the data
  • Safely update an item in the to-do list by index
  • Write the data back to the file using...

Additional information

Some comfort with introductory Haskell programming is expected

Building an Application with Functional Haskell

£ 150 VAT inc.