Abdoulaye Rathavim
In this course we will make a little more complex by showing how to use a special type of DSL for generating types in Haskell. You’ll be able to use a DSL inside the type, as well as an abstract type such as a data type, so you can create your own custom datatypes which could be used by programs.
If you want to explore the abstract data type in more depth, we recommend reading a little bit more about it.
The course covers all of the essential areas of Haskell development, plus some additional options if you do not find the course to be up to your standards. It is aimed at experienced Haskell programmers who are eager to learn and experiment with the language.
This course is a great introduction to functional programming in Haskell.
Download free videos (MP4)
Course Resources:
Course Format: PDF Course Structure: Course Tutorials: Free Video Tutorials: Video (mp4)
Course Description: The purpose of this course is to introduce the use of Haskell for building and performing computations. In addition to the traditional functions from C++, the goal is to use Haskell for new areas of computation, such as distributed systems, and data structures.
Course Text:
What is functional programming? Functional programming is a subset of computer science that has a deep roots in philosophy, mathematics, and computer science. It is intended to enable a formal system to explain computation in a highly systematic and principled way. (It is equivalent to modern programming languages.)
As a programming language, Haskell supports type systems in order to make reasoning about programming languages easier, as well as making it possible to make decisions about the types a program will produce. Thus, Haskell is sometimes called the modern ML family of programming languages, a family of languages that have all the features of the modern language, as well as the programming facilities and philosophy that are unique to it.
However, while modern ML programs are highly organized and well structured, Haskell programs are the reverse. They are highly unorganized and the structure is almost random. This makes it useful for a number of purposes, including research. In other research domains, it is more commonly understood that programming is about structure as much as it is about the syntax, including the fact that the syntax represents how a program should be understood.
As we explore the Haskell language we will see that even the formal mechanisms for