- 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
- Python科學計算(第2版)
- PostgreSQL技術內幕:事務處理深度探索
- Python Geospatial Development(Second Edition)
- Oracle Database 12c Security Cookbook
- The Data Visualization Workshop
- Web程序設計(第二版)
- HTML5+CSS3網站設計基礎教程
- Mastering Android Development with Kotlin
- Mobile Device Exploitation Cookbook
- OpenCV with Python By Example
- Modern C++ Programming Cookbook
- Android應用開發深入學習實錄
- Java Web從入門到精通(第2版)
- 從零開始學Android開發
- Java EE 8 and Angular