[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] some questions on byte vectors + ports



 | Date: Wed, 27 Jun 2012 14:14:02 -0700
 | From: Alex Shinn <alexshinn@x>
 | 
 | On Wed, Jun 27, 2012 at 2:10 PM, Aubrey Jaffer <agj@x> wrote:
 | >  | Date: Wed, 27 Jun 2012 10:04:21 -0700
 | >  | From: Alex Shinn <alexshinn@x>
 | >  |
 | >  | On Wed, Jun 27, 2012 at 9:52 AM, Aubrey Jaffer <agj@x> wrote:
 | >  | > ...
 | >  | > SLIB provides R4RS/R5RS Scheme code to accomplish these conversions in
 | >  | > a way which is unaffected by host byte-order.  See:
 | >  | > <http://people.csail.mit.edu/jaffer/slib/Byte_002fNumber-Conversions.html#Byte_002fNumber-Conversions>
 | >  |
 | >  | Note this is not truly portable in R4/R5 - you do need read-u8
 | >  | and write-u8 provided by R6/R7.
 | >
 | > The SLIB conversions between numbers and byte-vectors do not require
 | > read-u8 or write-u8.
 | 
 | Oh, I thought you were referring to the I/O operators.  In that
 | case, it's still not portable R4/R5 because these had no portable
 | byte-vectors (without srfi-4 or one of the many array srfi's).

The SLIB default implementation of byte-vectors is as arrays of bytes.
The SLIB default implementation of arrays is portable R4RS/R5RS code
which is included as the example implementation of SRFI-63,
<http://srfi.schemers.org/srfi-63/srfi-63.html>.

The SRFI-63 example code uses records (procedure calls; no macros);
SLIB has a R4RS/R5RS compliant implementation of records at
<http://savannah.gnu.org/cgi-bin/viewcvs/slib/slib/record.scm?rev=HEAD&content-type=text/vnd.viewcvs-markup>

So you see Mr. Shinn, it's R4RS/R5RS-compliance all the way down.

_______________________________________________
Scheme-reports mailing list
Scheme-reports@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports