The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] b remnants?
@ 2011-10-14 18:23 Jason Stevens
  0 siblings, 0 replies; 21+ messages in thread
From: Jason Stevens @ 2011-10-14 18:23 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2656 bytes --]

I didn't see it as immeditaly obvious on slackware 1.0 ... or SLS .. it very
well may have been some addon or something somehwere....

If anyone knew it's filename that'd go a long long way! :)

-----Original Message-----
From: Derrik Walker [mailto:lorddoomicus@mac.com]
Sent: Friday, October 14, 2011 12:36 PM
To: Gregg Levine
Cc: tuhs at minnie.tuhs.org
Subject: Re: [TUHS] b remnants?




On Oct 14, 2011, at 11:53 AM, Gregg Levine <gregg.drwho8 at gmail.com> wrote:

> On Fri, Oct 14, 2011 at 11:34 AM, Derrik Walker <lorddoomicus at mac.com>
wrote:
> > Many, many eons ago, in the early '90's, there was an implementation of
B
> > for Linux ( I believe it was written in C, ironically enough ).  I think
it
> > was part of a bigger collection of "ancient" software for Linux that use
to
> > be around in the early Slackware days.
> >
> > Alas, I have searched for it in the recent past, as I was thinking about
> > porting it to OS X for kicks, but it seems to have vanished.
> >
> > Having an B, implemented in a modern language for a modern OS would be
cool.
> >
>
>
> Hello!
> How early a time period for the Slackware Linux group? (Which is what
> I run.) There's a repository of older distributions on the Ibib site,
> and a more comprehensive one situated on a mirror in the UK.

It would have been around '92 or '93, back when Slackware really only
provided a very basic boot system, gcc, some fancy scripts, and a crap load
of tarballs to compile everything.  I'm not even sure it was part of the
Slackware collection, it might have been something someone added to the
server - I didn't build that computer.

It was an experimental system at CSU, where I was going to school at the
time - and the first actually Linux computer I ever had an account on.  One
of the older professors had a bunch of B code he got from someplace and put
the compiler on there to see if he could get it to build.  I remember he
also put f2c on there too as he had a tape full of Fortran code he wanted to
compile.

But, for all I know, he may have written the B compiler himself, but I seem
to remember him telling me about this collection of ancient software for
Linux that someone else had written, and he had gotten it up and running on
the experimental Linux system.  Just not sure how faulty my memory is.  I
just remember looking at B, and asking why he just doesn't covert it to C?

Funny thing was, some of the younger professors were complaining saying the
preferred their "REAL UNIX".

Unfortunately, he as long since retired.  And that Computer was retired when
they moved the main Student system from HPUX to Redhat in the late '90's.

- Derrik




^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-15  3:57 ` A. P. Garcia
  2011-10-15  4:57   ` Andru Luvisi
  2011-10-15  8:54   ` Michael Davidson
@ 2011-11-01 16:24   ` Tim Bradshaw
  2 siblings, 0 replies; 21+ messages in thread
From: Tim Bradshaw @ 2011-11-01 16:24 UTC (permalink / raw)


On 15 Oct 2011, at 04:57, A. P. Garcia wrote:

> What intrigued me about this is that it's such an early example of an
> abstract machine running as an interpreter. BCPL, roughly
> contemporaneous, used ocode as an intermediate language, but it seems
> this was intended to be further translated into assembly. While it's
> possible to interpret ocode, in practice it seems this was rare, if it
> was done at all.

I think there was at least one system which interpreted O-code (ocode?): the BCPL system for the BBC micro.  That machine was pretty short of RAM (32k but the screen and OS ate a significant chunk of that, at least in some screen modes) but had a good deal of ROM, and I think the ocode interpreter lived in ROM (as well, I assume as the BCPL compiler, though that might itself have been an ocode program on a floppy, I'm not sure).  I learnt BCPL on that platform.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-17 16:18   ` Al Kossow
@ 2011-10-17 16:29     ` Gregg C Levine
  0 siblings, 0 replies; 21+ messages in thread
From: Gregg C Levine @ 2011-10-17 16:29 UTC (permalink / raw)


Hello!
Okay with that in mind, what about someone (or something) creating an FPGA
based Xerox Alto?

---
Gregg C Levine hansolofalcon at att.net
"This signature is not the same one. Move along! Move along!"


> -----Original Message-----
> From: tuhs-bounces at minnie.tuhs.org [mailto:tuhs-bounces at minnie.tuhs.org]
On
> Behalf Of Al Kossow
> Sent: Monday, October 17, 2011 12:19 PM
> To: tuhs at minnie.tuhs.org
> Subject: Re: [TUHS] b remnants?
> 
> On 10/15/11 9:41 AM, Gregg Levine wrote:
> 
> > With today's FPGA technology someone should revive the TX-0 and the
> > TX-1 that way......
> >
> 
> I assume you meant TX-2. There was never a TX-1.
> TX-0 simulation was working in MESS, there is code around for TX-0
> including a couple of games.
> TX-2 was a moving target. The instruction set changed quite a bit during
> its lifetime and little code is available. There has been interest in the
> past for trying to revive Sketchpad, but Ivan Sutherland isn't interested
> in releasing the code when I've talked to him about it.
> One of the more interesting east to west coast connections is the TX-2
> BCPL compiler was the basis for the BCPL on the Xerox Alto.
> 
> _______________________________________________
> TUHS mailing list
> TUHS at minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs




^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-15 16:41 ` Gregg Levine
@ 2011-10-17 16:18   ` Al Kossow
  2011-10-17 16:29     ` Gregg C Levine
  0 siblings, 1 reply; 21+ messages in thread
From: Al Kossow @ 2011-10-17 16:18 UTC (permalink / raw)


On 10/15/11 9:41 AM, Gregg Levine wrote:

> With today's FPGA technology someone should revive the TX-0 and the
> TX-1 that way......
>

I assume you meant TX-2. There was never a TX-1.
TX-0 simulation was working in MESS, there is code around for TX-0
including a couple of games.
TX-2 was a moving target. The instruction set changed quite a bit during
its lifetime and little code is available. There has been interest in the
past for trying to revive Sketchpad, but Ivan Sutherland isn't interested
in releasing the code when I've talked to him about it.
One of the more interesting east to west coast connections is the TX-2
BCPL compiler was the basis for the BCPL on the Xerox Alto.




^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-15 16:14 Jason Stevens
@ 2011-10-15 16:41 ` Gregg Levine
  2011-10-17 16:18   ` Al Kossow
  0 siblings, 1 reply; 21+ messages in thread
From: Gregg Levine @ 2011-10-15 16:41 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 5698 bytes --]

