Introduction

As C. H. Lindsey puts it in his legendary Informal Introduction to Algol 68, a language in which fundamental concepts combine in an orthogonal way requires very precise terminology. Algol 68 is the orthogonal programming language for antonomasia, and it for sure introduces a rich set of very precise terminology.

Furthermore, when the language got introduced the IFIP WG-2.1 took great care of using new terms for concepts that had their rough similar equivalences in other programming languages, instead of using the most common terms. Such is the case of assignation, which is similar but not exactly the same than the assignment of other programming languages. Many of the new terms are neologisms created for the occasion, also for good reasons as discussed below.

This all means that the Algol 68 programmers, implementors and aficionados need to get familiar with a very precise and somewhat extensive terminology. That may be quite confusing to the uninitiated.

As with most things related to Algol 68, mastering the terminology requires a little bit of effort and time, but believe me, it pays back in spades. Watching two Algol 68 programmers discussing about their programs is like watching two well greased machines: the terms they use are precise, and they can use terms referring to domain-specific concepts that would require the usage of a (probably not very well constructed on the fly) metaphor or analogy in other programming languages, and very little if anything is lost in translation. The communication is fast, rich and precise. It is also fun.

This jargon file is an attempt to gather and summarize this terminology for the benefit of anyone introducing herself in the enthralling world of algorithmic languages.

How to use this file

Each entry in the file describes the meaning of one particular term, including a more or less extensive description of the entity or concept described by the term. This usually involves programming examples, but note that the purpose of this file is not to be an Algol 68 manual. Usage examples of the term are shown in the form of hypothetical lines of dialogues. When applicable, the syntax of the concept associated with the term will be also explained as simplified syntactic rules from the Report. Finally, references to other entries or to the bibliography are included in the entries.

So how to look for a term in this file?

If you are reading this document in an info reader, then you can press m and introduce the term you are looking for. Your info reader shall be nice enough to provide auto-complete. References can then be followed the same way.

If you are reading this document as a man-page, then you will find references to all the entries of the jargon file in the SEE ALSO section below.

If you are reading this document as a PDF, then you can use either the table of contents or the concepts index you can found in the appendices. Depending on how nice your PDF reader is, and assuming you are not reading a printed document, you can probably follow the references by clicking on them.

If you are reading this document as an HTML in some website, then you can follow the hyperlinks in table of contents and indexes.

Bibliography