Combining functions
You can write larger Haskell programs by composing simple functions into more complex ones.
Calling functions from within functions
Functions are composed simply by defining a more complex function in terms of simpler functions. This means that the definition of the complex function calls other functions.
For example, let us write a function to compute the price of a purchase given the price of the purchased item and the quantity at which it is purchased:
price :: Float -> Int -> Float price ip qty = ip * fromIntegral qty
This is already an example of the principle that a more complex function, price
, calls simpler functions. In this case, the simpler functions are two predefined functions: the (*)
operator and the fromIntegral
function. Recall that the fromIntegral
conversion is needed to convert the Int
quantity to a Float
type before it can be multiplied by the item price.
When our business logic evolves, we can introduce a discounted price...