Haskell's Data Types!
One of the first major selling points for me and Haskell was the simplicity of data declarations. Even as a novice programmer, I was tired of the odd syntax require just to associate some data together. Haskell was clean and fresh. As I dug deeper, I found that even beyond this, Haskell's approach to data allows some really cool techniques that aren't really present in other languages. In this series, we'll start by learning about Haskell's data syntax, and then we'll explore some of these techniques. Along the way, we'll compare Haskell against some other languages.
Part 1: Haskell's Simple Data Types
To get started with this series, check out the first part! We'll go over the basic syntax for create data types in Haskell and compare that against a couple other languages!
Part 2: Sum Types
Once you're done with part 1, move onto part 2. There, you'll learn about how we can make sum types in Haskell. Again, we'll compare to other languages. And again, we'll see that Haskell has a definite leg up!
Part 3: Parametric Types
In part 3, you'll learn how to make our Haskell types parametric with simple type parameters. Other languages do this concept pretty well too, but Haskell is still just a little cleaner!
Part 4: Typeclasses and Inheritance
Now that we've seen some of the differences in syntax, it's time to look at some more abstract differences. In part 4, we'll compare some of the fundamental ideas between the object oriented ideas of inheritance in other languages veruss Haskell's typeclass system.
Part 5: Type Families
Haskell's type system offers us a number of awesome features that are incredibly difficult to achieve in other languages. In the fifth and final part of this series, you'll learn about the notion of type families! This method of associating types with each other really sets Haskell apart!
Beginner's Checklist
Even after you get familiar with Haskell's data types, your journey is still just beginning! Download our Beginner's Checklist to review all the material in this series and get some more helpful tools and resources!