ABSTRACT

In Chapter 1 we talked about how model making is based on constructing new types for a problem. Programming then involves using the given types in a programming language to represent those new types. We have seen that SML provides base types for integers, reals, booleans and strings and we have used these directly to represent property values. However, sometimes the types we want for a problem can be represented by a subset of one of the base types but we still have to deal with all possible values for that base type. We have used catch all variables to pick up the base type values we are not really interested in but this can distort our functions.