Everyday Extensions
- Description
- Curriculum
- FAQ
- Reviews
Haskell Language Extensions
Language extensions can be confusing. They change how the compiler works, add functionality, and change the syntax of the official Haskell specification, creating a bunch of possible ways to write Haskell. But changing the language is not as terrifying in practice. Most GHC extensions behave like switches: a feature could be either on or off.
The list of Haskell extensions is quite extensive and not easy to navigate:
- Which extensions are common and safe to use?
- Which extensions are considered harmful for production use?
- Which extensions are required for the current module to compile and which ones were just copied from some other module?
Haskell Language Extensions. There are extensions that some developers are addicted to and carry to all their projects. There are popular libraries that heavily rely on extensions and impose them upon their users.
This course is for people who want to understand extensions commonly seen in the wild. We will cover some commonly used extensions and look at a couple of Haskell libraries that can’t be used without extensions to get a practical understanding. By the end of the course, you won’t be blindly copying extensions from one module to another but will carry them along with awareness.
This course requires a basic understanding of Haskell syntax. You don’t need experience working with any of the libraries mentioned in the course.