The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: arnold@skeeve.com
To: kenbob@gmail.com, bakul@iitbombay.org
Cc: tuhs@minnie.tuhs.org, eugene@soe.ucsc.edu
Subject: Re: [TUHS] A New History of Modern Computing - my thoughts
Date: Mon, 29 Nov 2021 00:46:56 -0700	[thread overview]
Message-ID: <202111290746.1AT7kudb001037@freefriends.org> (raw)
In-Reply-To: <E4D6B279-07DD-40B5-84C4-432D1E75CABD@iitbombay.org>

Bakul Shah <bakul@iitbombay.org> wrote:
> Was B, or rather BCPL, influenced by Algol68? It too had
> 	<var> <op>:= <value>
> as a shorthand for
> 	<var> := <var> op <value>
> Its declaration
> 	<type> <name>
> is the same as in C. Though in A68 this was a shorthand for
> 	ref <type> <name> = loc <type>

I don't know if it was purposeful or not, but Algol 68 had the notion
of deproceduring - i.e. function call, which seems to have carried over
into C where the name of function is a pointer to it. You can do

	void myproc();
	void (*functptr) = myproc;
	...
	funcptr()

to call through the pointer.  (Even though the K&R book taught us
to use (*funcptr)(), the syntax above worked at least as far back
as PCC.)

Did C pick this up from Algol 68? I have no idea, but it would not
surprise me if it had.

Arnold

  reply	other threads:[~2021-11-29  7:49 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-28 20:26 Jon Steinhart
2021-11-28 21:07 ` Rob Pike
2021-11-28 21:15   ` Jon Steinhart
2021-11-28 21:31     ` Ken Thompson
2021-11-28 21:47       ` Jon Steinhart
2021-11-28 22:17         ` Rob Pike
2021-11-29  0:19           ` Clem Cole
2021-11-29  1:12             ` Larry McVoy
2021-11-29  2:23               ` Bakul Shah
2021-11-30 19:27                 ` Ralph Corderoy
2021-12-01  8:46                   ` Rich Morin
2021-12-01 12:28                     ` Al Kossow
2021-11-30  3:18               ` Larry McVoy
2021-11-29  1:18             ` George Michaelson
2021-11-29  1:36             ` Bakul Shah
2021-11-29  1:47       ` Bakul Shah
2021-11-29  7:46         ` arnold [this message]
2021-11-29  7:52           ` arnold
2021-11-29 14:44             ` Larry McVoy
2021-11-29 12:11         ` Michael Kjörling
2021-11-28 21:23   ` Thomas Paulsen
2021-11-28 21:39     ` Steve Nickolas
2021-11-28 22:41       ` Ron Natalie
2021-11-28 21:40   ` Larry McVoy
2021-11-29 15:37 ` Phil Budne
2021-11-28 23:12 Noel Chiappa
2021-11-28 23:35 ` Adam Thornton
2021-11-29  1:53   ` John Cowan
2021-11-29 13:48   ` Dan Halbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202111290746.1AT7kudb001037@freefriends.org \
    --to=arnold@skeeve.com \
    --cc=bakul@iitbombay.org \
    --cc=eugene@soe.ucsc.edu \
    --cc=kenbob@gmail.com \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).