Hoare, Communicating Sequential Processes, and JCSP

Michael Fogeborg micke@REDACTED
Tue Feb 11 21:14:27 CET 2003


I enjoyed working at Norsk Data.  I miss those days...
Kind of amazing seeing a reference to SINTRAN here !!!
I wonder how Erlang would have executed on the 500(0)series
CISC architecture...  having its own microcode..
like they did it on the Lisp-machine Norsk-Racal(?)

----- Original Message -----
From: "Joe Armstrong" <joe@REDACTED>
To: "Luke Gorrie" <luke@REDACTED>
Cc: <erlang-questions@REDACTED>
Sent: Tuesday, February 11, 2003 8:37 PM
Subject: Re: Hoare, Communicating Sequential Processes, and JCSP


> 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.
>
> Thus
> if .... then ...
> elseif ... then ...
> elseif ... then ...
> end.
>
> Is OK, but adding an else
>
> if .... then ...
> elseif ... then ...
> elseif ... then ...
> else ...
> end.
>
> Is not
>
> And thus it was in Erlang
>
> Dijkstra's guarded commands are a direct antecenent to multiple entry
> points to a function.
>
> >
>
> /Joe
>
>
>
>
>
>




More information about the erlang-questions mailing list