On Sat, Oct 15, 2011 at 12:14 PM, Jason Stevens
<jsteve at superglobalmegacorp.com> wrote:
> Yep, dungeon runs great on RT-11 ... I've docuemnted the experence here...
>
> http://virtuallyfun.superglobalmegacorp.com/?p=169
>
> Building the fortran compiler was... an adventure onto its own, but luckily
> I found some documentation @ bitsavers, and could ask on the PDP11 lists for
> help... I'm amazed it compiled and runs! ..
>
> Oh and TripOS is the BCPL based OS that ran on all kinds of machines, it was
> very portable, the best known port would be AmigaDOS for the Commodore
> Amiga.  I wonder if it was licensing fees and BCPL/TripOS being based in the
> UK what seperated them from C/Unix... I guess we'd be living in the B++, B#
> and ObjectiveB world if it wasn't for DMR's wonderful world of C .. :)
>
>
> -----Original Message-----
> From: Gregg Levine [mailto:gregg.drwho8 at gmail.com]
> Sent: Saturday, October 15, 2011 12:37 AM
> To: tuhs at minnie.tuhs.org
> Cc: Jason Stevens
> Subject: Re: [TUHS] b remnants?
>
>
> On Sat, Oct 15, 2011 at 12:20 AM, Jason Stevens
> <jsteve at superglobalmegacorp.com> wrote:
>> Wasn't the other 'advantage' of threaded/pcode that it'd be smaller than a
>> native executable?
>>
>> I know it's out of left field, but building Dungeon on RT-11, you have to
>> use the treaded compiler, and I assume it was a space thing.. Just as on
>> MS-DOS (Yeah I know...) a save for fitting stuff in 64kb for the later
>> compilers was to compile to p-code..
>>
>> Wikipedia gives p-code for Pascal a timeframe of the 'early 70's and
>> attribes the whole interpeted code as O-Code for BCPL ....
>>
>> I wonder if anyone ever did save any TripOS tapes for the PDP-11.....
>>
>> -----Original Message-----
>> From: A. P. Garcia [mailto:a.phillip.garcia at gmail.com]
>> Sent: Friday, October 14, 2011 11:58 PM
>> To: tuhs at minnie.tuhs.org
>> Subject: Re: [TUHS] b remnants?
>>
>>
>> On Fri, Oct 14, 2011 at 9:52 AM, A. P. Garcia
>> <a.phillip.garcia at gmail.com> wrote:
>>>
>>> In memoriam, I read The Development of the C Language:
>>> http://cm.bell-labs.com/who/dmr/chist.html
>>>
>>> It talks a bit about how B was originally implemented somewhat like
>>> ETH Pascal (p-code). Are there any B interpreters or programs in the
>>> archive?
>>
>> What intrigued me about this is that it's such an early example of an
>> abstract machine running as an interpreter. BCPL, roughly
>> contemporaneous, used ocode as an intermediate language, but it seems
>> this was intended to be further translated into assembly. While it's
>> possible to interpret ocode, in practice it seems this was rare, if it
>> was done at all. Almost everything I've read about abstract/vitual
>> machines traces its roots back to the following source:
>>
>> James R. Bell. 1973. Threaded code. Commun. ACM 16, 6 (June 1973),
>> 370-372. DOI=10.1145/362248.362270
>> http://doi.acm.org/10.1145/362248.362270
>>
>> Here's where dmr mentions implementing B using this technique:
>>
>> The B compiler on the PDP-7 did not generate machine instructions, but
>> instead `threaded code' [Bell 72], an interpretive scheme in which the
>> compiler's output consists of a sequence of addresses of code
>> fragments that perform the elementary operations. The operations
>> typically-in particular for B-act on a simple stack machine.
>>
>> Note he says it was published in 1972, when it actually appeared in
>> print in 1973 (same page numbers). Two paragraphs later he writes:
>>
>> By 1970, the Unix project had shown enough promise that we were able
>> to acquire the new DEC PDP-11. The processor was among the first of
>> its line delivered by DEC, and three months passed before its disk
>> arrived. Making B programs run on it using the threaded technique
>> required only writing the code fragments for the operators, and a
>> simple assembler which I coded in B; ; soon, dc became the first
>> interesting program to be tested, before any operating system, on our
>> PDP-11. Almost as rapidly, still waiting for the disk, Thompson
>> recoded the Unix kernel and some basic commands in PDP-11 assembly
>> language. Of the 24K bytes of memory on the machine, the earliest
>> PDP-11 Unix system used 12K bytes for the operating system, a tiny
>> space for user programs, and the remainder as a RAM disk. This version
>> was only for testing, not for real work; the machine marked time by
>> enumerating closed knight's tours on chess boards of various sizes.
>> Once its disk appeared, we quickly migrated to it after
>> transliterating assembly-language commands to the PDP-11 dialect, and
>> porting those already in B.
>>
>> The abstract machine is also mentioned in Thompson's "Users' Reference
>> to B", dated January 7, 1972. If the 1970 date is correct, they were
>> using this technique some three years before most of the computing
>> world knew about it!?
>
> Hello!
> This discussion is beginning to strike a heck of a lot of chords.
> Jason what is this TripOS you are describing here about? And did you
> actually get Dungeon to work?
>
> -----
> Gregg C Levine gregg.drwho8 at gmail.com
> "This signature fought the Time Wars, time and again."
>

Hello!
Well as it happens I looked up BCPL via Google and got this Wikipedia page:
http://en.wikipedia.org/wiki/BCPL That one lead to this one:
http://en.wikipedia.org/wiki/TX-2 which of course goes here:
http://en.wikipedia.org/wiki/TX-0 that one mentions how the PDP-1 came
about. The TX-0 is the direct ancestor to the PDP-1.

With today's FPGA technology someone should revive the TX-0 and the
TX-1 that way......


-----
Gregg C Levine gregg.drwho8 at gmail.com
"This signature fought the Time Wars, time and again."



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
@ 2011-10-15 16:14 Jason Stevens
  2011-10-15 16:41 ` Gregg Levine
  0 siblings, 1 reply; 21+ messages in thread
