As far as artifacts go, I was on a 9 mo. sabbatical at Waterloo when the big change took place (and having a daughter, to boot).  Coming back to the labs was a bigger culture shock than going to Canada!  Most of the B programs I had worked on, including Yacc, had become C programs in my absence.

I suspect that was the fate of many of the B sources -- a couple of hours editing, and they became C programs.   Remember that early C did not have strong typing.  The few B programs I converted, I remember the biggest difficulty was with character handling -- * was used in B formats rather than % in C formats.

A harder artifact might be finding early C programs.  Dennis was brilliant in the way he morphed everyone along with minimal pain, and I tried to do the same with PCC.   To introduce a new incompatible feature, first of all build a compiler where both the old and new features both work.  Tell people that the old stuff still works, but sell the new stuff.  After a few weeks, add an informational message along the lines of "Deprecated usage, use ....".   Stay in this stage for several months, perhaps increasing the emphasis of the message gradually.  Then tell people that the old stuff will stop working in 2 weeks.  And in 2 weeks, make the informational message a fatal error (but don't remove the old code yet...).   Then, a while later, leave the message but remove the old code.

It amazed me how quickly and (relatively) painless this process was...  It did mean more work for the compiler writer, though.  The transition from using hex constants as addresses in the kernel to using strongly typed structure pointers was especially hairy.

Steve



----- Original Message -----
From:
"Clem Cole" <clemc@ccc.com>

To:
"Robert Swierczek" <rmswierczek@gmail.com>
Cc:
"TUHS main list" <tuhs@minnie.tuhs.org>
Sent:
Tue, 12 Sep 2017 15:24:05 -0400
Subject:
Re: [TUHS] B Source Code


BTW:  Check out:   ybc: a compiler for B

On Tue, Sep 12, 2017 at 2:14 PM, Clem Cole <clemc@ccc.com> wrote:
Poke around the Honeywell archives.  I believe that there was at least one implementation of QED and a runoff flavor that I saw.   As I believe Steve Johnson has mentioned,iIt was popular at Waterloo at one point - so check with the Waterloo folks. In fact, I had thought that Mike Malcom used it for Thoth, QNX's predecessor. 

On Tue, Sep 12, 2017 at 2:03 PM, Robert Swierczek <rmswierczek@gmail.com> wrote:
Does anyone know of the existence of source code written in B (C's predecessor?)

I have encountered a few snippets here and there, but nothing
substantial.  The only "real" program that I know of is AberMUD-1.  It
looks like there exists a physical print-out of it:

https://dropsafe.crypticide.com/article/12714

Could it be that this is the only artifact left of this most important
"missing link" of C and Unix History?  How can this (and any other B
source) be gathered and preserved?