On Sat, 8/8/15, Kip Koon <computer...@sc.rr.com> wrote: > I have often wondered what the inspiration for the C Language was. BCPL -> > MCPL -> B -> c, quite an interesting list of languages.
Kip, As Noel mentioned, MCPL wasn't part of the evolution; it actually is pretty recent compared to the other three. > I had heard of B, but not BCPL and MCPL. Are there any write-ups, > manuals or articles on those three languages still around? Yes. There are copies of several different generations of BCPL reference manuals floating around online. I've come across at least three, not including the material in his current distribution of it: basically the original one by Richards, one by Gardner, and one done by XEROX. It's been a surprisingly widely used language for one that is so little known. The basic story is that Cambridge began developing a language calling it the Cambridge Programming Language. They joined forced with London University who was also working on language development and changed the name to Combined Programming Language. Richards defined a subset of the language with the intent that it be the implementation language for a CPL compiler and described it in his dissertation at Cambridge in '66. The following year he was at MIT and did the first implementation of this Basic CPL, or BCPL. This was at the same time as when the Multics project was in full force and Bell Labs was involved. If I'm not mistaken, there was a version of BCPL that ran on Multics, and I am guessing that's where Ken was exposed to it. When Bell Labs pulled out of Multics and Ken started playing around with the now famous "little used PDP-7" he created a language for it that was based on BCPL but I gather somewhat smaller because of the more limited resources on the PDP-7. That was B. Then Dennis decided to add types to B and the result was C. As near as I can tell, MCPL was something Richards was playing around with primarily about 10 years ago. I'm not sure, but from what I can tell, his most recent work has been on BCPL rather than MCPL, though as I mentioned, I'm finding I really like MCPL. Richards' pages for both languages are here: http://www.cl.cam.ac.uk/users/mr/BCPL.html http://www.cl.cam.ac.uk/users/mr/MCPL.html Among the resources he has there is a rather extensive document on running BCPL on the Raspberry Pi. http://www.cl.cam.ac.uk/users/mr/bcpl4raspi.pdf > Forth running on a homebrew 6809 system? How interesting! Yeah, it started as a weekend diversion doing a paper design of a 6809 SBC, and I ended up doing a couple turns of the boards and have a few lying around I play with from time to time. One of them is dedicated to running a TU-58 emulator for one of my LSI-11s. > I'd like > to find out the details about your homebrew 6809 system. I've got a rather skeletal collection of material on it here: http://www.cs.drexel.edu/~bls96/6809sbc/ > I'm working on a Kipper SBC that is based on Grant's > Simple6809 6 Chip 6809 Computer that I'm in the middle of > troubleshooting and any ideas to make this Kipper SBC better > is most appreciated. The main things that you might find interesting here relative to Grant's are the inclusion of a microSD card for storage, a design and layout that allows for either a 6809 or 6809E (with appropriate jumpering), and a little MMU for using 128KB of memory mapped into the lower 48KB space in pages of 16KB. The whole thing ends up being 11 (or 12 if you're running on an E) chips: 1 - 6809 processor 1 - 6821 parallel interface 1 - 16550 UART 1 - MAX232 RS232 level converter 1 - 2864 EEPROM 1 - 628128 128KB static RAM 1 - 7404 2 - 74138 2 - 74153 The '138s are for address decoding as you'd expect. The '153s are the MMU. If you do get some material up on your system, I'd love to look at it. BLS