<b><p>DESCRIPTION</p></b><p>Types are often seen as a tool for checking errors, with the</p><p>programmer writing a complete program first and using the type</p><p>checker to detect errors. And while tests are used to show presence of</p><p>errors, they can only find errors that you explicitly test for. In typedriven</p><p>development, types become your tools for constructing</p><p>programs and, used appropriately, can show the absence of errors. And</p><p>you can express precise relationships between data, your assumptions</p><p>are explicit and checkable, and you can precisely state and verify</p><p>properties. Type-driven development lets users write extensible code,</p><p>create simple specifications very early in development, and easily</p><p>create mock implementation for testing.</p><p> </p><i><p></p>Type-Driven Development with Idris</i>, written by the creator of Idris, <p></p><p>teaches programmers how to improve the performance and accuracy of</p><p>programs by taking a