From: Jason Stevens @ 2011-10-15 16:14 UTC (permalink / raw)


Yep, dungeon runs great on RT-11 ... I've docuemnted the experence here...

http://virtuallyfun.superglobalmegacorp.com/?p=169

Building the fortran compiler was... an adventure onto its own, but luckily
I found some documentation @ bitsavers, and could ask on the PDP11 lists for
help... I'm amazed it compiled and runs! .. 

Oh and TripOS is the BCPL based OS that ran on all kinds of machines, it was
very portable, the best known port would be AmigaDOS for the Commodore
Amiga.  I wonder if it was licensing fees and BCPL/TripOS being based in the
UK what seperated them from C/Unix... I guess we'd be living in the B++, B#
and ObjectiveB world if it wasn't for DMR's wonderful world of C .. :)


-----Original Message-----
From: Gregg Levine [mailto:gregg.drwho8@gmail.com]
Sent: Saturday, October 15, 2011 12:37 AM
To: tuhs at minnie.tuhs.org
Cc: Jason Stevens
Subject: Re: [TUHS] b remnants?


On Sat, Oct 15, 2011 at 12:20 AM, Jason Stevens
<jsteve at superglobalmegacorp.com> wrote:
> Wasn't the other 'advantage' of threaded/pcode that it'd be smaller than a
> native executable?
>
> I know it's out of left field, but building Dungeon on RT-11, you have to
> use the treaded compiler, and I assume it was a space thing.. Just as on
> MS-DOS (Yeah I know...) a save for fitting stuff in 64kb for the later
> compilers was to compile to p-code..
>
> Wikipedia gives p-code for Pascal a timeframe of the 'early 70's and
> attribes the whole interpeted code as O-Code for BCPL ....
>
> I wonder if anyone ever did save any TripOS tapes for the PDP-11.....
>
> -----Original Message-----
> From: A. P. Garcia [mailto:a.phillip.garcia at gmail.com]
> Sent: Friday, October 14, 2011 11:58 PM
> To: tuhs at minnie.tuhs.org
> Subject: Re: [TUHS] b remnants?
>
>
> On Fri, Oct 14, 2011 at 9:52 AM, A. P. Garcia
> <a.phillip.garcia at gmail.com> wrote:
>>
>> In memoriam, I read The Development of the C Language:
>> http://cm.bell-labs.com/who/dmr/chist.html
>>
>> It talks a bit about how B was originally implemented somewhat like
>> ETH Pascal (p-code). Are there any B interpreters or programs in the
>> archive?
>
> What intrigued me about this is that it's such an early example of an
> abstract machine running as an interpreter. BCPL, roughly
> contemporaneous, used ocode as an intermediate language, but it seems
> this was intended to be further translated into assembly. While it's
> possible to interpret ocode, in practice it seems this was rare, if it
> was done at all. Almost everything I've read about abstract/vitual
> machines traces its roots back to the following source:
>
> James R. Bell. 1973. Threaded code. Commun. ACM 16, 6 (June 1973),
> 370-372. DOI=10.1145/362248.362270
> http://doi.acm.org/10.1145/362248.362270
>
> Here's where dmr mentions implementing B using this technique:
>
> The B compiler on the PDP-7 did not generate machine instructions, but
> instead `threaded code' [Bell 72], an interpretive scheme in which the
> compiler's output consists of a sequence of addresses of code
> fragments that perform the elementary operations. The operations
> typically-in particular for B-act on a simple stack machine.
>
> Note he says it was published in 1972, when it actually appeared in
> print in 1973 (same page numbers). Two paragraphs later he writes:
>
> By 1970, the Unix project had shown enough promise that we were able
> to acquire the new DEC PDP-11. The processor was among the first of
> its line delivered by DEC, and three months passed before its disk
> arrived. Making B programs run on it using the threaded technique
> required only writing the code fragments for the operators, and a
> simple assembler which I coded in B; ; soon, dc became the first
> interesting program to be tested, before any operating system, on our
> PDP-11. Almost as rapidly, still waiting for the disk, Thompson
> recoded the Unix kernel and some basic commands in PDP-11 assembly
> language. Of the 24K bytes of memory on the machine, the earliest
> PDP-11 Unix system used 12K bytes for the operating system, a tiny
> space for user programs, and the remainder as a RAM disk. This version
> was only for testing, not for real work; the machine marked time by
> enumerating closed knight's tours on chess boards of various sizes.
> Once its disk appeared, we quickly migrated to it after
> transliterating assembly-language commands to the PDP-11 dialect, and
> porting those already in B.
>
> The abstract machine is also mentioned in Thompson's "Users' Reference
> to B", dated January 7, 1972. If the 1970 date is correct, they were
> using this technique some three years before most of the computing
> world knew about it!?

Hello!
This discussion is beginning to strike a heck of a lot of chords.
Jason what is this TripOS you are describing here about? And did you
actually get Dungeon to work?

-----
Gregg C Levine gregg.drwho8 at gmail.com
"This signature fought the Time Wars, time and again."



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-15  8:54   ` Michael Davidson
@ 2011-10-15 14:12     ` Gregg Levine
  0 siblings, 0 replies; 21+ messages in thread
From: Gregg Levine @ 2011-10-15 14:12 UTC (permalink / raw)


On Sat, Oct 15, 2011 at 4:54 AM, Michael Davidson
<michael_davidson at pacbell.net> wrote:
>
> --- On Fri, 10/14/11, A. P. Garcia <a.phillip.garcia at gmail.com> wrote:
>
> What intrigued me about this is that it's such an early example of an
> abstract machine running as an interpreter. BCPL, roughly
> contemporaneous, used ocode as an intermediate language, but it seems
> this was intended to be further translated into assembly. While it's
> possible to interpret ocode, in practice it seems this was rare, if it
> was done at all.
>
> Not sure if anyone ever interpreted ocode - by the time I encountered BCPL in the mid 1970's the "porting kit" consisted of the BCPL compiler along with an ocode to intcode translator, a reference intcode interpreter written in BCPL and of course, the intcode for the compiler. To bootstrap on a new machine you implemented an intcode interpreter - probably in assembler and, initially, ran the intcode version of the compiler until you had implemented an ocode to machine code translator for your system.
>
> All of this is described in the Richards / Whitby-Strevens book.
>
> Michael Davidson
>
>
> _______________________________________________
> TUHS mailing list
> TUHS at minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs
>

Hello!
I just ran a Google search (naturally) using the term BCPL, and found
an interesting set of pages. The Wikipedia page on it contains some
darned interesting things. Take for example the TX0 and TX1 computers.
The PDP-1 descends from one of them.

The first MUD was written using BCPL, which I suspect would be right
down a certain correspondent's alley.
-----
Gregg C Levine gregg.drwho8 at gmail.com
"This signature fought the Time Wars, time and again."



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-15  3:57 ` A. P. Garcia
  2011-10-15  4:57   ` Andru Luvisi
@ 2011-10-15  8:54   ` Michael Davidson
  2011-10-15 14:12     ` Gregg Levine
  2011-11-01 16:24   ` Tim Bradshaw
  2 siblings, 1 reply; 21+ messages in thread
