Computing Science

Computing Science

COMPUTING SCIENCE Reminiscences of Whetstone ALGOL Brian Randell TECHNICAL REPORT SERIES No. CS-TR-1190 February, 2010 TECHNICAL REPORT SERIES No. CS-TR-1190 February, 2010 Reminiscences of Whetstone ALGOL B. Randell Abstract These reminiscences centre on the implementation, by Lawford Russell and myself, of an ALGOL 60 compiler for the English Electric KDF9 Computer in the early 1960s. However details are also given of preceding work on so-called "automatic programming", and of other contemporary ALGOL compiler projects. © 2010 University of Newcastle upon Tyne. Printed and published by the University of Newcastle upon Tyne, Computing Science, Claremont Tower, Claremont Road, Newcastle upon Tyne, NE1 7RU, England. Bibliographical details RANDELL, B Reminisences of Whetstone ALGOL [By] B. Randell Newcastle upon Tyne: University of Newcastle upon Tyne: Computing Science, 2010. (University of Newcastle upon Tyne, Computing Science, Technical Report Series, No. CS-TR-1190) Added entries UNIVERSITY OF NEWCASTLE UPON TYNE Computing Science. Technical Report Series. CS-TR-1190 Abstract These reminiscences centre on the implementation, by Lawford Russell and myself, of an ALGOL 60 compiler for the English Electric KDF9 Computer in the early 1960s. However details are also given of preceding work on so- called "automatic programming", and of other contemporary ALGOL compiler projects. About the author Brian’s earliest work, during the period 1957-1964 while he was at English Electric, was on compilers. This led to the book: Algol 60 Implementation . (Co-author L. J. Russell). Academic Press, London, 1964. He then joined IBM T.J. Watson Research Center, Yorktown Heights, N.Y. where, with an intervening year during 1965-66 in California, he worked on high performance computer architectures (the ACS Project), then on operating systems and system design methodology. During this time, and shortly after he returned to the UK to become Professor of Computing Science at the University of Newcastle upon Tyne. He was co-editor of the reports on the two NATO Software Engineering Conferences. In 1971 Brian set up the project that initiated research into the possibility of software fault tolerance, and introduced the "recovery block" concept. Subsequent major developments included the Newcastle Connection, and the prototype distributed Secure System. He has been Principal Investigator on a succession of research projects on system dependability funded by the Science Research Council (now Engineering and Physical Sciences Research Council), the Ministry of Defence, the European Strategic Programme of Research in Information Technology (ESPRIT), and the European Information Society Technologies (IST) Programme. Most recently Brian has performed the role of Project Director for CaberNet (the IST Network of Excellence on Distributed Computing Systems Architectures) and for two IST Research Projects, MAFTIA (Malicious- and Accidental-Fault Tolerance for Internet Applications) and DSoS (Dependable Systems of Systems). Subsequently he was involved with the RODIN IST project, and the ReSIST IST Network of Excellence . Brian’s current computing science research continues to be focused on Dependability (for example on failure analysis) and, to a lesser extent, on the History of Computing. Suggested keywords COMPILERS KDF9 ALGOL 60 E.W. DIJKSTRA ! '$($2 ( 2!)!!# 323)( !./01/! # !D@3#!.(($5 1217!)!!3# !4&$3$)(!)!!3# !./01/!E@!1 0)13!! ?@!.5( !1)"1''$("!0 $&$23!01)40!! #$%!&'(!! @)'043 1!@)(2 153$)(!)$ 37! #4127!AC3#!F(417!B@A@! ?1$(!( &&!!F1$(81( &&9(&884%G! M 623& !($5 12$37 ! ! )!*#+!',-(%!.-/0!1/22(3(!,$!"456!78!9$32,+'!92(1&-,1!&/!:-/3-#0!$;12(#-!-(#1&/-! 1/%(+!/$!<9=>9?!@',+!*#+!#&!&'(,-!A&/0,1!B/*(-!<,C,+,/$!,$!D'(&+&/$(E!F;+&!/;&+,%(! G(,1(+&(-?!H/*(C(-E!)!.,-+&!+:($&!&'(!+;00(-!*,&'!)IJ!#&!&'(,-!0#,$!G/$%/$!/..,1(+E! *',1'!*(-(!,$!D,30/-(!K&-((&E!7(',$%!K(2.-,%3(+!<(:#-&0($&!K&/-(?! A&!)IJ!)!:-/3-#00(%!#$%!/:(-#&(%!#!L5M!1/0:;&(-E!#&!&'(!&,0(!)IJN+!/$28! 1/0:;&(-!,$!&'(!=O?!@'(,-!L5M!*#+!:-/;%28!,$+&#22(%!7(',$%!2#-3(!:2#&(!32#++! *,$%/*+E!*'(-(!,&!#&&-#1&(%!3-(#&!#&&($&,/$!.-/0!&'(!:#++(-+!78?!A.&(-!&'(!+2((P! 2,$(+!/.!&'(!L5ME!*,&'!,&+!+,0:2(!#$%!+&-#,3'&./-*#-%!:-/3-#00,$3!.#1,2,&,(+E!#$%!,&+! 32/++8!:-,$&(%!%/1;0($&#&,/$E!&'(!<9=>9N+!*/-P0#$2,P(!1#7,$(&-8E!,&+!7,$#-8Q2(C(2! :-/3-#00,$3E!#$%!,&+!%;:2,1#&(%!#$%!+&#:2(%!&8:(*-,&&($!0#$;#2+E!1#0(!#+!-#&'(-!#! +'/1P!&/!0(!*'($!)!#--,C(%!#&!D'(&+&/$(!,$!&'(!#;&;0$!/.!"456?! @'(!<9=>9E!9$32,+'!92(1&-,1N+!.,-+&!1/0:;&(-E!*#+!2#-3(28!7#+(%!/$!A2#$!@;-,$3N+! "4R5E!,?(?!:/+&QI2(&1'2(8!B#-PE!:2#$+!#&!SBG!./-!&'(!A>9!1/0:;&(-!T@;-,$3!"4R5U?!)&! &'(-(./-(!%,..(-(%!3-(#&28!.-/0!F;+&!#7/;&!#22!,&+!1/$&(0:/-#-,(+E!7/&'!I-,&,+'!#$%! A0(-,1#$?!@'(!#$1(+&-8!/.!&'(+(!/&'(-!0#1',$(+!1/;2%!#22!7(!&-#1(%!7#1P!0/-(!/-! 2(++!%,-(1&28!&/!&'(!*/-P!/.!C/$!S(;0#$$!#$%!',+!1/22(#3;(+!/$!&'(!%(+,3$!./-! 9<VA>!#&!&'(!J//-(!K1'//2!/.!&'(!=$,C(-+,&8!/.!B($$+82C#$,#!TC/$!S(;0#$$!"4R5U?! )$!:#-&,1;2#-E!<9=>9N+!%(+,3$!(0:'#+,+(%!1/0:;&#&,/$!+:((%!#$%!'#-%*#-(! (1/$/08?!@'(!#++;0:&,/$!*#+!&'#&!:-/3-#00(-+!*/;2%!7(!*,22,$3!#$%!#72(!&/!&#P(! .;22!#%C#$&#3(!/.!&'(!0#1',$(N+!C(-8!2/*Q2(C(2!./-0!/.!:-/3-#00,$3?!@',+!,$C/2C(%! */-P,$3!,$!7,$#-8E!#$%!%,-(1&28!1/$&-/22,$3!&'(!&,0,$3!/.!7-,$3,$3!/:(-#$%+!&/! .;$1&,/$!;$,&+!#$%!/.!,$,&,#&,$3!&'(!/:(-#&,/$!/.!&'(+(!;$,&+!W!,$!(..(1&!#!./-0!/.!*'#&! 2#&(-!1#0(!&/!7(!P$/*$!#+!0,1-/:-/3-#00,$3?!@'(!(..(1&!*#+!&'#&E!,$!&'(!'#$%+!/.! #$!(X:(-&!:-/3-#00(-E!<9=>9!1/;2%!1/$+,%(-#728!/;&:(-./-0!/&'(-!1/0:;&(-+!/.! 7#+,1#228!+,0,2#-!'#-%*#-(!+:((%?!! )!#$%!#!.(22/*!0#&'+!3-#%;#&(!.-/0!)0:(-,#2!>/22(3(E!J,P(!O(228E!*'/!F/,$(%! D'(&+&/$(!#&!&'(!+#0(!&,0(!#+!0(E!+//$!1#0(!&/!-(3#-%!<9=>9!*,&'!#..(1&,/$E!(C($! #+!#!3,#$&!&/8?!K/!*(!%,%!$/&!1/$.,$(!/;-!:-/3-#00,$3!&/!$;12(#-!-(#1&/-!1/%(+E!7;&! ,$+&(#%E!/$!/;-!/*$!,$,&,#&,C(E!*-/&(!$;0(-/;+!%(0/$+&-#&,/$!:-/3-#0+E!#$%! ! "! +&#-&(%!,$C(+&,3#&,$3!'/*!*(!1/;2%!3(&!<9=>9!&/!'(2:!*,&'!+/0(!/.!&'(!0/-(! %(&#,2(%!12(-,1#2!#+:(1&+!/.!,&+!/*$!:-/3-#00,$3?!! <9=>9!*#+!,$!.#1&!$/&!/$28!%,..,1;2&!&/!:-/3-#0E!,&!*#+!#2+/!C(-8!%,..,1;2&!&/!1/0:,2(! ./-?!J/+&!/.!&'(!&'($Q(X,+&,$3!#,%+!&/!:-/3-#00,$3!<9=>9!*(-(!,$&(-:-(&(-+!-#&'(-! &'#$!1/0:,2(-+?!@'(!(..(1&,C($(++!/.!&'(+(!,$&(-:-(&(-+!%(:($%(%!/$!&'(!1/+&!/.!&'(! ,$&(-:-(&#&,/$!2//:!-(2#&,C(!&/!&'(!C#2;(!/.!&'(!,$%,C,%;#2!,$&(-:-(&(%!/:(-#&,/$+?! @';+!SBGN+!,$&(-:-(&(-!1/$&-/22,$3!(X(1;&,/$!/.!#!+(&!/.!Z(..,1,($&28!'#$%Q1/%(%[! 2,$(#-!#23(7-#!-/;&,$(+!*#+!C(-8!1/+&!(..(1&,C(E!#$%!7(,$3!#2+/!1/$C($,($&!*#+! '(#C,28!;+(%!T\/7,$+/$!"4LMU?!A&!&'(!/&'(-!($%!/.!&'(!+:(1&-;0!*#+!A2:'#1/%(E!#$! ,$&(-:-(&(-!&'#&!'#%!7(($!%(C(2/:(%!./-!#!+,0:2(!2#$3;#3(!./-!.2/#&,$3!:/,$&!+1#2#-! #-,&'0(&,1!T<($,+/$!"4LMU?!@',+!*#+!$/-0#228!;+(%!/$28!./-!+0#22!/$(Q/..! 1#21;2#&,/$+!+,$1(!:-/3-#0+!*-,&&($!,$!,&!*(-(!&8:,1#228!/-%(-+!/.!0#3$,&;%(!+2/*(-! &'#$!&'(!(];,C#2($&!'#$%Q/:&,0,+(%!0#1',$(!1/%(?! @'(!.#1&!&'#&!<9=>9E!2,P(!#22!&'(!(#-2,(+&!0#1',$(+E!%,%!$/&!'#C(!#$8!7;,2&Q,$!.2/#&,$3Q :/,$&!#-,&'0(&,1!*#+!C(-8!+,3$,.,1#$&?!@'(-(!*(-(!+;7-/;&,$(+!./-!&'(!C#-,/;+!7#+,1! .2/#&,$3Q:/,$&!#-,&'0(&,1!/:(-#&,/$+?!I;&!,$!&'(!,$&(-(+&+!/.!(..,1,($18!0#$8! 1#21;2#&,/$+!*(-(!2#7/-,/;+28!:-/3-#00(%!;+,$3!.,X(%Q:/,$&!#-,&'0(&,1?!)$%((%!*(! :-/3-#00(-+!-(3#-%(%!&'(!;+(!/.!.2/#&,$3!:/,$&!#20/+&!#+!1'(#&,$3E!#$%!&'(!1/0,$3! /.!'#-%*#-(!.2/#&,$3!:/,$&!#+!0/-(!/.!#!1'#22($3(!&'#$!#$!/::/-&;$,&8?!A3#,$+&!&',+! 7#1P3-/;$%!J,P(!#$%!)!1#0(!;:!*,&'!#!1/0:-/0,+(!+/2;&,/$!&'#&!&//P!#%C#$&#3(!/.! +/0(!:(1;2,#-!<9=>9!'#-%*#-(!.(#&;-(+!,$!/-%(-!&/!:-/%;1(!#!C(-8!.#+&!,$&(-:-(&(-E! #27(,&!F;+&!./-!.,X(%Q:/,$&!1/0:;&#&,/$+?!ZA+!)!-(1#22!,&E!&'(!0#,$!2//:!/.!/;-! ,$&(-:-(&(-!'#%!/$28!.,C(!,$+&-;1&,/$+E!*'(-(#+!0/-(!1/$C($&,/$#2!,$&(-:-(&(-+! &8:,1#228!(0:2/8(%!2//:+!,$C/2C,$3!.,.&8!&/!#!';$%-(%!,$+&-;1&,/$+?[!<(+:,&(! 0#$#3(0($&!/::/+,&,/$!W!#$%!,$%((%!&'-(#&+!/.!%,+0,++#2!W!*(!:-(++(%!/$!*,&'!/;-! ,%(#+E!#$%!0#,$28!,$!/;-!/*$!&,0(!%(C(2/:(%!#!+8+&(0E!*',1'!*(!1#22(%!9AK)>^<9! TO(228!#$%!\#$%(22!"4LME!"4LYU?!! 9AK)>^<9!*#+!+/!+;11(++.;2E!:#-&,1;2#-28!#0/$3!&'(!+1,($&,+&+!#$%!($3,$((-+!*'/! *(-(!&'(!0#,$!1/0:;&(-!;+(-+!#&!D'(&+&/$(E!&'#&!78!&'(!&,0(!&'(!O<_4!1#0(!/$&/! &'(!'/-,`/$E!)!*#+!,$!1'#-3(!/.!#!+0#22!aA;&/0#&,1!B-/3-#00,$3!<(:#-&0($&b?! G#*./-%!\;++(22!'#%!F/,$(%!0(E!-(:2#1,$3!J,P(!O(228!*'/!'#%!2(.&!./-!:#+&;-(+!$(*! #&!)IJ!Z*'(-(!'(!:;&!',+!3-(#&!1/%,$3!+P,22+!&/!%(C(2/:,$3!&'(!0,1-/1/%(!./-!*'#&! 7(1#0(!&'(!K8+&(0!cLMdRM[?!J/-(/C(-E!&'(-(!*#+!.;22!0#$#3(0($&!+;::/-&!./-!;+! &/!(X(-1,+(!/;-!+P,22+!#$%!($&';+,#+0+!/$!&',+!(X1,&,$3!$(*!1/0:;&(-?! ^$(!,0:/-&#$&!#+:(1&!/.!/;-!($C,-/$0($&!*#+!&'#&!*(!*(-(!*/-P,$3!,$!C(-8!12/+(! :-/X,0,&8!&/!&'(!;+(-+!/.!/;-!:-/3-#0+E!#$%!'#%!(X&($+,C(!(X:(-,($1(!/.!/:(-#&,$3! /;-!/*$!#$%!/&'(-!:(/:2(N+!:-/3-#0+!/$!&'(!<9=>9?!D(!&'(-(./-(!'#%!%(C(2/:(%! +&-/$3!Z+(2.Q%(.($+,C([!C,(*+!/$!&'(!$((%!./-!:-/3-#0+!&/!7(!-/7;+&!W!,$!&'(!.#1(!/.! ,$:;&E!/:(-#&/-!#$%!'#-%*#-(!(--/-+E!#$%!./-!&'(0!&/!:-/C,%(!0(#$,$3.;2!.((%7#1P! &/!;+(-+!*'($(C(-!:/++,72(?!ZG,&&2(!%,%!)!P$/*!&'#&!+;1'!(X:(-,($1(+!#$%!C,(*+! */;2%!+&-/$328!,$.2;($1(!0/+&!/.!08!+;7+(];($&!1#-((-E!$/&!F;+&!/;-!:2#$+!./-! O<_4?[! ! Y! O<_4!*#+!#!.2/#&,$3!:/,$&!0#1',$(E!*,&'!#!+(&!/.!"L!',3'!+:((%!-(3,+&(-+E!/-3#$,+(%! #+!#!+0#22!#-,&'0(&,1!+&#1P!/-!:;+'%/*$!+&/-(E!&/3(&'(-!*,&'!#$/&'(-!+(&!#1&,$3!#+!#! :;+'%/*$!+&/-(!./-!+;7-/;&,$(!-(&;-$!#%%-(++(+?!K/!,&!*#+!C(-8!%,..(-($&!.-/0! <9=>9E!#$%!,$%((%!#22!/&'(-!1/0:;&(-+?!ZK;:(-.,1,#228!,&!'#%!+,0,2#-,&,(+!*,&'!&'(! 1/$&(0:/-#-8!I;--/;3'+!I5MMME!7;&!,$!.#1&!,&!:-(+($&(%!#!C(-8!%,..(-($&!#$%!'#-%(-! 1'#22($3(!&/!1/0:,2(-!*-,&(-+!&'#$!&'(!I5MMM?[!)$%((%E!#+!*,&'!<9=>9E!1#-(.;228!

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us