Hoare, Communicating Sequential Processes, and JCSP

Joe Armstrong joe@REDACTED
Tue Feb 11 20:37:20 CET 2003

On 11 Feb 2003, Luke Gorrie wrote:

> Scott Lystig Fritchie <fritchie@REDACTED> writes:
> > Many thanks to Luke Gorrie for pointing out Hoare's _Communicating
> > Sequential Processes_ (CSP).  That book is hard to find below US$70.
> > I found a copy via Amazon.com for US$50, but the seller had to give me
> > a refund when he discovered that his inventory system lied.  :-(  I
> > managed to find another just yesterday for US$42.  :-)  Hopefully this
> > one will be able to deliver.
> Glad to hear someone bit! To me that's an amazing book, and really
> sums up doing "Erlang as it's supposed to be", by my interpretation at
> least.
> Another oldie that I seriously enjoyed recently was _The Architecture
> of Concurrent Programs_ by Brinch-Hansen. It was published in 1977 and
> describes Concurrent Pascal and three actual tiny special-purpose
> operating systems written in it. Concurrent Pascal uses Monitors for
> communication and synchronization, but the programming style is much
Brinch's book was the inspiration to the SINTRAN III operating system
used by Norsk Data - which you will also recall was used by Tim
Berners-Lee's program ENQUIRE (short for
"Enquire-Within-Upon-Everything") which ran under SINTRAN III - which
in it's turn was a precursor to the WWW.

One other work which influenced Erlang was Dijkstra's idea of guarded
commands - Dijkstra liked *every* alternative in a multi-way branch to
have a guard.

	if .... then ...
	elseif ... then ...
	elseif ... then ...

Is OK, but adding an else

	if .... then ...
	elseif ... then ...
	elseif ... then ...
	else ...

Is not

And thus it was in Erlang 

Dijkstra's guarded commands are a direct antecenent to multiple entry
points to a function.



More information about the erlang-questions mailing list