The Format and Protocol Language (FAPL) is used in the formal definition of Systems Network Architecture (SNA). FAPL is a high-level programming language in which the SNA meta-implementation is written. This meta-implementation is a generalised example (or reference) implementation of an SNA node, and serves as a formal definition of SNA. This paper describes FAPL, concentrating on details of the language rather than how the language has been implemented and used. The main elements of the language are described, and examples of their use are given. Particular emphasis is given to those features of FAPL (such as mappable/nonmappable data, finite-state machines, list processing and concurrency) that distinguish it from other languages and make it suitable for use in producing a high-quality SNA meta-implementation. Comparisons are made between FAPL and other programming languages. The background to the creation and evolution of FAPL is described. Prospects for the future of FAPL are discussed. © 1987.