From: Michael Davidson @ 2011-10-15  8:54 UTC (permalink / raw)


--- On Fri, 10/14/11, A. P. Garcia <a.phillip.garcia at gmail.com> wrote:

What intrigued me about this is that it's such an early example of an
abstract machine running as an interpreter. BCPL, roughly
contemporaneous, used ocode as an intermediate language, but it seems
this was intended to be further translated into assembly. While it's
possible to interpret ocode, in practice it seems this was rare, if it
was done at all. 
Not sure if anyone ever interpreted ocode - by the time I encountered BCPL in the mid 1970's the "porting kit" consisted of the BCPL compiler along with an ocode to intcode translator, a reference intcode interpreter written in BCPL and of course, the intcode for the compiler. To bootstrap on a new machine you implemented an intcode interpreter - probably in assembler and, initially, ran the intcode version of the compiler until you had implemented an ocode to machine code translator for your system.

All of this is described in the Richards / Whitby-Strevens book.

Michael Davidson

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20111015/937517b4/attachment.html>


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-15  4:20 Jason Stevens
  2011-10-15  4:37 ` Gregg Levine
@ 2011-10-15  8:44 ` Michael Davidson
  1 sibling, 0 replies; 21+ messages in thread
From: Michael Davidson @ 2011-10-15  8:44 UTC (permalink / raw)


--- On Fri, 10/14/11, Jason Stevens <jsteve at superglobalmegacorp.com> wrote:

I wonder if anyone ever did save any TripOS tapes for the PDP-11..... 

Martin Richards still has links to some Tripos stuff here: http://www.cl.cam.ac.uk/~mr10/Archive.html and lots of other things (including, of course, BCPL) on his home page here: http://www.cl.cam.ac.uk/~mr10/

Michael Davidson

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20111015/ea352d5b/attachment.html>


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-14 14:52 A. P. Garcia
                   ` (2 preceding siblings ...)
  2011-10-15  3:57 ` A. P. Garcia
