ALGOL 68S

Last updated
ALGOL 68S
Paradigms Multi-paradigm: concurrent, imperative
Family ALGOL
Designed by Charles H. Lindsey
First appeared1977;45 years ago (1977)
Typing discipline static, strong, safe, structural
Scope Lexical
Implementation language BLISS
Platform Motorola 680x0, Sun SPARC
OS SunOS, Solaris, GEMDOS

ALGOL 68S is a programming language designed as a subset of ALGOL 68, to allow compiling via a one-pass compiler. [1] It was mostly for numerical analysis.

Contents

Implementations

A compiler for ALGOL 68S was available for the PDP-11, written in the language BLISS. The multiprocessor version designed for the C.mmp [2] has been preserved at the PDP Unix Preservation Society archive. [3]

Charles H. Lindsey created another implementation of ALGOL 68, named ALGOL 68S, for Sun-3, Sun SPARC (under SunOS 4.1), Sun SPARC (under Solaris 2), Atari ST (under GEMDOS) and Acorn Archimedes (under RISC OS), c.f. Charles Lindsey's Home Page

Chief differences from ALGOL 68

The main differences between ALGOL 68 and 68S, as summarised from Appendix 4 of the Informal Introduction, [4] include:

Related Research Articles

ALGOL Family of programming languages

ALGOL is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the Association for Computing Machinery (ACM) in textbooks and academic sources for more than thirty years.

CORAL, short for Computer On-line Real-time Applications Language is a programming language originally developed in 1964 at the Royal Radar Establishment (RRE), Malvern, Worcestershire, in the United Kingdom. The R was originally for "radar", not "real-time". It was influenced primarily by JOVIAL, and thus ALGOL, but is not a subset of either.

Mary is 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 systems programming.

Pascal (programming language) Programming language

Pascal is an imperative and procedural programming language, designed by Niklaus Wirth as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named in honour of the French mathematician, philosopher and physicist Blaise Pascal.

ALGOL W is a programming language. It is based on a proposal for ALGOL X by Niklaus Wirth and Tony Hoare as a successor to ALGOL 60. ALGOL W is a relatively simple upgrade of the original ALGOL 60, adding string, bitstring, complex number and reference to record data types and call-by-result passing of parameters, introducing the while statement, replacing switch with the case statement, and generally tightening up the language.

ALGOL 60 is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a key advance in the rise of structured programming. ALGOL 60 was the first language implementing nested function definitions with lexical scope. It gave rise to many other programming languages, including CPL, Simula, BCPL, B, Pascal, and C. Practically every computer of the era had a systems programming language based on ALGOL 60 concepts.

ALGOL 68 Programming language

ALGOL 68 is an imperative programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously defined syntax and semantics.

Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.

Edinburgh IMP is a development of Atlas Autocode, initially developed around 1966-1969 at the University of Edinburgh, Scotland. It is a general-purpose programming language which was used heavily for systems programming.

In computer science, a programming language is said to have first-class functions if it treats functions as first-class citizens. This means the language supports passing functions as arguments to other functions, returning them as the values from other functions, and assigning them to variables or storing them in data structures. Some programming language theorists require support for anonymous functions as well. In languages with first-class functions, the names of functions do not have any special status; they are treated like ordinary variables with a function type. The term was coined by Christopher Strachey in the context of "functions as first-class citizens" in the mid-1960s.

C.mmp

The C.mmp was an early multiple instruction, multiple data (MIMD) multiprocessor system developed at Carnegie Mellon University (CMU) by William Wulf (1971). The notation C.mmp came from the PMS notation of Gordon Bell and Allen Newell, where a central processing unit (CPU) was designated as C, a variant was noted by the dot notation, and mmp stood for Multi-Mini-Processor. As of 2020, the machine is on display at CMU, in Wean Hall, on the ninth floor.

ALGOL 68C is an imperative computer programming language, a dialect of ALGOL 68, that was developed by Stephen R. Bourne and Michael Guy to program the Cambridge Algebra System (CAMAL). The initial compiler was written in the Princeton Syntax Compiler that was implemented by J. H. Mathewman at Cambridge.

In computer language design, stropping is a method of explicitly marking letter sequences as having a special property, such as being a keyword, or a certain type of variable or storage location, and thus inhabiting a different namespace from ordinary names ("identifiers"), in order to avoid clashes. Stropping is not used in most modern languages – instead, keywords are reserved words and cannot be used as identifiers. Stropping allows the same letter sequence to be used both as a keyword and as an identifier, and simplifies parsing in that case – for example allowing a variable named if without clashing with the keyword if.

S-algol is a computer programming language derivative of ALGOL 60 developed at the University of St Andrews in 1979 by Ron Morrison and Tony Davie. The language is a modification of ALGOL to contain orthogonal data types that Morrison created for his PhD thesis. Morrison would go on to become professor at the university and head of the department of computer science. The S-algol language was used for teaching at the university at an undergraduate level until 1999. It was also the language taught for several years in the 1980s at a local school in St. Andrews, Madras College. The computer science text Recursive Descent Compiling describes a recursive descent compiler for S-algol, implemented in S-algol.

ALGOL 68-R was the first implementation of the Algorithmic Language ALGOL 68.

The Interactive ALGOL 68 compiler for ALGOL 68 was made available by Peter Craven of Algol Applications from 1984. Then in 1994 from OCCL until 2004.

ALGOL 68RS is the second ALGOL 68 compiler written by I. F. Currie and J. D. Morrison, at the Royal Signals and Radar Establishment (RSRE). Unlike the earlier ALGOL 68-R, it was designed to be portable, and implemented the language of the Revised Report.

TSS/8 is a discontinued time-sharing operating system co-written by Don Witcraft and John Everett at Digital Equipment Corporation in 1967. DEC also referred to it as Timeshared-8 and EduSystem 50.

Charles Hodgson Lindsey is a British computer scientist, most known for his involvement with the programming language ALGOL 68.

References

  1. Hibbard, P.G. (May 1977). "A Sublanguage of ALGOL 68". SIGPLAN Notices. 12 (5): 71–79. doi:10.1145/954652.1781177. S2CID   37914993.
  2. http://vestein.arb-phys.uni-dortmund.de/~wb/a68s.txt.{{cite journal}}: Cite journal requires |journal= (help); Missing or empty |title= (help)[ permanent dead link ] Description of C.mmp A68S implementation.
  3. "Archived copy". www.tuhs.org. Archived from the original on 20 July 2008. Retrieved 13 January 2022.{{cite web}}: CS1 maint: archived copy as title (link)
  4. Lindsey, C. H.; van der Meulen, S. G. (1977). Informal Introduction to Algol 68. North-Holland.