Typing plays an important role in software development. Types can be consid- ered as weak specifications of programs and checking that a program is of a certain type provides a verification that a program satisfies such a weak speci- fication. By translating a problem specification into a proposition in constructive logic, one can go one step further: the effectiveness and unifonnity of a con- structive proof allows us to extract a program from a proof of this proposition. Thus by the "proposition-as-types" paradigm one obtains types whose elements are considered as proofs. Each of these...
Typing plays an important role in software development. Types can be consid- ered as weak specifications of programs and checking that a program is of...