The paper describes the use of APL (a programming language) for the specification of a hardware architecture, the description of an initial implementation algorithm, its verification and controlled transformation to a logic design. Because of its power of expression, APL can be used effectively in each of these design domains. The APL interpreter turns any description into an executable prototype. Such a prototype is a powerful tool in the management and execution of a design; it clarifies design choices and assures the logical correctness of the product. This computer-aided-design process, which is illustrated by the design of the front end of a logic analyser, is useful for a variety of design situations, such as LSI/VLSI and computer des...