Algol 68 implementations and dialects
Conferences, theses, and reports on implementing Algol 68
- Barry James Mailloux. On the Implementation of Algol 68. Ph.D. thesis, University of Amsterdam, June 1968, 34 pages. Online at cwi.nl
- C. H. A. Koster. Syntax-directed parsing of ALGOL 68 programs. MR 115, Mathematisch Centrum, 1970. Online at cwi.nl
"Approximate text of a talk at the informal implementers conference in Vancouver, August 1969."
- J. E. L. Peck, editor. Proceedings of an Informal Conference on the Implementation of ALGOL 68. University of British Columbia, 1969.
- J. E. L. Peck, editor. ALGOL 68 Implementation: Proceedings of the IFIP Working Conference on ALGOL 68 Implementation, Munich, Germany, July 20-24, 1970. North Holland, 1971. Copyright IFIP, 1971. Posted here by permission of IFIP. PDF
- Bibliography. The DBLP Computer Science Bibliography. Online at dblp.org
- ?, editor. La journee ALGOL68. One-day conference on ALGOL68, held on April 26th 1973. Institut de Programmation, Universite de Paris. [Cited by AB36 page 4]
- ?, host. Informal Conference on ALGOL 68 held at U.C.L.A. on September 8th and 9th 1973. [Cited by Hendrik Boom, AB36 page 17]
- Peter R. King, editor. Proceedings of an International Conference on ALGOL 68 Implementation. Department of Computer Science, University of Manitoba, Winnipeg, Canada, June 18-20, 1974. [Via Google Books]
- A. Maybrey. Proceedings of Liverpool Conference on Uses of Algol 68. March 1975. [Cited by S. G. van der Meulen in [van Vliet and Wupper 1981]
- G. E. Hedrick, editor. 1975 International Conference on ALGOL 68. Stillwater, Oklahoma, USA, June 10-12, 1975.
- V. J. Rayward-Smith. Proceedings of the Conference on Applications of ALGOL 68 held at the University of East Anglia, Norwich, England from Monday 22nd March, 1976 until Thursday 25th March 1976. [Via Google Books]
- ?, editor. Proceedings of the 1976 International Conference on ALGOL 68. New York. Courant Institute of Math Science. 1977.
- ?, editor. Proceedings of the 5th Annual Implementors Conference, Guidel, France. Paris: INRIA, 1977.
- R. B. Hunter, R. Kingslake, and A. D. McGettrick, organizers. Proceedings of the Strathclyde ALGOL 68 Conference, Glasgow, Scotland, March 29-31, 1977. ACM, 1977. ACM Digital Library
"This conference was the third of what is turning out to be a series of annual conferences on ALGOL 68 held in British Universities."
- J. C. van Vliet and H. Wupper, editors. Proceedings International Conference on ALGOL 68: Rechenzentrum der Ruhr-Universität Bochum, BRD. March 30-31, 1981. Online at cwi.nl
- C. H. Lindsey. Survey of Viable ALGOL 68 Implementations. ALGOL Bulletin.
- Number 47 (August 1981), pages 15-18. CHM ACM Digital Library
- Number 51 (December 1984), pages 5-8. CHM ACM Digital Library
- Number 52 (August/December 1988), pages 5-8. CHM ACM Digital Library
- Gerard Alberts, editor. Conference on the history of ALGOL 68. Historical Note AM-HN9301, Department of Analysis, Algebra, and Geometry, Centrum voor Wiskunde en Informatica, January 1993. Conference on 25 years of ALGOL 68 held on the occasion of the 47th anniversary of CWI, Amsterdam, February 11, 1993. Online at cwi.nl
- Gerard Alberts. Introduction to the Conference.
- Friederich L. Bauer. History of Programming Languages, a Survey.
- Charles Lindsey. The History of ALGOL 68 (Extended Abstract).
- Kees Koster. The Making of Algol 68.
- Sietse van der Meulen. An Orthogonal First Programming Language.
- Mikhail A. Bulyonkov, Alexandr F. Rar, Andrei N. Terekhov. Algol 68—25 Years in the USSR.
- Lambert Meertens. The Design of Elegant Languages.
- John Peck. Aad van Wijngaarden and the Mathematisch Centrum, A Personal Recollection.
Algol68C (University of Cambridge)
"The ALGOL68C compiler was developed in Cambridge by a team led, until January 1975, by S. R. Bourne. Since then it has been maintained and further developed by C. J. Cheney for the University of Cambridge Computing Service. Throughout the development of the compiler much advice and much work has been given by M. J. T. Guy, I. Walker, and myself. Much of the work has been funded by the Science Research Council, and the maintenance is now supported by the Computer Board. Help has been given by our various users and by I. Wand of York University. Much of our terminology, and some of the ideas, are based on those of P. Branquart." [Birrell SIGPLAN Notices 1977]
- S. R. Bourne, A. D. Birrell, and I. Walker. Algol68C Reference Manual, Cambridge University Computer Laboratory, 1975.
- A. D. Birrell. Algol68C Implementors' Guide. Cambridge University Computer Laboratory, 1975.
- P. Kemp. Writing the Elementary Function Procedures for the Algol68C Compiler. NSF/ERDA Workshop on Portability of Numerical Software, June 1976.
- E. F. Elsworth. Intermediate Languages in Compilation. Ph.D. thesis, University of Cambridge, 1976.
- A. D. Birrell. Storage Management for Algol68. Proceedings of the Strathclyde ALGOL 68 conference. In: SIGPLAN Notices, Volume 12, Number 6, June 1977, pages 82-94. ACM Digital Library PDF at birrell.org
- Andrew D. Birrell. System Programming in a High Level Language. Ph.D. thesis, University of Cambridge, December 1977. Appendix X is: Andrew B. Birrell. Algol68C on CAP. 32 pages. PDF at birrell.org
- S. R. Bourne. ZCODE, a Simple Machine. Cambridge University Computer Laboratory, tenth edition, 1977.
- P. J. Gardner. A transportation of ALGOL68C. In Proceedings of the Strathclyde ALGOL 68 Conference (Glasgow, Scotland, March 29 - 31, 1977). Association for Computing Machinery, pages 95-101. ACM Digital Library
- C. H. Lindsey, editor. ALGOL 68 Implementations - ALGOL 68C - Release 1. ALGOL Bulletin, Number 45 (January 1980), pages 17-22. CHM ACM Digital Library
Describes versions for IBM 370, DECsystem-10/-20, and Telefunken TR440/TR445.
- Raymond Anderson. ALGOL68C on the Z80. Liverpool Software Gazette, March 1980, pages 52-57. PDF at 80bus.co.uk via the Internet Archive
- K. Hackenberg. ALGOL68 auf der CYBER 205. Bochumer Schriften zur Parallelen Datenverarbeitung 7, Rechenzentrum der Ruhr-Universität Bochum, 1985.
- Klaus Hackenberg. Implementation of ALGOL 68 on the CYBER 205. ALGOL Bulletin, Number 52, (August 1988), page 9. CHM ACM Digital Library
"Therefore ALGOL68 was implemented on the CYBER 205 in Bochum, a language which is more suitable for new machine architectures. On one hand it contains vector operations (like the assignation of rows) and on the other it allows the definition of new operators within the existing language. Together with the adaption of the ALGOL68C compiler (from the University of Cambridge) a prelude with vector operations has been designed which allows an efficient use of the special CYBER 205 hardware."
- ALGOL68C distribution tape 20.11, April 25, 1976.
- Jay Moseley. Instructions for installing ALGOL 68C on MVS under the Hercules simulator; includes copy of the distribution tape from H390-MVS. Online at jaymoseley.com
- Chris Cheney. Algol68C Release 1.3039 for IBM 360/370/etc mainframes (or their emulations) running MVT or MVS. March 2013. Online at algol68c.bitbucket.org
- J. Marcel van der Veer. Running Algol68C on MVS . Detailed instructions for installing 1.3039beta on MVS. Online at jmvdveer.home.xs4all.nl
- J. Marcel van der Veer. Algol68C on MVS revisited. Online at jmvdveer.home.xs4all.nl
- See also http://en.wikipedia.org/wiki/ALGOL_68C
Algol 68 Genie (a68g)
"Algol 68 Genie (a68g) is a well-featured Algol 68 interpreter. It can be used for executing Algol 68 programs or scripts. Algol 68 is a rather lean orthogonal general-purpose language that is a beautiful means for denoting algorithms." [van der Veer]
- Marcel van der Veer. Algol 68 Genie: An Algol 68 interpreter. Open source (GNU General Public License) source code and prebuilt binaries for WIN32. Online at jmvdveer.home.xs4all.nl
- Marcel van der Veer, editor. Learning Algol 68 Genie. Includes a retypeset version of the Revised Report on the Algorithmic Language ALGOL 68. March 2016. PDF at jmvdveer.home.xs4all.nl
Algol 68H (University of Alberta; Mathematisch Centrum)
"About 40 years ago I had been writing an Algol 68 compiler. I started it at the University of Alberta. It wasn't finished after I spent about two and a half years on it, and I decided that was enough. I has essentially a complete, functioning front end, and a fairly incomplete draft of a code generator. The whole thing was written in Algol W.
When I moved to the Mathematical Centre in Amsterdam it didn't take long for one of its directors to get wind of the incomplete compiler. He had access to an IBM 370, which was compatible with the machine I had first implemented on, so he prevailed on me to resume work on it. I agreed. I now look at that as a mistake. The facilities available weren't as good as they had been in Alberta (TSO instead of MTS, which meant slow turnaround whether I took the train to Delft every day of stayed in Amsterdam and used a 300 bps phone line.) Over the next few years I got the compiler to the point that it correctly handled about half the test set, but it really wasn't ready for serious use.
Then funding ran out, I left the Netherlands, and after that I had essentially no opportunity to continue work on it. Perhaps I could have reimplemented Algol W and then rewrote the code generator for another machine, but in new jobs I had other responsibilities." [Boom 2010]
- H. J. Boom.The organization of the object code generator in Algol 68 H. IW 33/75, Mathematisch Centrum, 1975. Online at cwi.nl
"The general approach to object code generation in the Algol 68 H compiler is presented. Algol 68 H is to be a compiler for all of Algol 68, written by one man in two or three years. The various intermediate languages used internally are explained, showing a gradual descent from a parse tree to a relocatable object module. ...
Although the author is now at the Mathematisch Centrum, the work reported here was done at the University of Alberta, Edmonton, Canada."
- H. J. Boom and D. Grune. Textual management in an Algol 68 compiler. IW 51/75, Mathematisch Centrum, 1975. Online at cwi.nl
- H. J. Boom. Code Generation in Algol 68H: An Overview. IW 103/78, Mathematisch Centrum, 1978. Online at cwi.nl
"Algol 68H uses the Janus intermediate language to generate object code for the IBM 370.
The general strategy used in the code generation process, and the mutual impact of Algol 68H and Janus on each other are described."
- Hendrik Boom. Algol 68 compiler. Blog post, October 7, 2010. Online at hendrikboom.dreamwidth.org
- Hendrik Boom. A68H. Source code of ALGOL 68 compiler written in ALGOL W. Originally online at mtn-host.prjek.net; expected to return to topoi.pooq.com.
"A68H was written in the 70's on IBM hardware. Two versions have been located -- project dumps dated 1974 and 1978. I'm trying to restore it to proper functioning on today's hardware -- PC's running Linux. The recent appearance of a new Algol W compiler provides a real boost to this project; that's the language it was written in. The main development branch is a68h.trunk.tar. The a68h.1974.tar and a68h.1978.tar branches are repositories of mainly historical interest."
ALGOL 68-R (Royal Radar Establishment, Malvern)
"Being implementations of the original language, neither of these compilers [Munich nor MBLE] ever came into use outside their home bases. The Malvern ALGOL 68R compiler, on the other hand, restricted the language so as to permit l-pass compilation and also made numerous small language changes, for convenience of implementation. Some, but not all, of these changes were subsequently blessed by inclusion within [ALGOL 68 revised report]. Thus [ALGOL 68 report], [ALGOL 68 revised report], and ALGOL 68R could be regarded as three vertices of an equilateral triangle. It was available from 1970 onwards on ICL 1900 series machines, and became the most widely used implementation, especially in Great Britain." [Lindsey 1996]
- I. F. Currie. Working description of ALGOL 68-R. Memorandum Number 2660, Royal Radar Establishment, Malvern. [Cited in: R. J. W. Housden. On string concepts and their implementation. Computer Journal, Volume 18, Number 2 (1975), pages 150-156. Oxford Journals]
- I. F. Currie, S. G. Bond, and J. D. Morrison. ALGOL 68-R, Its Implementation and Use. In: J. E. L. Peck, editor. ALGOL 68 Implementation: Proceedings of the IFIP Working Conference on ALGOL 68 Implementation, Munich, Germany, July 20-24, 1970. North Holland, 1971, pages 360-363.
- P. M. Woodward. Practical experience with Algol 68. Software: Practice and Experience. Volume 2, Number 1, 1972, pages 7-19. Wiley InterScience
- R. A. Earnshaw. Graph plotting in ALGOL 68-R. Software: Practice and Experience, Volume 6, Number 1, 1976, pages 51-60. Wiley InterScience
- Anonymous. Algol 68-R Programmers Manual. Reproduced by ICL on behalf of RSRE.
- DJVU at icl1900.co.uk
- Function. DJVU at icl1900.co.uk
- Algol 68-R Users Guide. H.M.S.O.
- I. Currie et al. 1973. [Cited in Birrell's thesis.]
- P. M. Woodward and S. G. Bond. Second edition, 1974. DJVU at icl1900.co.uk
- Anonymous. Algol 68-R System : Installation and Maintenance. Division of Computing and Software Research, Royal Radar Establishment, Malvern England, 4th edition, January 1977. DJVU at icl1900.co.uk
"The Algol 68-R system is available in two versions, one which runs under GEORGE 3 (or GEORGE 4), and one which runs under Operators Executive (or any other operating system)."
- Susan Bond. An oral history conducted in 2001 by Janet Abbate, IEEE History Center, New Brunswick, NJ, USA. Online at IEEE Global History Network
- See also http://en.wikipedia.org/wiki/ALGOL_68R
A section covers Developing the World's First ALGOL 68 Compiler.
ALGOL 68RS (Royal Signals and Radar Establishment, Malvern)
"Next, Malvern produced their second attempt, ALGOL 68RS, for their own in-house machines and available from 1977. This was much closer to [RR] than their first product, it was written to be machine independent, and it has been ported to the ICL 2900 series, to MULTICS and to VMS Vaxen. It is still the best starting point, should anyone wish a new (almost) full implementation." [Lindsey 1996]
- S. G. Bond and P. M. Woodward. Introduction to the 'RS' Portable Algol 68 Compiler. RRE-TN-802, Royal Radar Establishment Malvern, August 1977, 31 pages. Defense Technical Information Center Accession number ADA049572.
Online at dtic.mil
"This paper describes the portable compiler for Algol 68 developed at RSRE by Currie and Morison. Chapter 2 defines the language extensions handled by the compiler, and the system of modular compilation as seen by the user. Chapter 3 outlines the structure of a complete system, emphasizing the design of the intermediate language produced by the compiler for input to a machine-dependent translator. Though factual, this paper is not the system documentation."
- Philip M. Woodward and Susan G. Bond. Guide to ALGOL 68 for users of RS systems. Edward Arnold (Publishers) Ltd., 1983.
- Dave Taylour, ELLA Development Manager. ELLA 2000 second public release, software release 34.4, March 31, 1995. Language for electronic system design; build tools include A68toC translator (Malvern ALGOL 68RS) in source form (both Algol 68 and C source code). Software is under United Kingdom Crown Copyright; license allows its use for study purposes only.
- README at cs.nyu.edu via archive.org
- Online at github.com; originally from cs.nyu.edu via archive.org
- Dr. Sian Mountbatten (formerly Leitch). algol68toc. Linux port of A68toC, extracted from ELLA public release and extended with an implementation of the standard prelude. Dr. Mountbatten released versions up through 1.19.
- Versions from 1.8 through 1.14 have been preserved by Neville Dempsey. Online at sourceforge.net
- Version 1.15 has been preserved by Greg Nunan. Online at nunan.myzen.co.uk
- Version 1.19 was originally available on her personal web site (http://www.poenikatu.co.uk/src/?dir=&download=algol68toc_1.19.tar.xz), but no known copy survives.
- Sian Mountbatten. Programming Algol 68 Made Easy. Phoenix Engineering, 2008. PDF
- Neil Matthew extended Dr. Mountbatten's work: "I started with her 1.15 version for 32-bit Intel Linux and I now have a version running on 32-bit and 64-bit Linux for both Intel and ARM processors. It also runs on 64-bit macOS." Online at github.com
ALGOL 68S (University of Liverpool; Carnegie-Mellon University; University of Manchester)
"Although a Subcommittee on Sublanguages had been formed at Manchester, it never produced anything concrete, and it was an independent effort by Peter Hibbard, implementing on a minicomputer with only 16K words at Liverpool, which eventually bore fruit. Hibbard's sublanguage, first introduced to the WG at Vienna, was intended for mainly numerical applications, and the features omitted from it were intended to simplify compilation. It was discussed by the WG and the Support Subcommittee on several occasions, and finally formulated as an addendum to the Report and released for publication as an IFIP Document at Munich. However, the final polishing lasted for some time until it eventually appeared as [Hibbard 1977]. ...
...
Hibbard's Liverpool implementation, around which his sublanguage ... was designed, was rewritten in BLISS for a PDP-11 when he moved to Carnegie Mellon, and was rewritten again by myself in Pascal and now runs on various machines. On the way, it acquired heap-generators (not in the original sublanguage), giving it nearly the functionality of the full language." [Lindsey 1996]
- C. H. Lindsey, editor. ALGOL 68 Compiler for the DEC PDP11 Computer. ALGOL Bulletin, Number 42 (May 1978), page 3. CHM ACM Digital Library
"A one-pass compiler for ALGOL 68 on the PDP 11 Computer operating under both UNIX and RSX-11M Operating Systems is now available for distribution.
The Compiler itself was written and developed at Liverpool University (U.K.) and Carnegie-Mellon University. The operating-system interfaces were provided by the University of Manitoba (Canada). The system has been successfully used in a number of programming language courses and as a general programming and research tool.
The source language is an extended version of ALGOL 68S (the official IFIP subset of ALGOL 68). Thus, the major restrictions on the full ALGOL 68 language are the lack of formatted transput, flexible multiples (though strings are provided) and some one-pass implied restrictions on structured and multiple types and on the coercions (implicit type changes) allowed. Features provided which go beyond full ALGOL 68 include parallel processing using "eventual variables" and an interface to Macro 11 procedures.
The system requires no special facilities beyond those available on the simplest PDP 11s. The version currently being distributed requires a space of 32K words (in addition to the operating system) to run. A second version incorporating a loader (thus requiring considerably less space) is in preparation. Those who order the existing system will receive the new version at no additional cost; this version should be available in late Spring 1978.
Documentation on both source language and installation instructions for either or both operating systems will accompany the distribution tapes." - Andrew Walker. Snapshot of binary version of Algol68S for PDP-11. Discussed on comp.lang.misc, July 2000. Archived at www.tuhs.org
- Paul Knueven?. Algol 68 User Manual, March 8, 1978. Manual for CMU ALGOL 68S OCR'ed by W. B. Kloke from copy made by Andrew Walker. ASCII
- Dr. C. H. Lindsey. ALGOL 68S interpreter executables for Sun3, Sparc (SunOS 4.1, Solaris 2), Atari ST (GemDOS) and Acorn Archimedes (RISCOS). Online at clerew.man.ac.uk
"This compiler makes use of the Amsterdam Compiler Kit, and permission has been given to include binaries of the necessary parts of the kit (see COPYRIGHT Notice)."
- David Given, administrator. Amsterdam Compiler Kit. Cross-platform compiler and toolchain suite supporting several languages and target machines; includes ALGOL 68S. Version 6.0pre3, April 29, 2007. Online at sourceforge.net
ACK was originally developed by a project led by A. S. Tanenbaum at the Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, The Netherlands.
“A68S is part of the ACK and an old version can be found on sourceforge: http://tack.cvs.sourceforge.net/viewvc/tack/Ack/lang/a68s/.” [Neville Dempsey, personal communication, May 2010]
ALGOL-N (Kyoto University)
"The Japanese were also active in language design, and produced their own "ALGOL N" [AB30.3.2], a simplified form of ALGOL 68 with a simplified method of description." [Lindsey 1988]
- S. Igarashi, T. Iwamura, K. Sakuma, T. Simauti, T. Simuzu, S. Takasu, E. Wada, and N. Yoneda. ALGOL-N. ALGOL Bulletin, Number 30 (February 1969), pages 38-85. CHM ACM Digital Library
Berlin ALGOL 68 (Technische Universität Berlin)
- Wilfried Koch and Cristoph Oeters. An abstract ALGOL 68 machine and its application in a machine independent compiler. In GI - 5. Jahrestagung (October 08 - 10, 1975). J. Mühlbacher, Ed. Lecture Notes In Computer Science, vol. 34. Springer-Verlag, London, 642-653. SpringerLink
- Wilfried Koch and Cristoph Oeters. The Berlin ALGOL 68 implementation. In Proceedings of the Strathclyde ALGOL 68 Conference (Glasgow, Scotland, March 29 - 31, 1977). Association for Computing Machinery, pages 102-108. ACM Digital Library
- D. A. Watt. Analysis-oriented two-level grammars, Ph.D.thesis, TU Berlin 1974. [Cited by http://doi.acm.org/10.1145/1061729.1061733]
BETA (Novosibirsk)
- Mikhail A. Bulyonkov, Alexandre F. Rar, Andrey N. Terekhov. Algol 68 – 25 Years in the USSR.
- Online at Russian Virtual Computer Museum
- Pages 45-51 in: Gerard Alberts, editor. Conference on the history of ALGOL 68. Department of Analysis, Algebra, and Geometry, Centrum voor Wiskunde en Informatica, Historical Note AM-HN9301, January 1993. Conference on 25 years of ALGOL 68 held on the occasion of the 47th anniversary of CWI, Amsterdam, February 11, 1993. Online at cwi.nl
"The promising 'BETA project'' in Novosibirsk primarily designed by Dr. A. P. Ershov, M. Shvartsman, A. A. Baehrs was intended to produce compilers from language descriptions almost automatically, and it had Algol 68, PL/I and Simula 67 as its first objectives [9]. The system has really been created, but not in the form initially thought of, and the languages it now encompasses are Simula 67, Pascal (these languages being implemented by G. G. Stepanov and S. B. Pokrovsky), Modula 2 (L. A. Zakharov), a subset of Ada (S. V. Ten), but not Algol 68 or PL/I [10]. Nevertheless, the concepts of Algol 68 were used in the BETA system for creating both its universal compiling scheme and its internal language."
CDC ALGOL 68
"The most successful commercial implementation was by CDC Netherlands, first delivered in 1977 in response to a threat from several Dutch universities to buy only machines with ALGOL 68 available. It was an excellent compiler, but the parent company in the USA never showed any interest in it." [Lindsey 1996]
- Anonymous. ALGOL 68 Version I Reference Manual. Control Data Services B.V., Rijswijk, Netherlands, 1976 PDF at bitsavers.org
- J. J. F. M Schlichting. An Early Implementation of Revised ALGOL 68. PhD Thesis, Technical University Delft, Delft, November 1989, 200 pages. Online at tudelft.nl
"Describes the CDC Algol 68 implementation, which was produced under the supervision of the author. The compiler and the run-time system are treated equally extensively. Some special attention is given to the garbage collector, which uses self-describing references (pointers)." [Grune, Compiler Construction 1980-1989]
FLACC (Full Language Algol68 Checkout Compiler)
"Chris Thomson and Colin Broughton established the Chion Corporation,ß which developed and marketed FLACC (Full Language Algol 68 Checkout Compiler). This compiler and run-time system conformed exactly to the Revised Report, ran on IBM 370 and compatible mainframes, and included debugging features derived from WATFIV. It was released in 1977.
Chris was a student of Barry J. Mailloux, who studied at Amsterdam's Mathematisch Centrum from 1966 under Adriaan van Wijngaarden. His work on the Algol 68 language established the University of Alberta as a center for Algol 68-related activity." [http://en.wikipedia.org/wiki/FLACC]
"You know, we only ever got 22 copies installed, and less than 5 of those in North America. Even though it ran on 370's under MVS, CMS and MTS, and was cheap and reliable. Talk about a marketing disaster. " [Chris Thomson, comp.lang.misc, November 27, 1988]
"The final commercial-strength product, called FLACC and first shipped in 1978, was a checkout compiler for IBM machines. This was produced by two of Mailloux's ex-students who set up their own company. Again, this was an excellent product (not fast, being a checkout system), but it did not spread far because they completely misjudged the price the market would pay." [Lindsey 1996]
- Christopher Mark Thomson. The Run-Time structure of an ALGOL 68 Student Checkout Compiler. Master's thesis, Department of Computing Science, University of Alberta, 1976. PDF
- With Preface from Thomson, May 2011.
- C. Thomson. ALGOL 68 Compiler for IBM S/370. Announcement. SIGPLAN Notices, Volume 13, Number 11 (November 1978), page 11. PDF at acm.org
- Anonymous. FLACC User's Guide. Version 1.6, November 1981, Chion Corporation, Edmonton, Canada, 1981. PDF
- With tribute to Barry J. Mailloux, May 2011 (last page).
- C. H. Lindsey, editor. ALGOL 68 Implementations - FLACC. ALGOL Bulletin, Number 45 (January 1980), page 16. CHM ACM Digital Library
GE-635 ALGOL 68 (Dartmouth)
- Sidney Marshall. An ALGOL68 Garbage Collector. Dartmouth College, Kiewit Computation Center, Technical Memorandum TMO11, 1969.
Published in ALGOL 68 Implementation, pages 239-243.
- Sidney Marshall. On the Implementation of ALGOL 68. Ph.D. thesis, Thayer School of Engineering, Dartmouth College, June 1972. PDF at bitsavers.org
Volume 2, starting on page 205, is the full source code in assembly language.
Interactive Algol68 (Algol Applications Limited; Orthogonal Software; Oxford and Cambridge Compilers Limited)
- Peter G. Craven. Interactive Algol68. ALGOL Bulletin, Number 51 (December 1984), pages 16-18. CHM ACM Digital Library
- See Lindsey: Survey, 1988
- Orthogonal Software. MK2.1 Algol 68 compiler. Shareware distribution for MS-DOS 2.0 on 386, 1992. Online at nunan.myzen.co.uk
- OCCL. ALGOL 68 for OS/2. Flyer, circa 1998. Online at archive.org
- Dave Lloyd and Peter Craven. ALGOL 68 for OS/2. Whitepaper, circa 1998. Online at archive.org
Kiev Algol 68
- Mikhail A. Bulyonkov, Alexandre F. Rar, Andrey N. Terekhov. Algol 68 – 25 Years in the USSR.
- Online at Russian Virtual Computer Museum
- Pages 45-51 in: Gerard Alberts, editor. Conference on the history of ALGOL 68. Department of Analysis, Algebra, and Geometry, Centrum voor Wiskunde en Informatica, Historical Note AM-HN9301, January 1993. Conference on 25 years of ALGOL 68 held on the occasion of the 47th anniversary of CWI, Amsterdam, February 11, 1993. Online at cwi.nl
"One of the first implementations of Algol 68 was done in a Kiev computer-producing factory in the end of seventies for Siemens computers. Its authors are S. I. Shtitelman, M. G. Shteinbukh, L. A. Makogon. The implementation was oriented to an information management system called "START'', for which Algol 68 was the only language it used. The authors of the project were interested in Algol 68 primarily as in a source of a data base language. The Kiev implementation anticipated many features of modern languages of that sort: persistent objects, an elaborated system of types, orthogonal design, a large share of interpretativity, and so on. The system of types and orthogonality were in fact due to the Algol 68 itself but the persistence feature urged for some corrections of the language. Namely an "everlasting block'' has been introduced, meant to preserve between the executions of the program those objects that could be used by different programs. In fact it was a data base. Some other variations were also done without any regards to the standardization efforts for Algol 68: all arrays were considered to be flexible, a control variable of a loop was long int rather than int, complex values were absent and so on. Accepted by the Working Group in 1979 this system exists no more because of replacement of hardware in the factory."
ALGOL 68/19 (Koninklijke Militaire School)
ALGOL 68/19 was a subset of ALGOL 68. Version 1 (November 1973) ran on IBM 360/30 under DOS. It had the ALGOL 68 modes except unions and structures; there was no mode definition mechanism or operator definition mechanism. All procedures were void (no functions). It had a non-standard set of physical i/o routines. There were no formats, but there were conversion routines to/from strings. There was dynamic storage but no heap. There was separate compilation.
Version 2 (March 1974) added non-void functions, a set of mathematical functions in the standard prelude, formatted i/o on the standard devices, a fast link-and-go compiler (without separate compilation), and more.
Version 3 (November 1975), by Guy Louis, ran on an IBM 370/158 under VM/CMS. It added checking of modes of separately-compiled procedures, and more.
[From Gennard and Louis 1976]
- Paul E. Gennart and Guy Louis. ALGOL 68/19 Reference Manual. Koninklijke Militaire School, 1975 and Universite Catholique Louvain, 1976. PDF
"The design and the implementation of ALGOL 68/19 are the work of Guy LOUIS and Piet RYPENS. They received a valuable programming aid from A. M. DOYEN and A. MICHAUX."
- P. E. Gennart. Implementation and Usage of the ALGOL 68/19 Compiler. Pages 13-16. In: G. E. Hedrick, editor. Proceedings of the 1975 International Conference on ALGOL 68. Oklahoma State University, Stillwater, Oklahoma, June 10-12, 1975.
Leningrad State University Algol 68 for Riad (IBM System/360 clone)
Project led by G. S. Tseytin of Leningrad State University.
- G.S. Tseytin. Realizatsiya parallelnogo ispolneniya i gibkikh imen v ALGOL 68 (The Implementation of the Elaboration of Parallel clauses and Flexible Names). In Trudy Vsesoyuznogo Symposiuma po metodam realizatsii novykh algoritmicheskikh yazykov, Part 2, Novosibirsk, Computing Centre of the Academy of URSS, 1974.
- Dr. G.S. Tseytin (editor), and 14 authors, including Dr. G. S. Tseytin and Peter Szöke. ALGOL 68, Metody realizatsii (ALGOL 68 Implementation Methods). Leningrad State University Publ., 1976, pages 132-136.
- Peter Szöke (Seke Peter). Upravlenie pamyatyu v translyatore s yazyka ALGOL 68 (Memory control in ALGOL 68 Compiler). Ph.D. Thesis, 1975, Leningrad State University, manuscript.
- Péter Szöke. Some remarks on new instances and garbage collection. In Proceedings of the Strathclyde ALGOL 68 conference. ACM, New York, NY, USA, 1977, pages 42-48. ACM Digital Library
"E.g. in our Leningrad ALGOL 68/Riad implementation we decided ..."
- Joyce Friedman. Computational Linguistics in the USSR: July 1978. The Finite String, Volume 15, Number 5, March 1979, pages 3-13. Published in the American Journal of Computational Linguistics, Microfiche 81.
PDF at aclweb.org
"In Leningrad, Tseitin is implementing ALGOL68 for the Ryad series of computers, compatible with the IBM 360."
- Andrei Petrovich Ershov and others. Algol 68 at Leningrad State university. Academician A. Ershov's archive. Letters and other documents related to Algol 68/LGU for ES EVM computers. Online at ershov.iis.nsk.su
- Mikhail A. Bulyonkov, Alexandre F. Rar, Andrey N. Terekhov. Algol 68 – 25 Years in the USSR.
- Online at Russian Virtual Computer Museum
- Pages 45-51 in: Gerard Alberts, editor. Conference on the history of ALGOL 68. Department of Analysis, Algebra, and Geometry, Centrum voor Wiskunde en Informatica, Historical Note AM-HN9301, January 1993. Conference on 25 years of ALGOL 68 held on the occasion of the 47th anniversary of CWI, Amsterdam, February 11, 1993. Online at cwi.nl
"Mostly developed were the works on Algol 68 implementation in the Leningrad University, in the group headed by Dr. G. S. Tseytin and Dr. A. N. Terekhov. Primarily these works were coordinated with the work on BETA system in the frame of a strategy elaborated by the Working Group. It was supposed that the Leningrad group would construct a debugging compiler, a sort of an avant-garde, meant to win new application areas for main forces, namely basic compiler to be constructed in Novosibirsk. A natural presumption was that any application program, debugged by the Leningrad compiler should run on the Novosibirsk compiler without a need to be modified.
...
In 1978 the first bootstrapping has been done and the resulting compiler has been yielded to many users in different fields (mathematical physics, radar techniques, simulation). Immediately afterwards the second bootstrapping began. At that moment the designers realized necessity of library preludes and separate compilation of procedures. Therefore a new construct has been added to Algol 68, which appeared to be rather like nest not yet known to the authors.
..."
Mary (Norwegian Institute of Technology; Penobscot Research Center)
"Mary was a programming language designed and implemented by RUNIT at Trondheim, Norway in the 1970s. It borrowed many features from ALGOL 68 but was designed for machine-oriented programming. ... The original Mary compiler was written in NU ALGOL, ran on the Univac-1100 series and was used to bootstrap a native compiler for ND-100/SINTRAN-III." [http://en.wikipedia.org/wiki/Mary_(programming_language)]
"Mary was an Algol68 derivative for embedded systems ... There was a Mary/1 done at NTH, targeting the NDE and KV minicomputers, which were almost identical at the ISE level. We wrote an OS for those machines in Mary, which wound up being used in telephone switches made by NDE. ... Mary2 was done at Penobscot Research Center in Maine, running on Data General and Harris machines [and written in Mary/2]." [Ivan Godard (formerly known as Mark Rain), personal communication to Paul McJones, May 2010]
- Mark Rain. Some formal language aspects of MARY. ALGOL Bulletin, Number 34 (July 1972), pages 45-81. CHM ACM Digital Library
- Mark Rain. Storage control in MARY. SIGPLAN Notices, Volume 7, Number 12 (December 1972), pages 31-39. ACM Digital Library
- Mark Rain. Operation expressions in MARY.
- SIGPLAN Notices, Volume 8, Number 1 (January 1973), pages 7-14. ACM Digital Library
- ALGOL Bulletin, Number 35 (March 1973), pages 38-44. CHM ACM Digital Library
- Mark Rain and Per Holager. The present most recent final word about labels in MARY. SIGPLAN Notices, Volume 8, Number 3 (March 1973), pages 24-32. ACM Digital Library
- Mark Rain. Declaration Groups and Values of Declarations in MARY. ALGOL Bulletin, Number 35 (March 1973), pages 36-37. CHM ACM Digital Library
- Mark Rain. The structure of the MARY/2 compiler. Software Practice and Experience, Volume 11, Number 3 (October 1981), pages 225-235. Wiley InterScience
MBLE (Research Laboratory of Manufacture Belge de Lampes et de Materiel Electronique S.A., Brussels) ALGOL 68
"Branquart's compiler [on an Electrologica X8] was a piece of research into compiler methodology rather than a serious production tool, but it did establish many features necessary to all compilers, particularly the storage of values and the layout of the stack, all documented in a series of MBLE Reports that were finally collated into [Branquart 1976]. The project consumed 20 man-years of effort, spread over the years 1967 to 1973." [Lindsey 1996]
"[By 1974], the X8 had already disappeared from the lab, but a microprogrammed simulator was available (on a prototype Philips machine that was never marketed)." [Georges M. Louis, email to Paul McJones, 25 April 2017]
- P. Branquart, J.-P. Cardinael, J. Lewi, J.-P. Delescaille, and M. Vanbegin. An Optimized Translation Process and its Application to ALGOL 68. Lecture Notes in Computer Science, Volume 38, Springer-Verlag, 1976. SpringerLink
Mini ALGOL 68 (Mathematisch Centrum)
- L. Ammeraal. An interpreter for simple ALGOL 68 programs. IW 7/73, Mathematisch Centrum, 1973. Online at cwi.nl
Abstract: "An interpretative implementation for a sublanguage of ALGOL 68 is informally described in this report. Since the implementation has been written in ALGOL 60 and there is no translation from ALGOL 68 source text to an object program, a high degree of machine independence has been achieved. The report includes both the text of the interpreter and some typical ALGOL 68 programs, along with the output produced by the interpreter."
- L. Ammeraal. An Implementation of an ALGOL 68 Sublanguage.
- IW 31/75, Mathematisch Centrum, 1975. Online at cwi.nl
- International Computing Symposium 1975, North-Holland Publishing Company, Amsterdam (1975), pages 49-53.
- L. Ammeraal. On the design of programming languages including Mini ALGOL 68.
- IW 35/75, Mathematisch Centrum, 1975. Online at cwi.nl
- GI-5. Jahrestagung, Lecture Notes in Computer Science Volume 34 (1975), pages 500-504. SpringerLink
- L. Ammeraal. Mini ALGOL 68 User's Guide.
"Mini ALGOL 68 is a sublanguage of ALGOL 68 ...
The compiler was first written in ALGOL 60, and then, for reasons of efficiency, rewritten in an ALGOL 60-like subset of PASCAL. It produces assembler code for the CONTROL DATA 6000 and CYBER machines. Some care has been taken, however, to facilitate modifications, if wanted, for the generation of code for other machines."
- IW 32/75, Mathematisch Centrum, 1975. Online at cwi.nl
- IW 32/76, Mathematisch Centrum, second edition, June 1976. Online at cwi.nl
- See also Rutgers Algol-68
Moscow Algol 68 (for DEC architecture)
- Mikhail A. Bulyonkov, Alexandre F. Rar, Andrey N. Terekhov. Algol 68 – 25 Years in the USSR.
- Online at Russian Virtual Computer Museum
- Pages 45-51 in: Gerard Alberts, editor. Conference on the history of ALGOL 68. Department of Analysis, Algebra, and Geometry, Centrum voor Wiskunde en Informatica, Historical Note AM-HN9301, January 1993. Conference on 25 years of ALGOL 68 held on the occasion of the 47th anniversary of CWI, Amsterdam, February 11, 1993. Online at cwi.nl
"At the same time [as Kiev Algol 68] Algol 68 was being implemented on the base of the DEC architecture. This implementation was being performed under guidance of Dr. M. Levinson. Though uncompleted it brought some original ideas into the implementation technique. The main distinction of this implementation was in the scope checking: the life-time of any object was not restricted by the execution time of the block, in which the object was declared."
Moscow Algol 68 (for Elbrus architecture)
- Mikhail A. Bulyonkov, Alexandre F. Rar, Andrey N. Terekhov. Algol 68 – 25 Years in the USSR.
- Online at Russian Virtual Computer Museum
- Pages 45-51 in: Gerard Alberts, editor. Conference on the history of ALGOL 68. Department of Analysis, Algebra, and Geometry, Centrum voor Wiskunde en Informatica, Historical Note AM-HN9301, January 1993. Conference on 25 years of ALGOL 68 held on the occasion of the 47th anniversary of CWI, Amsterdam, February 11, 1993. Online at cwi.nl
"An implementation of Algol 68 compiler for "Elbrus'' computer complex had been designed by V. V. Brol, V. M. Gushchin, V. B. Yakovlev (Moscow). Its source language is the full Algol 68 defined by the Revised Report and extended by some facilities of module handling. The compiler provides a good quality of the object code, a rather complete error diagnostic. It makes a good use of similarity between main concepts of Algol 68 and those of "Elbrus'' architecture and operating system. The compiler has been accepted by the national Working Group in 1985. The Leningrad group participated actively in testing of that compiler. About ten large application packages developed in Leningrad University were ported almost without a problem to the "Elbrus''. But the tragedy of the "Elbrus'' compiler was that these were practically the only real-life programs that were processed by it."
Munich (Technische Hochschule Munich) ALGOL 68
"The implementations by Goos at Munich on a Telefunken TR4, and by Branquart at MBLE on an Electrologica-X8, were well under way by the appearance of [ALGOL 68 report]." [Lindsey 1996]
- Gerhard Goos. Implementing ALGOL 68. Paper presented at Tenth Anniversary Colloquium, Zürich, May 1968. [See AB28.1.1, ALGOL Bulletin, Number 28 (July 1968), page 2. ACM ACM Digital Library]
- Gerhard Goos. Eine Implementierung von ALGOL 68. Report Number 6906, Rechenzentrum der Technische Universität München, 1969.
- U. Hill, H. Scheidig, and H. Woessner. ALGOL 68 M. Report Number 7009, Technical University of Munich, 1970?. From Herbert Stoyan Collection on LISP Programming, Lot X5687.2010, Computer History Museum. PDF
"The 'ALGOL 68 group' of the Technical University of Munich has been concerned for the past two years with the implementation of ALGOL 68. Essentially, the full language is handled, without the facilities of parallel processing and the synchronization operations, and with some further 'technical' restrictions. The implementation is nearly completed, and we expect that the compiler will go into multi-test-phase during 1971. The following pages attempt to summarize our experiences resulting from this intensive effort with ALGOL 68."
- Gerhard Goos. Some problems in Compiling ALGOL 68. In: J. E. L. Peck, editor. ALGOL 68 Implementation: Proceedings of the IFIP Working Conference on ALGOL 68 Implementation, Munich, Germany, July 20-24, 1970. North Holland, 1971, pages 179-196.
Oklahoma State University Algol 68
Written in ANSI Fortran 1966, and run on an IBM 370/158 and an IBM 1130.
- G. E. Hedrick and Alan Robertson. The Oklahoma State ALGOL 68 Subset Compiler. 1975 International Conference on ALGOL 68. Stillwater, OK, June 10-12, 1975.
- G. E. Hedrick. Some Considerations in Implementation of a Portable ALGOL 68 Compiler. Proceedings of the 1976 International Conference on ALGOL 68. New York. Courant Institute of Math Science. 1977.
- G. E. Hedrick. An adaptation of the contour model as a runtime environment for ALGOL68. The SOKEN KIYO, Volume 6, Number 3, January 1977.
- G. E. Hedrick, Alan Robertson and Mark Goto. Grammars for ALGOL 68 Format Denotations and the Transput Facilities of the Oklahoma State University ALGOL 68 Compiler. Proceedings of the 5th Annual Implementors Conference, Guidel, France. Paris: INRIA, 1977.
- G. E. Hedrick. ALGOL68 instruction at Oklahoma State University. In Proceedings of the Eighth SIGCSE Technical Symposium on Computer Science Education (February 02 - 03, 1977). SIGCSE '77. ACM, New York, NY, pages 16-20. ACM Digital Library
Algol 68 for University of Paris-XI (Orsay)
Written in Fortran V for Univac 1100 series.
- Daniel Taupin. The ALGOL 68 compiler of Paris-XI University (Orsay). In Proceedings of the Strathclyde ALGOL 68 conference. ACM, New York, NY, USA, 1977, pages 109-116. ACM Digital Library
"The ALGOL-68 compiler of the University of Paris-XI (Orsay) has been implemented for Univac's 1110-series, under EXEC-VIII. It can compile the 'full language' (including formats, unions, flexible arrays, recursive modes, parallel computation, etc.). It consists in 8 passes and yields usual relocatable code. Minor restrictions concern equivalence recognition of crossed recursive modes, multiple precision and short modes, and scope checking."
Project SAR (Système Algol Rennes) (Université de Rennes)
- A. Leroy, et al. On the Adequacy of the ALGOL 68 Environment Compared with an Existing Current Operating System and Problems of I/O Implementation. In: G. E. Hedrick, editor. Proceedings of the 1975 International Conference on ALGOL 68. Oklahoma State University, Stillwater, Oklahoma, June 10-12, 1975, pages 202-220.
"The Rennes implementation [Leroy et al. 1975] containes a form of transput which is tailored to their SIRIS 7 operating system ..." [J. C. van Vliet. Towards a machine-independent transput section. In Proceedings of the Strathclyde ALGOL 68 conference. ACM, New York, NY, USA, pages 71-77. ACM Digital Library]
- Pierre Mounier-Kuhn. From universal project to sunken culture : Algol in France. Works in progress submitted to the 2011 SHOT meeting / Cleveland, OH SIGCIS workshop on Materiality and Immateriality in the History of Computing. PDF at mariehicks.net
"In Rennes, computer science bloomed suddenly toward 1970, as a result of local initiatives combined with political decisions ; no less than eight software specialists who had passed their doctorates in Grenoble, Paris or Nancy, then spent a few years teaching in Montreal or working on Simula with Control Data, received positions at the Rennes university. Their main project was the development of an operating system written in Algol 68 for the big CII computer (SDS Sigma 7) of the faculty. They took on the challenge of designing an Algol 68 compiler*, which became the topic of 5 doctoral dissertations ; operational in the mid-1970s, the Rennes compiler was brought to similar machines in other universities, and remained widely used until 1981, when Multics machines replaced Plan Calcul computers... and received a new Algol 68 compiler.
* Project SAR (Système Algol Rennes) included several particular features: A new compiling method ("by events", with only one pass on the source text), an original "garbage collector", a new kind of block ("prolators"). The team also developed a compiler for a subset of Algol 68 (SERA, Sous-Ensemble Rennais d'Algol 68), which was used in Rennes and in Paris to teach programming. These were the only French implementations of Algol 68 actually put into service (correspondence with L. Trilling, 27 September 2010)."
Rutgers (DIMACS) Algol-68
"History: the Interpreter originates from the one made by L. Ammeraal in the Mathematical Center, Amsterdam, in 1973. It was written in Algol-60. The interpreter was debugged and implemented on an ICL 1903A machine by L. Csirmaz in 1974. The present competely revised version was written in C. The lexical analyzer was written by Sam Rebelsky, the other parts by L. Csirmaz, both at the University of Chicago. Later it has been ported to DOS and Linux by L. Csirmaz." [Csirmaz, 1987]
- L. Csirmaz. Algol-68 Interpreter. Manual, March 1987. Online at renyi.hu/~csirmaz/
- L. Csirmaz. Source and binary distributions for MS-DOS and Linux. December 2001. Online at renyi.hu/~csirmaz/
S3 for ICL 2900
"S3 is a structured, imperative high-level computer programming language. It was developed by the UK company International Computers Limited (ICL) for its 2900 Series mainframes. It is a system programming language based on ALGOL 68 but with data types and operators aligned to those offered by the 2900 Series. It was the implementation language of the operating system VME." [http://en.wikipedia.org/wiki/S3_(programming_language)]