[comp.lang.misc] More info on a language.

opsjoe@cs.Buffalo.EDU (Joe Gallagher) (01/10/89)

Hello!!
	I am trying to gather more information on the language:  S-Algol.  I
just picked up a copy of the book by Cole and Morrison and was intrigued by
this little Algol-type language.  Has anyone implemented a compiler??  Does
anyone have a way for me to contact the authors to collect more information?
I would appreciate any help or info anyone could send to me.

								Sincerely,
								Joe Gallagher

jack@cs.glasgow.ac.uk (Jack Campin) (01/11/89)

opsjoe@cs.Buffalo.EDU (Joe Gallagher) wrote:
>  	I am trying to gather more information on the language:  S-Algol.  I
>  just picked up a copy of the book by Cole and Morrison and was intrigued by
>  this little Algol-type language.  Has anyone implemented a compiler?? 

St. Andrews isn't on USENET, so I guess we're the best place to ask.  S-algol
has been implemented on many machines - see Morrison's "Recursive Descent
Compiling" (Wiley/Ellis Horwood) for a detailed description of the compiler -
but has been superseded for many years.

What superseded it is PS-algol, which was developed on a multi-site project
comprising this institution, St.Andrews and ICL.  PS-algol has almost the same
syntax as S-algol, but adds the following:

higher-order procedures, where contexts are handled correctly (I think Scheme
	does something similar, and probably got the idea from the same
	source, namely SASL);

"tables", an associative data type, which can store any complex object under a
	string or integer key;

persistence, which allows these tables to exist on disk and survive between
	program runs with minimal programmer effort - you never need to encode
	data structures into file structures;

bitmap image types, which make writing simple user interface code far easier
	than the syntactic drudgery of things like X and the Mac Toolbox.

The first three concepts interact to give the effect of a typed module
mechanism.

PS-algol has been ported to many Unixes (we mostly use the Sun version), the
Mac, VMS (defunct), and VME2900 (with many nice extensions added by ICL:
transactions, access to VME facilities, elaborate monitoring mechanisms).
I don't know the details of availability; because of our Alvey Programme
contract, ICL owns a lot of the rights.

The manual is awful and even the update of the Cole and Morrison book (due out
soon, I forget from where) gives only a fairly trivial idea of what you can do
with it.  We have used it to prototype many data models (complete with
graphical user interfaces), object-oriented DBs (and here our prototypes often
outperform the "production" versions!), and language systems (lazy and strict
functional languages and - my current work - an Eiffel-like language).
Aberdeen University have integrated it with Prolog; they use the resulting
system for expert system development (they have a big demonstrator ES in
chemical synthesis).  Most of our experiments are described in technical
reports; I append a list of them that I posted to comp.doc.techreports a few
months ago.


Persistent Programming Research Reports
***************************************

This series was started in May 1983.  The following lists reports which have
been produced at 20th April 1988.  Copies of documents in this list may be
obtained by writing to one of:

	The Secretary
	Persistent Programming Research Group
	Department of Computing Science
	University of Glasgow
	Glasgow G12 8QQ
	Scotland
or
	The Secretary
	Persistent Programming Research Group
	Department of Computational Science
	University of St.Andrews
	North Haugh
	St.Andrews KY16 9SS
	Scotland

All prices are in pounds sterling.

*******************************************************************************