@ 2011-10-15  6:20 ` Greg 'groggy' Lehey
  3 siblings, 0 replies; 21+ messages in thread
From: Greg 'groggy' Lehey @ 2011-10-15  6:20 UTC (permalink / raw)


On Friday, 14 October 2011 at  9:52:21 -0500, A. P. Garcia wrote:
> Hi,
>
> In memoriam, I read The Development of the C Language:
> http://cm.bell-labs.com/who/dmr/chist.html

This paper is interesting not only for the evolution of C, but also
for the evolution of Unix.  I've learnt a lot.

Greg
--
Sent from my desktop computer
Finger grog at FreeBSD.org for PGP public key.
See complete headers for address and phone numbers.
This message is digitally signed.  If your Microsoft MUA reports
problems, please read http://tinyurl.com/broken-mua
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20111015/2b38e665/attachment.sig>


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-15  3:57 ` A. P. Garcia
@ 2011-10-15  4:57   ` Andru Luvisi
  2011-10-15  8:54   ` Michael Davidson
  2011-11-01 16:24   ` Tim Bradshaw
  2 siblings, 0 replies; 21+ messages in thread
From: Andru Luvisi @ 2011-10-15  4:57 UTC (permalink / raw)


On Fri, Oct 14, 2011 at 8:57 PM, A. P. Garcia
<a.phillip.garcia at gmail.com> wrote:
> What intrigued me about this is that it's such an early example of an
> abstract machine running as an interpreter.

For what it's worth, an abstract machine based implementation for
Algol 60 was published in 1964 in the book "Algol 60 Implementation"
by Randell and Russell.  It gives flowcharts, not source code.  I seem
to recall the book saying that a couple of different implementations
has been built from the same set of flowcharts.

If you're willing to count abstract machines meant for human use,
rather than as a compiler target, there was a floating point
"interpretive routine" for the EDSAC by 1951.  See the first edition
of "The Preparation of Programs for an Electronic Digital Computer" by
Wilkes, Wheeler, and Gill (though I think I remember seeing somewhere
that they had it by 1949, but I can't find the reference right now).
The idea being that you would run the "interpretive routine" and it
would run a bunch of instructions for a virtual machine that had
floating point support.

Andru



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-15  4:20 Jason Stevens
@ 2011-10-15  4:37 ` Gregg Levine
  2011-10-15  8:44 ` Michael Davidson
  1 sibling, 0 replies; 21+ messages in thread
From: Gregg Levine @ 2011-10-15  4:37 UTC (permalink / raw)


On Sat, Oct 15, 2011 at 12:20 AM, Jason Stevens
<jsteve at superglobalmegacorp.com> wrote:
> Wasn't the other 'advantage' of threaded/pcode that it'd be smaller than a
> native executable?
>
> I know it's out of left field, but building Dungeon on RT-11, you have to
> use the treaded compiler, and I assume it was a space thing.. Just as on
> MS-DOS (Yeah I know...) a save for fitting stuff in 64kb for the later
> compilers was to compile to p-code..
>
> Wikipedia gives p-code for Pascal a timeframe of the 'early 70's and
> attribes the whole interpeted code as O-Code for BCPL ....
>
> I wonder if anyone ever did save any TripOS tapes for the PDP-11.....
>
> -----Original Message-----
> From: A. P. Garcia [mailto:a.phillip.garcia at gmail.com]
> Sent: Friday, October 14, 2011 11:58 PM
> To: tuhs at minnie.tuhs.org
> Subject: Re: [TUHS] b remnants?
>
>
> On Fri, Oct 14, 2011 at 9:52 AM, A. P. Garcia
> <a.phillip.garcia at gmail.com> wrote:
>>
>> In memoriam, I read The Development of the C Language:
>> http://cm.bell-labs.com/who/dmr/chist.html
>>
>> It talks a bit about how B was originally implemented somewhat like
>> ETH Pascal (p-code). Are there any B interpreters or programs in the
>> archive?
>
> What intrigued me about this is that it's such an early example of an
> abstract machine running as an interpreter. BCPL, roughly
> contemporaneous, used ocode as an intermediate language, but it seems
> this was intended to be further translated into assembly. While it's
> possible to interpret ocode, in practice it seems this was rare, if it
> was done at all. Almost everything I've read about abstract/vitual
> machines traces its roots back to the following source:
>
> James R. Bell. 1973. Threaded code. Commun. ACM 16, 6 (June 1973),
> 370-372. DOI=10.1145/362248.362270
> http://doi.acm.org/10.1145/362248.362270
>
> Here's where dmr mentions implementing B using this technique:
>
> The B compiler on the PDP-7 did not generate machine instructions, but
> instead `threaded code' [Bell 72], an interpretive scheme in which the
> compiler's output consists of a sequence of addresses of code
> fragments that perform the elementary operations. The operations
> typically-in particular for B-act on a simple stack machine.
>
> Note he says it was published in 1972, when it actually appeared in
> print in 1973 (same page numbers). Two paragraphs later he writes:
>
> By 1970, the Unix project had shown enough promise that we were able
> to acquire the new DEC PDP-11. The processor was among the first of
> its line delivered by DEC, and three months passed before its disk
> arrived. Making B programs run on it using the threaded technique
> required only writing the code fragments for the operators, and a
> simple assembler which I coded in B; ; soon, dc became the first
> interesting program to be tested, before any operating system, on our
> PDP-11. Almost as rapidly, still waiting for the disk, Thompson
> recoded the Unix kernel and some basic commands in PDP-11 assembly
> language. Of the 24K bytes of memory on the machine, the earliest
> PDP-11 Unix system used 12K bytes for the operating system, a tiny
> space for user programs, and the remainder as a RAM disk. This version
> was only for testing, not for real work; the machine marked time by
> enumerating closed knight's tours on chess boards of various sizes.
> Once its disk appeared, we quickly migrated to it after
> transliterating assembly-language commands to the PDP-11 dialect, and
> porting those already in B.
>
> The abstract machine is also mentioned in Thompson's "Users' Reference
> to B", dated January 7, 1972. If the 1970 date is correct, they were
> using this technique some three years before most of the computing
> world knew about it!?

Hello!
This discussion is beginning to strike a heck of a lot of chords.
Jason what is this TripOS you are describing here about? And did you
actually get Dungeon to work?

