Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles $Revision: 1.6.2.17 $; site uiucdcsb.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!inuxc!pur-ee!uiucdcsb!grunwald From: grunwald@uiucdcsb.UUCP Newsgroups: net.lang Subject: Re: Path Pascal Release 0.9 Message-ID: <8900024@uiucdcsb.UUCP> Date: Mon, 4-Feb-85 18:29:00 EST Article-I.D.: uiucdcsb.8900024 Posted: Mon Feb 4 18:29:00 1985 Date-Received: Wed, 6-Feb-85 04:13:53 EST References: <8900023@uiucdcsb.UUCP> Lines: 41 Nf-ID: #R:uiucdcsb:8900023:uiucdcsb:8900024:000:993 Nf-From: uiucdcsb!grunwald Feb 4 17:29:00 1985 Path Pascal uses Pascal as (a poor) vechicle for a concurrency language. Pascal was chosen several years ago -- better choices could be made today. It's an extension to Berkeley Pascal, so it has all their faults & extensions as well as ones introduced by combining Path Expressions & processes. A sample program with two processes (producer & consumer) follows. It simply uses a buffer to pass '\0' .. '\127' between the two processes. Very stupid thing to do, but it points out that this isn't intending to be yet another implementation of Pascal. program rw; var buff : object path 1:(write;read) end; (* ye olde path expression *) var datum : char; entry procedure write(x : char); begin datum := x; end; entry funciton read : char; begin read := datum; end; end (* object *); process producer; var i : integer; begin for i := 0 to 127 do buff.write(chr(i)); end; process consumer; begin while (ord(buff.read) != 127) do ; end; begin producer; consumer; end.