PS-algol
   HOME





PS-algol
PS-algol is an orthogonally persistent programming language. 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, and had many users both in academia and, notably, in International Computers Limited (ICL) research labs. 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 t ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


S-algol
S-algol (St Andrews 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. PS-algol is a persistent derivative of S-algol. It was developed around 1981 at the University of Edinburgh and of St Andrews. It supports database ability by providing for longevity of data in the form of a persistent heap that survives termination of ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Ron Morrison
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. He retired from St. Andrews in January 2008. Selected publications * * * * * * Coaching and officiating Morrison has coached many athletes, including Andrew Lemoncello and Derek Rae. He received the ''Endurance Official of the Year'' award at British Athletics UK Athletics (UKA) is the governing body for the sport of athletics (sport), athletics in the United Kingdom. It is responsible for overseeing the governance of athletics events in the UK as wel ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Malcolm Atkinson
Malcolm Phillip Atkinson (born 13 October 1943, Cornwall, UK) 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. Professional career Atkinson obtained his first degree from the University of Cambridge in 1966, followed by a Diploma in computer science in 1967. After three years research and teaching at Lancaster University he returned to Cambridge and was awarded his PhD in 1974. He then held academic posts in Burma, Cambridge, East Anglia and Edinburgh, being appointed to a senior lectureship at the University of Edinburgh in 1983. He was a visiting professor at the University of Pennsylvania during 1983–84 and was appointed to a professorship in computer science at the Uni ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Persistence (computer Science)
In computer science, persistence refers to the characteristic of State (computer science), state of a system that outlives (persists for longer than) the Process (computing), 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, programming-language Data structure, data structures to the storage device data structures. Picture editing programs or Word processor, word processors, for example, achieve State (computer science), state persistence by saving their documents to computer file, files. Orthogonal or transparent persistence Persistence is said to be "Orthogonality#Computer science, orthogonal" or "transparent" when it is implemented as an intrinsic property of the execution environment of a program. An orthogonal persistence environment does not require any specific actions by programs running i ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Napier88
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 year the first implementation was in fact released) the group's interests moved on and the language was no longer maintained. Its influence lives on in various other systems however; the CORBA type ANY is distinctly recognisable in Napier88's type ANY; Microsoft's Com ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Flex Machine
The Flex Computer System was developed by Michael Foster and Ian Currie of Royal Signals and Radar Establishment (RSRE) in Malvern, England, during the late 1970s and 1980s. It used a tagged storage scheme to implement a capability architecture, and was designed for the safe and efficient implementation of strongly typed procedures. The hardware was custom and microprogrammable, with an operating system, (modular) compiler, editor, garbage collector and filing system all written in ALGOL 68RS. There were (at least) two incarnations of Flex, implemented using hardware with writable microcode. The first was supplied by Logica to an RSRE design, and the second used an ICL PERQ. The microcode alone was responsible for storage allocation, deallocation and garbage collection. This immediately precluded a whole class of errors arising from the misuse (deliberate or accidental) of pointers. A notable feature of Flex was the tagged, write-once filestore. This allowed arbitrary ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Multi-paradigm Programming Language
Programming languages can be grouped by the number and types of Programming paradigm, paradigms supported. Paradigm summaries A concise reference for the programming paradigms listed in this article. * Concurrent programming language, Concurrent programming – have language constructs for concurrency, these may involve multi-threading, support for distributed computing, message passing, shared resources (including shared memory), or Futures and promises, futures ** Actor model, Actor programming – concurrent computation with ''actors'' that make local decisions in response to the environment (capable of selfish or competitive behaviour) * Constraint programming – relations between variables are expressed as constraints (or constraint networks), directing allowable solutions (uses constraint satisfaction or simplex algorithm) * Dataflow, Dataflow programming – forced recalculation of formulas when data values change (e.g. spreadsheets) * Declarative programming – describes ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Pascal (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 after French mathematician, philosopher and physicist Blaise Pascal. Pascal was developed on the pattern of the ALGOL 60 language. Wirth was involved in the process to improve the language as part of the ALGOL X efforts and proposed a version named ALGOL W. This was not accepted, and the ALGOL X process bogged down. In 1968, Wirth decided to abandon the ALGOL X process and further improve ALGOL W, releasing this as Pascal in 1970. On top of ALGOL's scalars and arrays, Pascal enables defining complex datatypes and building dynamic and recursive data structures such as lists, trees and graphs. Pascal has strong typing on all objects, which means that one type of data cannot be converted to or interpreted as another without explicit conversions ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Scotland
Scotland is a Countries of the United Kingdom, country that is part of the United Kingdom. It contains nearly one-third of the United Kingdom's land area, consisting of the northern part of the island of Great Britain and more than 790 adjacent Islands of Scotland, islands, principally in the archipelagos of the Hebrides and the Northern Isles. To the south-east, Scotland has its Anglo-Scottish border, only land border, which is long and shared with England; the country is surrounded by the Atlantic Ocean to the north and west, the North Sea to the north-east and east, and the Irish Sea to the south. The population in 2022 was 5,439,842. Edinburgh is the capital and Glasgow is the most populous of the cities of Scotland. The Kingdom of Scotland emerged as an independent sovereign state in the 9th century. In 1603, James VI succeeded to the thrones of Kingdom of England, England and Kingdom of Ireland, Ireland, forming a personal union of the Union of the Crowns, three kingdo ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Programming Language
A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually defined by a formal language. Languages usually provide features such as a type system, Variable (computer science), variables, and mechanisms for Exception handling (programming), error handling. An Programming language implementation, implementation of a programming language is required in order to Execution (computing), execute programs, namely an Interpreter (computing), interpreter or a compiler. An interpreter directly executes the source code, while a compiler produces an executable program. Computer architecture has strongly influenced the design of programming languages, with the most common type (imperative languages—which implement operations in a specified order) developed to perform well on the popular von Neumann architecture. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Mainframe Computer
A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterprise resource planning, and large-scale transaction processing. A mainframe computer is large but not as large as a supercomputer and has more processing power than some other classes of computers, such as minicomputers, server (computing), servers, workstations, and personal computers. Most large-scale computer-system architectures were established in the 1960s, but they continue to evolve. Mainframe computers are often used as servers. The term ''mainframe'' was derived from the large cabinet, called a ''main frame'', that housed the central processing unit and main computer memory, memory of early computers. Later, the term ''mainframe'' was used to distinguish high-end commercial computers from less powerful machines. Design Modern mainfr ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


ALGOL 60
ALGOL 60 (short for ''Algorithmic Language 1960'') 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 one of the first languages implementing function definitions (that could be invoked recursively). ALGOL 60 function definitions could be nested within one another (which was first introduced by any programming language), with lexical scope. It gave rise to many other languages, including CPL, PL/I, Simula, BCPL, B, Pascal, and C. Practically every computer of the era had a systems programming language based on ALGOL 60 concepts. Niklaus Wirth based his own ALGOL W on ALGOL 60 before moving to develop Pascal. Algol-W was intended to be the next generation ALGOL but the ALGOL 68 committee decided on a design that was more complex and advanced rather than a cleaned ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]