-----
Gregg C Levine gregg.drwho8 at gmail.com
"This signature fought the Time Wars, time and again."



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
@ 2011-10-15  4:20 Jason Stevens
  2011-10-15  4:37 ` Gregg Levine
  2011-10-15  8:44 ` Michael Davidson
  0 siblings, 2 replies; 21+ messages in thread
From: Jason Stevens @ 2011-10-15  4:20 UTC (permalink / raw)


Wasn't the other 'advantage' of threaded/pcode that it'd be smaller than a
native executable?

I know it's out of left field, but building Dungeon on RT-11, you have to
use the treaded compiler, and I assume it was a space thing.. Just as on
MS-DOS (Yeah I know...) a save for fitting stuff in 64kb for the later
compilers was to compile to p-code..

Wikipedia gives p-code for Pascal a timeframe of the 'early 70's and
attribes the whole interpeted code as O-Code for BCPL ....

I wonder if anyone ever did save any TripOS tapes for the PDP-11..... 

-----Original Message-----
From: A. P. Garcia [mailto:a.phillip.garcia@gmail.com]
Sent: Friday, October 14, 2011 11:58 PM
To: tuhs at minnie.tuhs.org
Subject: Re: [TUHS] b remnants?


On Fri, Oct 14, 2011 at 9:52 AM, A. P. Garcia
<a.phillip.garcia at gmail.com> wrote:
>
> In memoriam, I read The Development of the C Language:
> http://cm.bell-labs.com/who/dmr/chist.html
>
> It talks a bit about how B was originally implemented somewhat like
> ETH Pascal (p-code). Are there any B interpreters or programs in the
> archive?

What intrigued me about this is that it's such an early example of an
abstract machine running as an interpreter. BCPL, roughly
contemporaneous, used ocode as an intermediate language, but it seems
this was intended to be further translated into assembly. While it's
possible to interpret ocode, in practice it seems this was rare, if it
was done at all. Almost everything I've read about abstract/vitual
machines traces its roots back to the following source:

James R. Bell. 1973. Threaded code. Commun. ACM 16, 6 (June 1973),
370-372. DOI=10.1145/362248.362270
http://doi.acm.org/10.1145/362248.362270

Here's where dmr mentions implementing B using this technique:

The B compiler on the PDP-7 did not generate machine instructions, but
instead `threaded code' [Bell 72], an interpretive scheme in which the
compiler's output consists of a sequence of addresses of code
fragments that perform the elementary operations. The operations
typically-in particular for B-act on a simple stack machine.

Note he says it was published in 1972, when it actually appeared in
print in 1973 (same page numbers). Two paragraphs later he writes:

By 1970, the Unix project had shown enough promise that we were able
to acquire the new DEC PDP-11. The processor was among the first of
its line delivered by DEC, and three months passed before its disk
arrived. Making B programs run on it using the threaded technique
required only writing the code fragments for the operators, and a
simple assembler which I coded in B; ; soon, dc became the first
interesting program to be tested, before any operating system, on our
PDP-11. Almost as rapidly, still waiting for the disk, Thompson
recoded the Unix kernel and some basic commands in PDP-11 assembly
language. Of the 24K bytes of memory on the machine, the earliest
PDP-11 Unix system used 12K bytes for the operating system, a tiny
space for user programs, and the remainder as a RAM disk. This version
was only for testing, not for real work; the machine marked time by
enumerating closed knight's tours on chess boards of various sizes.
Once its disk appeared, we quickly migrated to it after
transliterating assembly-language commands to the PDP-11 dialect, and
porting those already in B.

The abstract machine is also mentioned in Thompson's "Users' Reference
to B", dated January 7, 1972. If the 1970 date is correct, they were
using this technique some three years before most of the computing
world knew about it!?
_______________________________________________
TUHS mailing list
TUHS at minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-14 14:52 A. P. Garcia
  2011-10-14 15:34 ` Derrik Walker
  2011-10-14 18:06 ` Tim Newsham
@ 2011-10-15  3:57 ` A. P. Garcia
  2011-10-15  4:57   ` Andru Luvisi
                     ` (2 more replies)
  2011-10-15  6:20 ` Greg 'groggy' Lehey
  3 siblings, 3 replies; 21+ messages in thread
From: A. P. Garcia @ 2011-10-15  3:57 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2813 bytes --]

On Fri, Oct 14, 2011 at 9:52 AM, A. P. Garcia
<a.phillip.garcia at gmail.com> wrote:
>
> In memoriam, I read The Development of the C Language:
> http://cm.bell-labs.com/who/dmr/chist.html
>
> It talks a bit about how B was originally implemented somewhat like
> ETH Pascal (p-code). Are there any B interpreters or programs in the
> archive?

What intrigued me about this is that it's such an early example of an
abstract machine running as an interpreter. BCPL, roughly
contemporaneous, used ocode as an intermediate language, but it seems
this was intended to be further translated into assembly. While it's
possible to interpret ocode, in practice it seems this was rare, if it
was done at all. Almost everything I've read about abstract/vitual
machines traces its roots back to the following source:

James R. Bell. 1973. Threaded code. Commun. ACM 16, 6 (June 1973),
370-372. DOI=10.1145/362248.362270
http://doi.acm.org/10.1145/362248.362270

Here's where dmr mentions implementing B using this technique:

The B compiler on the PDP-7 did not generate machine instructions, but
instead `threaded code' [Bell 72], an interpretive scheme in which the
compiler's output consists of a sequence of addresses of code
fragments that perform the elementary operations. The operations
typically—in particular for B—act on a simple stack machine.

Note he says it was published in 1972, when it actually appeared in
print in 1973 (same page numbers). Two paragraphs later he writes:

