Meet the Projects
The first project you’ll build is called hcat, a command line pager in the spirit of tools like
The second project you’ll build is a tool to archive and extract files. This program is similar to the
The third project you’ll build is a spell checking utility. This program can be used standalone, or you can use it to extend the capabilities of hcat. As you work though project you’ll learn how to write Haskell code that is efficient and runs quickly by exploiting lazy evaluating to remember intermediate computations, using internal mutability to write pure functions with the efficiency of procedural code, how to work with efficient data structures, like vectors, and how to profile your programs.
The fourth and final project you’ll build is an embedded domain specific language for writing shell scripts. You’ll use type level programming to build a DSL that is safe and ergonomic for users while learning about features like type families, GADTs, and Haskell’s Kind system.