Pattern calculus provides a common foundation for the most popular programming styles, including functional, imperative, query-based and object-oriented styles, and also some new ones. This is being realised in the programming language bondi developed in Sydney. This talk will use bondi to introduce pattern calculus, and illustrate its expressive power. The running example will be to solve the following problem. Update the salaries of all employees of an organisation by applying a completely generic function to parameters for the company, the representation of employees and the formula for updating their salaries.