History of UK DIY?

Mar 05, 2008 70 Replies

The message from snipped-for-privacy@cucumber.demon.co.uk (Andrew Gabriel) contains these words:

I don't think he ever posted in this ng under that name and I am sure Adam denied any connection but as the silly bugger actually e-mailed me under that name within a few weeks of surfacing as Adam I am sure it really is he. Whether that is his real name is another question entirely.

A google seach brings up only 7 hits and one of these is his fawning review of 'Who owns Britain'.

But not the normal way to port a BCPL compiler. If I remember correctly, there was a (portable) front end that produced an intermediate code, and all you had to do was write a tool to turn the intermediate code into machine code. The trick was that actually there were /two/ intermediate codes - a very simple one that was easy to interpret, and a more complex one that was easier to optimize.

Your "BCPL porting kit" contained a version of the compiler compiled to the simple code, and you had to write a machine code generator for the simple code in whatever tool was to hand (eg basic). That gave you a working BCPL compiler, with which you could write a machine code generator for the complex code - in BCPL.

See

formatting link
for more details than one might reasonably want :-)

(Sigh: I still wish DMR had include VALOF in C ...)

Yup, done it more times than I care to remember!

I forgot about Graham (he and I are both involved in a computer history project)

I concur.

In message , Andrew Gabriel writes

Ask Cynic - he answered dIMM's first post IIRC

Yup, partly why he did it ;-)

Thats what I love/hate about computers. People who understand them & speak a language I simply don't understand.

:-)

Translation:

He wishes that Denis Macalister Richie (co-inventor of the C programming language) had included an operator that carried out the same function as one present in the BCPL programming language called VALOF.

VALOF in an operator which can be used to evaluate an expression and find its result. Often used to define the inner workings of a user defined function in BCPL[1]

[1] Speaking as a non BCPL programmer, this in itself does not sound particularly exciting, but it may be that you can do other clever stuff like evaluate expressions not defined at compile time - something traditionally quite difficult to do in most compiled languages. Perhaps someone could confirm?

Yes.

For example:

let func(x) = valof { /* arbitrary code, including other function calls, leaving final result in (say) a variable called 'fred' */

resultis fred }

Which I'm guessing needs a compiler (or at least subset thereof) in your runtime, hence unpopularity? Definitely not 'C' at all.

(nowadays of course you have scripting languages accessible from your compiled code to do this..)

cheers, clive

Perhaps I am missing your point, but that still looks like a definition of a static function at compile time.

I was thinking more along the lines of "eval" type operators that can parse and evaluate the contents of a string read from file or the UI etc.

Thanks John its clear now. As mud :-)

I thought London Ambulance were bad for acronyms.

No, not at all. Merely syntactic sugar. No penalty whatsoever. It's just another way of expressing a function.

It is. But you can use it in other places:

x = valof { some code }

anywhere in the program.

Uh? Eh? [wakes with start]

not me, I'm a newbie, only been here since the mid-90s :-)

that is when uk.d-i-y started ;-)

Come back Barry Bucknell, all is forgiven.

R.

Maxie, amazing. You have been pestering people for 10 years.

Mine was 18 July 2005.

Your what was 2005?

Two combis made an appearance long before that:

formatting link
before that we had:

formatting link
't know who you posted as before that...

But Google records your famous question

"Is this linear speed in cubic metres per second?"

as having been posted on 12th January 2000.

formatting link

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required