By 1970, the Unix project had shown enough promise that we were able
to acquire the new DEC PDP-11. The processor was among the first of
its line delivered by DEC, and three months passed before its disk
arrived. Making B programs run on it using the threaded technique
required only writing the code fragments for the operators, and a
simple assembler which I coded in B; ; soon, dc became the first
interesting program to be tested, before any operating system, on our
PDP-11. Almost as rapidly, still waiting for the disk, Thompson
recoded the Unix kernel and some basic commands in PDP-11 assembly
language. Of the 24K bytes of memory on the machine, the earliest
PDP-11 Unix system used 12K bytes for the operating system, a tiny
space for user programs, and the remainder as a RAM disk. This version
was only for testing, not for real work; the machine marked time by
enumerating closed knight's tours on chess boards of various sizes.
Once its disk appeared, we quickly migrated to it after
transliterating assembly-language commands to the PDP-11 dialect, and
porting those already in B.

The abstract machine is also mentioned in Thompson's "Users' Reference
to B", dated January 7, 1972. If the 1970 date is correct, they were
using this technique some three years before most of the computing
world knew about it!?



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-14 15:34 ` Derrik Walker
  2011-10-14 15:53   ` Gregg Levine
@ 2011-10-14 20:08   ` John Cowan
  1 sibling, 0 replies; 21+ messages in thread
From: John Cowan @ 2011-10-14 20:08 UTC (permalink / raw)


Derrik Walker scripsit:

> Many, many eons ago, in the early '90's, there was an implementation
> of B for Linux ( I believe it was written in C, ironically enough ).
> I think it was part of a bigger collection of "ancient" software for
> Linux that use to be around in the early Slackware days.

The Retrocomputing Museum at http://www.catb.org/retro/ has what purports
to be a B-to-C translator at http://www.catb.org/retro/ , but looking
at it, it appears to be about BCPL rather than B proper.  In any case,
it has missing files and won't build.

-- 
John Cowan        http://ccil.org/~cowan   cowan at ccil.org
Lope de Vega: "It wonders me I can speak at all.  Some caitiff rogue
did rudely yerk me on the knob, wherefrom my wits yet wander."
An Englishman: "Ay, belike a filchman to the nab'll leave you
crank for a spell." --Harry Turtledove, Ruled Britannia



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-14 16:35     ` Derrik Walker
@ 2011-10-14 19:17       ` Jeremy C. Reed
  0 siblings, 0 replies; 21+ messages in thread
From: Jeremy C. Reed @ 2011-10-14 19:17 UTC (permalink / raw)


I saw that the 4.3BSD distribution of the User Contributed Software 
contained the B progamming language & environment from Stichting 
Mathematisch Centrum, Amsterdam. It is "the Mark1C implementation of B 
for Unix(c) systems." But now I see that is not the same B:

	B is a simple but powerful new programming language, designed 
	for use in personal computing. (Note: the name ``B'' is only a 
	temporary working title, and the new language bears no relation 
	to the predecessor of C.)




^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-14 14:52 A. P. Garcia
  2011-10-14 15:34 ` Derrik Walker
@ 2011-10-14 18:06 ` Tim Newsham
  2011-10-15  3:57 ` A. P. Garcia
  2011-10-15  6:20 ` Greg 'groggy' Lehey
  3 siblings, 0 replies; 21+ messages in thread
From: Tim Newsham @ 2011-10-14 18:06 UTC (permalink / raw)


> It talks a bit about how B was originally implemented somewhat like
> ETH Pascal (p-code). Are there any B interpreters or programs in the
> archive?

I don't know of any, but I do know there are some very early
versions of the C compiler dating back to around 1972 that you
can find source for and actually run.  They're quite a bit different
from modern C.  (Even the C present in 6th ed unix feels
a bit odd to a modern C programmer like myself, 7th ed starts
feeling more "normal").

> Thank you,
> A. P. Garcia
> _______________________________________________
> TUHS mailing list
> TUHS at minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs
>



-- 
Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-14 15:53   ` Gregg Levine
@ 2011-10-14 16:35     ` Derrik Walker
  2011-10-14 19:17       ` Jeremy C. Reed
  0 siblings, 1 reply; 21+ messages in thread
From: Derrik Walker @ 2011-10-14 16:35 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2430 bytes --]



On Oct 14, 2011, at 11:53 AM, Gregg Levine <gregg.drwho8 at gmail.com> wrote:

> On Fri, Oct 14, 2011 at 11:34 AM, Derrik Walker <lorddoomicus at mac.com> wrote:
> > Many, many eons ago, in the early '90's, there was an implementation of B
> > for Linux ( I believe it was written in C, ironically enough ).  I think it
> > was part of a bigger collection of "ancient" software for Linux that use to
> > be around in the early Slackware days.
> >
> > Alas, I have searched for it in the recent past, as I was thinking about
> > porting it to OS X for kicks, but it seems to have vanished.
> >
> > Having an B, implemented in a modern language for a modern OS would be cool.
> >
>
>
> Hello!
> How early a time period for the Slackware Linux group? (Which is what
> I run.) There's a repository of older distributions on the Ibib site,
> and a more comprehensive one situated on a mirror in the UK.

It would have been around '92 or '93, back when Slackware really only provided a very basic boot system, gcc, some fancy scripts, and a crap load of tarballs to compile everything.  I'm not even sure it was part of the Slackware collection, it might have been something someone added to the server - I didn't build that computer.

It was an experimental system at CSU, where I was going to school at the time - and the first actually Linux computer I ever had an account on.  One of the older professors had a bunch of B code he got from someplace and put the compiler on there to see if he could get it to build.  I remember he also put f2c on there too as he had a tape full of Fortran code he wanted to compile.

