The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [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-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-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-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-15  4:20 [TUHS] b remnants? Jason Stevens
2011-10-15  4:37 ` Gregg Levine
2011-10-15  8:44 ` Michael Davidson
  -- 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-14 18:23 Jason Stevens
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).