In the previous chapters we developed algorithms for the basic arithmetic operations and transcendental functions. In this chapter we now discuss the design and implementation of a calculator which uses them. We describe the design structure and the user interface, the choice of the implementation language Haskell, and give a brief coverage of some general issues that arise during implementation. We also show how we convert the algorithms described in chapters 4 and 5 into Haskell using the signed binary stream average and division by an integer algorithms as examples.