Last call
Takashi Kato
(30 Jun 2013 07:00 UTC)
|
Re: Last call
Per Bothner
(30 Jun 2013 07:46 UTC)
|
Re: Last call
Takashi Kato
(30 Jun 2013 08:35 UTC)
|
Re: Last call
Per Bothner
(30 Jun 2013 15:47 UTC)
|
Re: Last call
Takashi Kato
(30 Jun 2013 17:01 UTC)
|
Re: Last call
Per Bothner
(30 Jun 2013 17:19 UTC)
|
Re: Last call
Takashi Kato
(30 Jun 2013 17:47 UTC)
|
Re: Last call Per Bothner (30 Jun 2013 18:04 UTC)
|
Re: Last call
Takashi Kato
(30 Jun 2013 18:29 UTC)
|
Re: Last call
Per Bothner
(30 Jun 2013 23:11 UTC)
|
Re: Last call
John Cowan
(01 Jul 2013 20:01 UTC)
|
Re: Last call
Shiro Kawai
(30 Jun 2013 09:02 UTC)
|
Re: Last call
Takashi Kato
(30 Jun 2013 09:30 UTC)
|
Re: Last call
Shiro Kawai
(30 Jun 2013 09:54 UTC)
|
Re: Last call
Takashi Kato
(30 Jun 2013 10:27 UTC)
|
Re: Last call
Shiro Kawai
(30 Jun 2013 11:44 UTC)
|
Re: Last call
Takashi Kato
(30 Jun 2013 17:02 UTC)
|
On 06/30/2013 10:46 AM, Takashi Kato wrote: > On 30/06/2013 19:19, Per Bothner wrote: >> No, the issue is not Java, but what a "port" conceptually is >> (or should be): A "port" is a sequence of values, along with a current >> position in that sequence. An "input/output port" is not a sequence - >> it is two sequences, along with two positions. > Probably (or most definitely) I have different opinion about this so I > simply don't understand the point. Here is my understanding and > objection break down; > > * If a "port" is a sequence, then it can be represented by a list (say > list-port) > * "list-port" has a position. > * When reader reads from "list-port", then the position will be > increased. > * Then writer writes (in this case appends) to "list-port", it writes > after the above position. But the write also increases the position. Which means that a subsequent read will skip ahead. > * Position change operation changes the position. True, you can have a "read/modify/write port" but these are closer to array semantics: There is a single sequence of values, and a single position. You normally don't do sequential reads/writes. If you do it's more likely to be: seek; peek; either skip or replace. It's not clear such objects are "ports" - they're more like an array. Regardless, for a socket port there isn't a single sequence of values. If you write to the output side, those bytes do not show up on the input side. If you read from the input sequence, that does not change the current position on the output sequence, and vice versa. > This might not be the case for a "socket port" so that socket has real bidirectional IO. Right: A "socket port" is not a port; it's two ports. -- --Per Bothner xxxxxx@bothner.com http://per.bothner.com/