But, for all I know, he may have written the B compiler himself, but I seem to remember him telling me about this collection of ancient software for Linux that someone else had written, and he had gotten it up and running on the experimental Linux system.  Just not sure how faulty my memory is.  I just remember looking at B, and asking why he just doesn't covert it to C?

Funny thing was, some of the younger professors were complaining saying the preferred their "REAL UNIX".

Unfortunately, he as long since retired.  And that Computer was retired when they moved the main Student system from HPUX to Redhat in the late '90's.

- Derrik

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20111014/f5c18fc9/attachment.html>


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-14 15:34 ` Derrik Walker
@ 2011-10-14 15:53   ` Gregg Levine
  2011-10-14 16:35     ` Derrik Walker
  2011-10-14 20:08   ` John Cowan
  1 sibling, 1 reply; 21+ messages in thread
From: Gregg Levine @ 2011-10-14 15:53 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1585 bytes --]

On Fri, Oct 14, 2011 at 11:34 AM, Derrik Walker <lorddoomicus at mac.com> wrote:
> Many, many eons ago, in the early '90's, there was an implementation of B
> for Linux ( I believe it was written in C, ironically enough ).  I think it
> was part of a bigger collection of "ancient" software for Linux that use to
> be around in the early Slackware days.
>
> Alas, I have searched for it in the recent past, as I was thinking about
> porting it to OS X for kicks, but it seems to have vanished.
>
> Having an B, implemented in a modern language for a modern OS would be cool.
>
> - Derrik
>
> On Oct 14, 2011, at 10:52 AM, "A. P. Garcia" <a.phillip.garcia at gmail.com>
> wrote:
>
> Hi,
>
> In memoriam, I read The Development of the C Language:
> http://cm.bell-labs.com/who/dmr/chist.html
>
> It talks a bit about how B was originally implemented somewhat like
> ETH Pascal (p-code). Are there any B interpreters or programs in the
> archive?
>
>
> Thank you,
> A. P. Garcia
> _______________________________________________
> TUHS mailing list
> TUHS at minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs
>
> _______________________________________________
> TUHS mailing list
> TUHS at minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs
>
>

Hello!
How early a time period for the Slackware Linux group? (Which is what
I run.) There's a repository of older distributions on the Ibib site,
and a more comprehensive one situated on a mirror in the UK.

-----
Gregg C Levine gregg.drwho8 at gmail.com
"This signature fought the Time Wars, time and again."



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
  2011-10-14 14:52 A. P. Garcia
@ 2011-10-14 15:34 ` Derrik Walker
  2011-10-14 15:53   ` Gregg Levine
  2011-10-14 20:08   ` John Cowan
  2011-10-14 18:06 ` Tim Newsham
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 21+ messages in thread
From: Derrik Walker @ 2011-10-14 15:34 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1184 bytes --]

Many, many eons ago, in the early '90's, there was an implementation of B for Linux ( I believe it was written in C, ironically enough ).  I think it was part of a bigger collection of "ancient" software for Linux that use to be around in the early Slackware days.

Alas, I have searched for it in the recent past, as I was thinking about porting it to OS X for kicks, but it seems to have vanished.

Having an B, implemented in a modern language for a modern OS would be cool.

- Derrik

On Oct 14, 2011, at 10:52 AM, "A. P. Garcia" <a.phillip.garcia at gmail.com> wrote:

> Hi,
>
> In memoriam, I read The Development of the C Language:
> http://cm.bell-labs.com/who/dmr/chist.html
>
> It talks a bit about how B was originally implemented somewhat like
> ETH Pascal (p-code). Are there any B interpreters or programs in the
> archive?
>
>
> Thank you,
> A. P. Garcia
> _______________________________________________
> TUHS mailing list
> TUHS at minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20111014/c4240ddb/attachment.html>


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [TUHS] b remnants?
@ 2011-10-14 14:52 A. P. Garcia
  2011-10-14 15:34 ` Derrik Walker
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: A. P. Garcia @ 2011-10-14 14:52 UTC (permalink / raw)


Hi,

In memoriam, I read The Development of the C Language:
http://cm.bell-labs.com/who/dmr/chist.html

It talks a bit about how B was originally implemented somewhat like
ETH Pascal (p-code). Are there any B interpreters or programs in the
archive?


Thank you,
A. P. Garcia



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2011-11-01 16:24 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-14 18:23 [TUHS] b remnants? Jason Stevens
  -- strict thread matches above, loose matches on Subject: below --
2011-10-15 16:14 Jason Stevens
2011-10-15 16:41 ` Gregg Levine
2011-10-17 16:18   ` Al Kossow
2011-10-17 16:29     ` Gregg C Levine
2011-10-15  4:20 Jason Stevens
2011-10-15  4:37 ` Gregg Levine
2011-10-15  8:44 ` Michael Davidson
2011-10-14 14:52 A. P. Garcia
2011-10-14 15:34 ` Derrik Walker
2011-10-14 15:53   ` Gregg Levine
2011-10-14 16:35     ` Derrik Walker
2011-10-14 19:17       ` Jeremy C. Reed
2011-10-14 20:08   ` John Cowan
2011-10-14 18:06 ` Tim Newsham
2011-10-15  3:57 ` A. P. Garcia
2011-10-15  4:57   ` Andru Luvisi
2011-10-15  8:54   ` Michael Davidson
2011-10-15 14:12     ` Gregg Levine
2011-11-01 16:24   ` Tim Bradshaw
2011-10-15  6:20 ` Greg 'groggy' Lehey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).