What is a type system? Why are they useful? Knowing the basics of type systems will make you a more educated developer who is more aware of what exists outside the realms of your favorite language. In this post we will explore the fundamentals of types and type systems.
In particular, we will explore:
- What is a type?
- Why are types necessary?
- What is a type system?
- What is a static type system?
1. What is a Type?
In practice, a type can refer to one of two things:
- A specific shape of data, or
- A specific transformation of data.
Data Shapes & Concrete Types
When we work with data, we commonly ask ourselves: is it a string? a number? an array? All these questions are fundamentally