Book Description
It is many years since Landin, Burge and others showed us how to apply higher order techniques and thus laid some foundations for modern functional programming. The advantage of higher order descriptions - that they can be very succinct and clear - has been percolating through ever since. Current research topics range from the design, implementation and use of higher order proof assistants and theorem provers, through program specification and verification, and programming language design, to its applications in hardware description and verification. The papers in this book represent the presentations made at a workshop held at Banff, Canada, September 10-14 1990 and organised by the Computer Science Department of the University of Calgary. The workshop gathered together researchers interested in applying higher order techniques to a range of problems. The workshop format had a few (but fairly long) presentations per day. This left ample time for healthy discussion and argument, many of which continued on into the small hours. With so much to choose from, the program had to be selective. This year's workshop was divided into five parts: 1. Expressing and reasoning about concurrency: Warren Burton and Ken Jackson, John Hughes, and Faron Moller. 2. Reasoning about synchronous circuits: Geraint Jones and Mary Sheeran (with a bonus on the fast Fourier transform from Geraint). 3. Reasoning about asynchronous circuits: Albert Camilleri, Jo Ebergen, and Martin Rem. 4. Categorical concepts for programming languages: Robin Cockett, Barry Jay, and Andy Pitts.