BCPL in the new millenium (was: Proposal3: Make $_ avalididentifier cha...

JArchibald at aol.com JArchibald at aol.com
Fri Jun 2 19:54:13 UTC 2000


=> 6/2/00 3:25:56 PM, Alan.Kay at disney.com =>
<< BTW, the really interesting language back then was BCPL's "god" -- called 
CPL -- originally for: Cambridge Programming Language (later "Combined Prog 
Lang"), with many of the major design ideas by Christopher Strachey and Peter 
Landin. >>

Alan,

I don't think CPL ever really flew (it could only walk fast). I do think it 
was one of the most well thought-out language efforts we have ever seen 
(Algol  68  and Ada supporters notwithstanding). I do believe Dana Scott had 
a hand in this, as I always heard of Scott-Strachey mentioned as if they were 
joined at the hip. I remember substantial discussion on the principles put 
forth by Scott and Strachey (whose books every programming language designer 
should know about, along with Landin's work).

Martin Richards was of course the prime mover (and as far as I have been able 
to determine, the only mover) behind BCPL (Basic Combined Programming 
Language), and as far as I know this was used in many efforts in Britain 
also, notably at St. Andrews was it formed the back-bone of SASL, a 
functional extension (Combinatory Logic and all) of BCPL. BCPL was 
essentially CPL in a type-less version, all the control logic and scoping was 
there; it just introduced a very simple cellular model for memory (which few 
have done better). I also think (not sure here) the abbreviations (+=, =+, 
etc) began with BCPL, and were not in CPL.

Re the comment by others on the $( and $). At IBM Research we always used a 
pre-process front-end that I threw together that ate '[' and ']' and emitted 
the ubiqitous $( and $) (and a few other trivial such things). So our BCPL 
program looked a lot like Smalltalk programs do today, with the 'blocks' of 
BCPL being the 'blocks' of Smalltalk.

I remember the first time I read a Smalltalk program, from one of the orange 
covered research reports from PARC. When I saw the syntax for the block, I 
said to myself, "Well, they got that part right, at least."  :-)

Cheers,
Jerry.





More information about the Squeak-dev mailing list