Why are byte ports "ports" as such? Ben Goetter (13 Apr 2006 17:54 UTC)
|
||
Re: Why are byte ports "ports" as such?
John Cowan
(13 Apr 2006 18:04 UTC)
|
||
Re: Why are byte ports "ports" as such?
Marc Feeley
(13 Apr 2006 21:41 UTC)
|
||
Re: Why are byte ports "ports" as such?
John Cowan
(14 Apr 2006 12:49 UTC)
|
||
Re: Why are byte ports "ports" as such?
Marc Feeley
(14 Apr 2006 13:37 UTC)
|
||
Re: Why are byte ports "ports" as such?
Marc Feeley
(13 Apr 2006 22:03 UTC)
|
||
Re: Why are byte ports "ports" as such?
Ben Goetter
(14 Apr 2006 01:02 UTC)
|
||
Re: Why are byte ports "ports" as such?
Marc Feeley
(14 Apr 2006 01:52 UTC)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
Re: Why are byte ports "ports" as such?
John Cowan
(24 May 2006 16:06 UTC)
|
||
(missing)
|
||
(missing)
|
||
Re: Why are byte ports "ports" as such?
Thomas Bushnell BSG
(24 May 2006 16:26 UTC)
|
||
Re: Why are byte ports "ports" as such?
John Cowan
(24 May 2006 17:18 UTC)
|
||
Re: Why are byte ports "ports" as such?
Marc Feeley
(24 May 2006 18:11 UTC)
|
||
(missing)
|
||
(missing)
|
||
Re: Why are byte ports "ports" as such?
Marcin 'Qrczak' Kowalczyk
(24 May 2006 16:17 UTC)
|
||
Re: Why are byte ports "ports" as such?
John Cowan
(14 Apr 2006 12:26 UTC)
|
If you separate byte ports from character ports, and separate input ports from output ports (at least at the API level), you get an easily type-checked interface. e.g. open-input-file string [encoding keywords] -> input-character-port read-char input-char-port -> character open-input-file-raw string -> input-byte-port read-byte input-byte-port -> integer For your bidi ports, perhaps open-input-output-file string [encoding keywords] -> input-char-port output-char-port with the two ports sharing common buffer structure in the implementation. Often one needs to open a file or a structure initially as a byte port, then decode subsequent sections of the sequence as characters of a particular encoding. For that, a procedure like cook-input-encoding integer input-byte-port [encoding keywords] -> input-char-port can return a port that promises to decode a certain number of octets from the backing byte port with your encoding. It does't handle variable-length structures well, though. I like your read-substring and write-substring.