PS-algol

Last updated
PS-algol
Paradigms Multi-paradigm: procedural, imperative, structured
Family ALGOL
Designed by Ron Morrison, Pete Bailey, Fred Brown, Paul Cockshott, Ken Chisholm, Al Dearle
Developer University of St Andrews
University of Edinburgh
First appeared1983;39 years ago (1983)
Implementation languageS-algol
Platform ICL mainframe computers
Influenced by
ALGOL 60, S-algol
Influenced
Napier88

PS-algol is an orthogonally persistent programming language. [1] [2]

Contents

PS-algol was an extension of the language S-algol implemented by the University of St Andrews and the University of Edinburgh, Scotland. S-algol was designed by Ron Morrison and extended by Pete Bailey, Fred Brown, Paul Cockshott, Ken Chisholm, and Al Dearle. These extensions were additional standard functions that provide a persistent heap that survives termination of PS-algol programs.

PS-algol was the world's first fully implemented persistent programming language, [3] and had many users both in academia and, notably, in International Computers Limited (ICL) research labs [4] [5] .

History

PS-algol was conceived by chance, when Ron Morrison was on sabbatical at the University of Edinburgh and met Malcolm Atkinson. Atkinson had been experimenting with persistent programming languages and was struggling to find a coherent model for a persistent Pascal variant. Morrison, whose interest in general-purpose programming had led to the development of S-algol, a general purpose teaching language, realised that S-algol's type system would more easily allow adding orthogonal persistence.

See also

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.

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.

VME is a mainframe operating system developed by the UK company International Computers Limited. Originally developed in the 1970s to drive ICL's then new 2900 Series mainframes, the operating system is now known as OpenVME incorporating a Unix subsystem, and runs on ICL Series 39 and Trimetra mainframe computers, as well as industry-standard x64 servers.

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.

Hope is a small functional programming language developed in the 1970s at the University of Edinburgh. It predates Miranda and Haskell and is contemporaneous with ML, also developed at the University. Hope was derived from NPL, a simple functional language developed by Rod Burstall and John Darlington in their work on program transformation. NPL and Hope are notable for being the first languages with call-by-pattern evaluation and algebraic data types.

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.

POP-2 is a programming language developed around 1970 from the earlier language POP-1 by Robin Popplestone and Rod Burstall at the University of Edinburgh. It drew roots from many sources: the languages LISP and ALGOL 60, and theoretical ideas from Peter J. Landin. It used an incremental compiler, which gave it some of the flexibility of an interpreted language, including allowing new function definitions at run time and modification of function definitions while a program was running, without the overhead of an interpreted language.

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.

Ron Morrison was the head of School of the computer science department of the University of St. Andrews where he worked on programming languages, inventing S-algol, and coinventing PS-algol and Napier88. He had graduated from St. Andrews with a Doctor of Philosophy (Ph.D.) in 1979. He is also heavily involved with local athletics, coaching the University Cross-Country team, and young, up and coming local athletes. He is a Fellow of the Royal Society of Edinburgh, and the current President of Scottish Athletics.

Napier88 is an orthogonally persistent programming language that was designed and implemented at the University of St Andrews, Scotland. The primary designer was Ron Morrison, whose initial designs were extended and implemented by Fred Brown, Richard Connor, and Al Dearle. Napier88 was ahead of its time in many ways, and was the first robustly implemented language to combine a polymorphic type system with orthogonal persistence. The language was robustly implemented and released to users from both industry and academia; up to 1,000 registered users were recorded in due course. The language, however, was only intended to provide a proof of concept for an experiment in persistent programming; some time after 1989 the group's interests moved on and the language was no longer maintained.

In computer science, persistence refers to the characteristic of state of a system that outlives the process that created it. This is achieved in practice by storing the state as data in computer data storage. Programs have to transfer data to and from storage devices and have to provide mappings from the native programming-language data structures to the storage device data structures.

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

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.

Malcolm Atkinson Professor of e-Science/University of Edinburgh School of Informatics

Professor Malcolm Phillip Atkinson is a Professor of e-Science, in the University of Edinburgh School of Informatics. He is known for his work in the areas of object-oriented databases, database systems, software engineering and e-Science and was the UK's first e-Science Envoy (2006–2011) and the Director of the e-Science Institute and National e-Science Centre, University of Edinburgh.

ICT 1900 was a family of mainframe computers released by International Computers and Tabulators (ICT) and later International Computers Limited (ICL) during the 1960s and 1970s. The 1900 series was notable for being one of the few non-American competitors to the IBM System/360, enjoying significant success in the European and British Commonwealth markets.

Paul Cockshott

William Paul Cockshott is a Scottish computer scientist, Marxian economist and a reader at the University of Glasgow. Since the 1993 he has authored multiple works in the tradition of scientific socialism, most notably Towards a New Socialism and How the World Works.

John Rosenberg is an Australian higher education consultant, professional Board Director, Australian academic, information technology (IT) professional and the former Senior Deputy Vice-Chancellor and Vice-President at La Trobe University in Victoria, Australia.

Susan Bond, was a scientific officer and computer programmer for the Mathematics Division of the Royal Radar Establishment (RRE) in the United Kingdom. She worked extensively on the programming language ALGOL 68 and the Royal Radar Establishment Automatic Computer (RREAC), an early solid-state electronics, ICL 1907F computer.

References

  1. Atkinson, M.P.; Bailey, P.J.; Chisholm, K.J.; Cockshott, W.P.; Morrison, R. (1983). "PS-algol: A Language for Persistent Programming" (pdf). Proceedings 10th Australian National Computer Conference. 10th Australian National Computer Conference. Melbourne, Australia. p. 70–79.
  2. Cockshott, W. Paul (16 January 2006). "Persistent S-algol". School of Computing Science. University of Glasgow. Retrieved 19 November 2019.
  3. Dearle, Alan; Kirby, Graham; Morrison, Ron (2009). "Orthogonal Persistence Revisited". Lecture Notes in Computer Science vol. 5936. 2nd International Conference on Object Databases (ICOODB 2009). Zurich, Switzerland. p. 1–22.
  4. Atkinson, Malcolm; Morrison, Ron; Pratten, Graham (May 1987). "PISA - A Persistent Information Space Architecture" (PDF). ICL Technical Journal. 5 (3): 477–491. Retrieved 21 Feb 2022.
  5. Greenwood, R. Mark; Guy, Michael R.; Robinson, D. John K. (May 1992). "The use of a Persistent Language in the Implementation of a Process Support System" (PDF). ICL Technical Journal. 8 (1): 108–130. Retrieved 21 February 2022.