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.
Paradigms | Multi-paradigm: Procedural, imperative, structured |
---|---|
Family | ALGOL |
Designed by | Ron Morrison, Fred Brown, Richard Connor, Al Dearle |
Developer | University of St Andrews |
First appeared | 1988 |
Implementation language | S-algol |
Influenced by | |
ALGOL 60, S-algol, PS-algol |
Its influence lives on in various other systems however; the CORBA type ANY
is distinctly recognisable in Napier88's type ANY
; Microsoft's Common Language Runtime (CLR) uses a similar polymorphic architecture, and Java's parametric types solve some of the same problems of uninstantiated types escaping from their static scope.
History
Napier88 was the third of a family of languages designed and implemented by Morrison at St Andrews, following on from S-algol and PS-algol.
Further reading
- Morrison, R; Connor, RCH; Kirby, GNC; Munro, DS; Atkinson, MP; Cutts, QI; Brown, AL; Dearle, A. (1999), "The Napier88 Persistent Programming Language and Environment" (pdf), in Atkinson, MP; Welland, R (eds.), Fully Integrated Data Environments, Esprit Basic Research Series, Springer, pp. 98–154, ISBN 3-540-65772-X
- Dearle, A (1988). On the Construction of Persistent Programming Environments (pdf) (PhD). Computational Science Department, University of St. Andrews.
- Dearle, A.; Connor, R.C.H.; Brown, A.L.; Morrison, R (1989), "Napier88 - A Database Programming Language?" (pdf), Proc. 2nd International Workshop on Database Programming Languages, Salishan, Oregon, pp. 179–195
- Morrison, R; Brown, AL; Connor, RCH; Cutts, QI; Dearle, A; Kirby, GNC; Munro, DS (1996), Napier88 Reference Manual (Release 2.2.1) (pdf) (technical report), University of St Andrews
- Kirby, GNC; Brown, AL; Connor, RCH; Cutts, QI; Dearle, A; Dunstan, VS; Morrison, R; Munro, DS (1996), Napier88 Standard Library Reference Manual (Release 2.2.1) (pdf) (report), University of St Andrews
- Bushell, SJ; Dearle, A; Brown, AL; Vaughan, FA (1994), "Using C as a Compiler Target Language for Native Code Generation in Persistent Systems" (pdf), in Atkinson, MP; Maier, D; Benzaken, V (eds.), Proc. 6th International Workshop on Persistent Object Systems (POS6), Tarascon, France, Springer-Verlag, pp. 164–183