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