- Learn Type:Driven Development
- Yawar Amin Kamon Ayeva
- 244字
- 2021-07-02 14:41:23
Starting Type-Driven Development
In this book, we are exploring the techniques and idioms available in type-driven development. Some people also refer to type-driven development as type-level programming. Static types offer several benefits, including:
- Preventing incorrect code from getting a chance to run
- Documenting the current codebase
- Helping to correctly refactor the codebase by pointing out any parts of code you may have missed
- Offering richer IDE support, for example, auto-completion
- Better performance when the compiler knows types and can optimize code accordingly
Type-driven development is the practice of using static types to restrict what your code can do. Normally, your programming language gives you enough power to represent any computation. With type-driven development, you are essentially trying to make it impossible for your code to do undesirable things.
In this chapter, we will do some basic critical analysis of a piece of code and look at the possible errors it may contain. We'll also introduce ReasonML, the language we will use to learn type-driven development and compare it with JavaScript. We'll get started with a basic Reason project and then introduce Reason, as well as its related communities and ecosystems.
In this chapter, we will cover the following topics:
- The main idea and benefits of type-driven development
- Dynamically typed code versus its statically typed ReasonML equivalent
- The Reason language, ecosystem, and related projects
- How to set up a basic Reason project, which we will use throughout this book
- The Try Reason online playground