Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 5/3/83; site ukc.UUCP Path: utzoo!linus!security!genrad!grkermit!masscomp!clyde!floyd!vax135!ukc!rde From: rde@ukc.UUCP Newsgroups: net.lang Subject: Re: Untyped languages? (BCPL) Message-ID: <4050@ukc.UUCP> Date: Thu, 12-Jan-84 11:51:19 EST Article-I.D.: ukc.4050 Posted: Thu Jan 12 11:51:19 1984 Date-Received: Sat, 14-Jan-84 02:57:53 EST References: <489@tekchips.UUCP> <2465@azure.UUCP> <224@kobold.UUCP> Organization: Computing Lab. Kent University, England Lines: 42 Some more information about BCPL. Since the mid 1970s, the operator '%' (percent) has been supported by virtually all compilers. This provides a partial solution to the byte addressing problem. x%y addresses the byte at offset y from word address x (on a VAX, this would be x*4+y, get it?) The byte addressing problems are still there, but they cause relatively few problems. They only rear their ugly head when calling operating systems, and when evaluating addresses using the LV (or @) address operator. Indexing is done by using the scaling operations provided by most hardware these days (e.g. index mode on a VAX). I have written a 4.1BSD compiler, and the code isn't bad at all (even though I say it myself). About CPL. The project died because there were too many people involved, not all in the same geographical location, with insufficient time to spend on development. The language isn't so very different from C, although (as one would expect) it is rather less terse. There are more control structures (no increased functionality, but it probably makes programs more readable than some of the awful for(....) constructs I have seen). Minor differences include things like multiple assignment that creates temporaries if there would be interaction.... a, b := b, a actually swaps a and b! If anyone is really interested, I could dig out more.... Bob Eager Computing Laboratory, University of Kent, Canterbury, UK. CT2 7NF. (secretary, BCPL User Group!!)