ETAPS 2000 was the third instance of the European Joint Conferences on Theory and Practice of Software. ETAPS is an annual federated conference that was established in 1998 by combining a number of existing and new conferences. This year it comprised ve conferences (FOSSACS, FASE, ESOP, CC, TACAS), ve satellite workshops (CBS, CMCS, CoFI, GRATRA, INT), seven invited lectures, a panel discussion, and ten tutorials. The events that comprise ETAPS address various aspects of the system de- lopment process, including speci cation, design, implementation, analysis, and improvement. The languages, methodologies, and tools which support these - tivities are all well within its scope. Di erent blends of theory and practice are represented, with an inclination towards theory with a practical motivation on one hand and soundly-based practice on the other. Many of the issues involved in software design apply to systems in general, including hardware systems, and the emphasis on software is not intended to be exclusive.
As a consequence of the wide distribution of software and software infrastructure, information security and safety depend on the quality and excellent understanding of its functioning. Only if this functionality is guaranteed as safe, customer and information are protected against adversarial attacks and malfunction. A vast proportion of information exchange is dominated by computer systems. Due to the fact that technical systems are more or less interfaced with software systems, most information exchange is closely related to software and computer systems.
Generic programming attempts to make programming more efficient by making it more general. This book is devoted to a novel form of genericity in programs, based on parameterizing programs by the structure of the data they manipulate. The book presents the following four revised and extended chapters first given as lectures at the Generic Programming Summer School held at the University of Oxford, UK in August 2002: - Generic Haskell: Practice and Theory - Generic Haskell: Applications - Generic Properties of Datatypes - Basic Category Theory for Models of Syntax