PPRR-1-88(#1.00)   The Persistent Object Management System
	M.P.Atkinson, P.J.Bailey, K.J.Chisholm, W.P.Cockshott and R.Morrison

PPRR-2-83(#1.00)   PS-algol Papers: a collection of related papers on PS-algol
	M.P.Atkinson, P.Bailey, W.P.Cockshott, K.J.Chisholm and R.Morrison

PPRR-5-83(#1.00)   Experimenting with the Functional Data Model
	M.P.Atkinson and K.G.Kulkarni

PPRR-6-83(#1.00)   A DBS Architecture Supporting Coexisting User Interfaces:
		   Description and Examples
	P.E.Hepp

PPRR-7-83(#1.00)   EFDM (Extended Functional Data Model) - User Manual
	K.G.Kulkarni

PPRR-8-84(#2.00)   Progress with Persistent Programming
	M.P.Atkinson, P.J.Bailey, W.P.Cockshott, K.J.Chisholm and R.Morrison

PPRR-9-84(#1.00)   Procedures as Persistent Data Objects
	M.P.Atkinson and R.Morrison

PPRR-10-84(#1.00)  A Persistent Graphics Facility for the ICL PERQ
	R.Morrison, A.L.Brown, P.J.Bailey, A.J.T.Davie and A.Dearle

PPRR-11-85(#1.00)  PS-algol Abstract Machine Manual

PPRR-12-87(#2.00)  PS-algol Reference Manual  -  fourth edition

PPRR-13-85(#2.00)  CPOMS - a revised version of the Persistent Object
		   Management System in C
	A.L.Brown and W.P.Cockshott

PPRR-14-86(#1.00)  An Integrated Graphics Programming Environment (2nd ed)
	R.Morrison, A.L.Brown, A.Dearle and M.P.Atkinson

PPRR-15-85(#1.00)  The Persistent Store as an Enabling Technology for an
		   Integrated Project Support Environment
	R.Morrison, A.Dearle, P.J.Bailey, A.L.Brown and M.P.Atkinson

PPRR-16-85(#15.00)  Proceedings of the Persistence and Data Types Workshop,
		    Appin, August 1985
	ed. M.P.Atkinson, O.P.Buneman and R.Morrison

PPRR-17-85(#3.00)  Database Programming Language Design
	M.P.Atkinson and O.P.Buneman

PPRR-18-85(#2.00)  The Persistent Store Machine
	W.P.Cockshott

PPRR-19-85(#1.00)  Integrated Persistent Programming Systems
	M.P.Atkinson and R.Morrison

PPRR-20-85(#1.00)  Building a Microcomputer with Associative Virtual Memory
	W.P.Cockshott

PPRR-21-85(#1.00)  A Persistent Information Space Architecture
	M.P.Atkinson, R.Morrison and G.D.Pratten

PPRR-22-86(#1.00)  Inheritance and Persistence in Database Programming
		   Languages
	O.P.Buneman and M.P.Atkinson

PPRR-23-86(#1.00)  Implementation Issues in Persistent Graphics
	A.L.Brown and A.Dearle

PPRR-24-86(#1.00)  Using a Persistent Environment to Maintain a Bibliographic
		   Database
	R.L.Cooper, M.P.Atkinson and S.M.Blott

PPRR-25-87(#1.00)  Applications Programming in PS-algol
	R.L.Cooper

PPRR-26-86(#1.00)  Exception Handling in a Persistent Programming Language
	P.Philbrow and M.P.Atkinson

PPRR-27-87(#1.00)  A Context Sensitive Addressing Model
	A.J.Hurst

PPRR-28-86b(#1.00) A Domain Theoretic Approach to Higher-Order Relations
	O.P.Buneman and A.Ohori

PPRR-29-86(#1.00)  A Persistent Store Garbage Collector with Statistical
		   Facilities
	J.Campin and M.P.Atkinson

PPRR-30-86(#1.00)  Data Types for Data Base Programming
	O.P.Buneman

PPRR-31-86(#1.00)  An Introduction to PS-algol Programming
	R.Carrick, A.J.Cole and R.Morrison

PPRR-32-87(#1.00)  Polymorphism, Persistence and Software Reuse in a Strongly
		   Typed Object Oriented Environment
	R.Morrison, A.L.Brown, R.C.H.Connor and A.Dearle

PPRR-33-87(#1.00)  Safe Browsing in a Strongly Typed Persistent Environment
	A.Dearle and A.L.Brown

PPRR-34-87(#1.00)  Constructing Database Systems in a Persistent Environment
	R.L.Cooper, M.P.Atkinson, A.Dearle and D.Abderrahmane

PPRR-35-87(#1.00)  A Persistent Architecture Intermediate Language
	A.Dearle

PPRR-36-87(#1.00)  Persistent Information Architectures
	M.P.Atkinson, R.Morrison and G.D.Pratten

PPRR-37-87(#1.00)  PS-algol Machine Monitoring
	Z.Loboz

PPRR-38-87(#1.00)  Flexible Incremental Bindings in a Persistent Object Store
	R.Morrison, M.P.Atkinson and A.Dearle

PPRR-39-87(#1.00)  Polymorphic Persistent Processes
	R.Morrison, Barter, C.J., A.L.Brown, R.Carrick, R.C.H.Connor,
	A.Dearle, A.J.Hurst and M.J.Livesey

PPRR-40-87(#1.00)  Andrew, Unix and Educational Computing
	W.J.Hansen

PPRR-41-87(#1.00)  Factors that Affect Reading and Writing with Personal
		   Computers and Workstations
	W.J.Hansen and C.Haas

PPRR-42-87(#1.00)  A Practical Algebra for Substring Expressions
	W.J.Hansen

PPRR-43-87(#1.00)  The NESS Reference Manual
	W.J.Hansen

PPRR-44-87(#20.00)  Persistent Object Systems: their design, implementation
		    and use. (Proceedings of the Appin Workshop August 1987)
	ed. M.P.Atkinson, O.P.Buneman and R.Morrison

PPRR-45-87(#1.00)  Delayed Binding and Type Checking in Database Programming
		   Languages
	M.P.Atkinson, O.P.Buneman and R.Morrison

PPRR-46-87(#1.00)  Transactions and Concurrency
	G.L.Krablin

PPRR-47-87(#1.00)  Persistent Information Space Architecture - PISA Club Rules
	M.P.Atkinson, J.R.Lucking, R.Morrison and G.D.Pratten

PPRR-48-87(#1.00)  An Event-Driven Software Architecture
	Q.Cutts and G.Kirby

PPRR-49-87(#1.00)  An Implementation of Multiple Inheritance in a Persistent
		   Environment
	P.J.Benson, E.B.D'Souza, I.S.Rennie and S.J.Waddell

PPRR-50-87(#1.00)  A Distributed Stable Store
	A.L.Brown

PPRR-51-87(#1.00)  Constructing Compilers in a Persistent Environment
	A.Dearle

PPRR-52-87(#1.00)  Lgen, Pgen and Sgen - Language Development Tools for
		   a Persistent Programming Environment
	S.M.Blott and J.Campin

PPRR-53-87(#1.00)  Polymorphic Names and Iterations
	M.P.Atkinson and R.Morrison

PPRR-54-87(#1.00)  A Requirements Modelling Tool Built in PS-algol
	R.L.Cooper and M.P.Atkinson

PPRR-55-87(#1.00)  A Persistent Software Database with Version Control
	R.L.Cooper and M.P.Atkinson

PPRR-56-87(#1.00)  User Interface Tools in PS-algol
	R.L.Cooper, D.K.McFarlane and S.Ahmed

PPRR-57-88(#1.00)  On the Integration of Object-Oriented and Process-Oriented
		   Computation in Persistent Environments
	R.Morrison, A.L.Brown, R.Carrick, R.C.H.Connor and A.Dearle

PPRR-58-88(#1.00)  The Napier Type-Checking Module
	R.C.H.Connor

PPRR-59-88(1.00)  The Persistent Abstract Machine
	A.L.Brown, R.Carrick, R.C.H.Connor, A.Dearle & R.Morrison
-- 
ARPA: jack%cs.glasgow.ac.uk@nss.cs.ucl.ac.uk          USENET: jack@glasgow.uucp
JANET:jack@uk.ac.glasgow.cs      useBANGnet: ...mcvax!ukc!cs.glasgow.ac.uk!jack
Mail: Jack Campin, Computing Science Dept., Glasgow Univ., 17 Lilybank Gardens,
      Glasgow G12 8QQ, SCOTLAND     work 041 339 8855 x 6045; home 041 556 1878