[net.lang] BCPL referenes ?

george@osu-eddie.UUCP (George Jones) (02/19/86)

Hi.  I just recieved a flier in the mail telling me that I can purchase
a BCPL compiler for my Amiga.  I am interested looking at the language
but have never seen one book on it, never seen one line of code in
articals, etc.   Could someone please point me to a good reference
book on the language.

Thanks
 -----------
 George M. Jones         cbosgd!osu-eddie!george (uucp)
 (614) 885-5102 (home)   george@ohio-state.csnet (csnet)
 (614) 457-8600 (work)   70003,2443              (CompusServe)
 

-- 
 -----------
 George M. Jones         cbosgd!osu-eddie!george (uucp)
 (614) 885-5102 (home)   george@ohio-state.csnet (csnet)
 (614) 457-8600 (work)   70003,2443              (CompusServe)
 

ken@rochester.UUCP (Ipse dixit) (02/21/86)

In article <1341@osu-eddie.UUCP> george@osu-eddie.UUCP (George Jones) writes:
>Hi.  I just recieved a flier in the mail telling me that I can purchase
>a BCPL compiler for my Amiga.  I am interested looking at the language
>but have never seen one book on it, never seen one line of code in
>articals, etc.   Could someone please point me to a good reference
>book on the language.

The book that I like is the one written by the language designer Martin
Richards and another person (?). I think it is "BCPL - the language and
its compiler". Sorry if I got some of the details wrong - the book is
in my office - but you will recognize the book as soon as you see it.

	Ken
-- 
UUCP: ..!{allegra,decvax,seismo}!rochester!ken ARPA: ken@rochester.arpa
Snail: Comp. of Disp. Sci., U. of Roch., NY 14627. Voice: Ken!

kim@mips.UUCP (Kim DeVaughn) (03/02/86)

> In article <1341@osu-eddie.UUCP> george@osu-eddie.UUCP (George Jones) writes:
> >Hi.  I just recieved a flier in the mail telling me that I can purchase
> >a BCPL compiler for my Amiga.  I am interested looking at the language
> >but have never seen one book on it, never seen one line of code in
> >articals, etc.   Could someone please point me to a good reference
> >book on the language.
> 
> The book that I like is the one written by the language designer Martin
> Richards and another person (?). I think it is "BCPL - the language and
> its compiler". Sorry if I got some of the details wrong - the book is
> in my office - but you will recognize the book as soon as you see it.

Yes.  Martin Richards and Colin Whitby-Strevens, Cambridge University Press,
1980.  It's cover is two shades of blue, soft-bound.  I got a copy ($20+) at
"Computer Literacy" on Lawrence Expressway in Sunnyvale, CA.  Their phone
number is 408-730-9955; they take phone-orders, MC, Visa, etc.

They only had the one copy, so be prepared for a Special-Order wait if
you decide to call them.

/kim

-- 

UUCP:  {decvax,ucbvax,ihnp4}!decwrl!mips!kim
DDD:   408-720-1700
USPS:  MIPS Computer Systems Inc,  930 Arques Av,  Sunnyvale, CA 94086

elh@vu-vlsi.UUCP (Edward L. Hepler) (03/05/86)

In article <1341@osu-eddie.UUCP>, george@osu-eddie.UUCP (George Jones) writes:
> Hi.  I just recieved a flier in the mail telling me that I can purchase
> a BCPL compiler for my Amiga.  I am interested looking at the language
> but have never seen one book on it, never seen one line of code in
> articals, etc.   Could someone please point me to a good reference
> book on the language.
> 
Try:

BCPL - the language and its compiler

by Martin Richards and Colin Whitby-Strevens
   Cambridge University Press
   1979

   ISBN 0 521 21965 5

Dr. Ed Hepler
Adjunct Prof.
Villanova Univ.
..!{psuvax1,pyrnj}!vu-vlsi!elh

oster@ucblapis.BERKELEY.EDU (David Phillip Oster) (03/12/86)

It is interesting that BCPL is rearing its ugly head again.  According to
histories of the C language I have seen published in Dr. Dobbs (interviews
with the creator)  C was invented because, among other reasons, nobody
could figure out how to do a decent BCPL compiler for a byte addressable
machine.  You see:

The BCPL model of reality is that the world is a giant array, so an
integer is also an address.  BCPL assumes that if you increment an integer
you get the next slot in the world array, i.e. that your on a machine with
word addressing (like a dec-10.)  Since an value can be used as either an
integer or an address, the best the BCPL compiler on the PDP-11 could do
was shift the value one spot left (multiply by two) when it was actually
being used as an address, and shift it back again immediately after.

The designer of C hated all that shifting and unshifting.  In C, you say
whether a value is a pointer or an integer, and if a pointer, what it is a
pointer to.  Incrementing a pointer does NOT necessarily add one to the
value, it adds enough to make the pointer point at the next one of
whatever thet pointer points at.  BCPL on the other hand forces
incrementing by one.

That was how things stood back when C was invented.  Has BCPL changed?  Is
it still as inappropriate for byte addressable machines (like the Amiga
with its 68000)?

--- David Phillip Oster
-----------------------  ``What do you look like when you aren't visualizing?''
Arpa: oster@lapis.berkeley.edu
Uucp: ucbvax!ucblapis!oster

daveh@cbmvax.UUCP (03/21/86)

BCPL on the Amiga is pretty much what you'd expect from BCPL .. a pain
in the #^%&^%@.  I haven't actually used a BCPL compiler on the Amiga,
but quite often C programs have to interface with BCPL code.  BCPL
pointers are pointers to 32-bit words, which means that to access them
in C you've got to >>2 and <<2.  They're always longword aligned
pointers from C's point of view, once converted, and this is why a good
deal of stuff on the Amiga, especially interfaces to AmigaDOS, must
be allocated as longword-aligned, using the AllocMem function from C.
My main point is that BCPL is still a DOG on byte-aligned systems.

-Dave Haynie/Commodore Technology